Results 1 - 10
of
23
Automatic verification of finite-state concurrent systems using temporal logic specifications
- ACM Transactions on Programming Languages and Systems
, 1986
"... We give an efficient procedure for verifying that a finite-state concurrent system meets a specification expressed in a (propositional, branching-time) temporal logic. Our algorithm has complexity linear in both the size of the specification and the size of the global state graph for the concurrent ..."
Abstract
-
Cited by 1085 (57 self)
- Add to MetaCart
We give an efficient procedure for verifying that a finite-state concurrent system meets a specification expressed in a (propositional, branching-time) temporal logic. Our algorithm has complexity linear in both the size of the specification and the size of the global state graph for the concurrent system. We also show how this approach can be adapted to handle fairness. We argue that our technique can provide a practical alternative to manual proof construction or use of a mechanical theorem prover for verifying many finite-state concurrent systems. Experimental results show that state machines with several hundred states can be checked in a matter of seconds.
Temporal and modal logic
- HANDBOOK OF THEORETICAL COMPUTER SCIENCE
, 1995
"... We give a comprehensive and unifying survey of the theoretical aspects of Temporal and modal logic. ..."
Abstract
-
Cited by 1009 (14 self)
- Add to MetaCart
We give a comprehensive and unifying survey of the theoretical aspects of Temporal and modal logic.
Systematic Concurrent Object-Oriented Programming
- COMMUNICATIONS OF THE ACM
, 1993
"... Judging by the looks of the two parties, the marriage between concurrent computation and object-oriented programminga union much desired by practitioners in such fields as telecommunications, high-performance computing, banking and operating systems- appears easy enough to arrange. This appearance, ..."
Abstract
-
Cited by 103 (1 self)
- Add to MetaCart
Judging by the looks of the two parties, the marriage between concurrent computation and object-oriented programminga union much desired by practitioners in such fields as telecommunications, high-performance computing, banking and operating systems- appears easy enough to arrange. This appearance, however, is deceptive: the problem is a hard one. This article points the way toward a possible solution. The precise problem examined here is restricted to: What is the smallest, smallest and most convincing extension to the method of systematic object-oriented software construction that can address the need of concurrent and distributed computinng as well as those of sequential computations? The article does not claim to discuss concurrency and distribution in a general and unbiased way
Strategies for Temporal Resolution
, 1995
"... Verifying that a temporal logic specification satisfies a temporal property requires some form of theorem proving. However, although proof procedures exist for such logics, many are either unsuitable for automatic implementation or only deal with small fragments of the logic. In this thesis the algo ..."
Abstract
-
Cited by 79 (40 self)
- Add to MetaCart
Verifying that a temporal logic specification satisfies a temporal property requires some form of theorem proving. However, although proof procedures exist for such logics, many are either unsuitable for automatic implementation or only deal with small fragments of the logic. In this thesis the algorithms for, and strategies to guide, a fully automated temporal resolution theorem prover are given, proved correct and evaluated. An approach to applying resolution, a proof method for classical logics suited to mechanisation, to temporal logics has been developed by Fisher. The method involves translation to a normal form, classical style resolution within states and temporal resolution over states. It has only one temporal resolution rule and is therefore particularly suitable as the basis of an automated temporal resolution theorem prover. As the application of the temporal resolution rule is the most costly part of the method, involving search amongst graphs, different algorithms on w...
Automated Temporal Reasoning about Reactive Systems
, 1996
"... . There is a growing need for reliable methods of designing correct reactive systems such as computer operating systems and air traffic control systems. It is widely agreed that certain formalisms such as temporal logic, when coupled with automated reasoning support, provide the most effective a ..."
Abstract
-
Cited by 37 (2 self)
- Add to MetaCart
. There is a growing need for reliable methods of designing correct reactive systems such as computer operating systems and air traffic control systems. It is widely agreed that certain formalisms such as temporal logic, when coupled with automated reasoning support, provide the most effective and reliable means of specifying and ensuring correct behavior of such systems. This paper discusses known complexity and expressiveness results for a number of such logics in common use and describes key technical tools for obtaining essentially optimal mechanical reasoning algorithms. However, the emphasis is on underlying intuitions and broad themes rather than technical intricacies. 1 Introduction There is a growing need for reliable methods of designing correct reactive systems. These systems are characterized by ongoing, typically nonterminating and highly nondeterministic behavior. Examples include operating systems, network protocols, and air traffic control systems. There is w...
A New Approach for the Verification of Cache Coherence Protocols
, 1993
"... In this paper, we introduce a cache protocol verification technique based on a symbolic state expansion procedure. A global FSM (Finite State Machine) model characterizing the protocol behavior is built and protocol verification becomes equivalent to finding whether or not the global FSM may enter e ..."
Abstract
-
Cited by 33 (6 self)
- Add to MetaCart
In this paper, we introduce a cache protocol verification technique based on a symbolic state expansion procedure. A global FSM (Finite State Machine) model characterizing the protocol behavior is built and protocol verification becomes equivalent to finding whether or not the global FSM may enter erroneous states. In order to reduce the complexity of the state expansion process, all the caches in the same state are grouped into an equivalence class and the number of caches in the class is symbolically represented by a repetition constructor. This symbolic representation is partly justified by the symmetry and homogeneity of cache-based systems. However, the key idea behind the representation is to exploit a unique property of cache coherence protocols: the fact that protocol correctness is not dependent on the exact number of cached copies. Rather, symbolic states only need to keep track of whether the caches have 0, 1 or multiple copies. The resulting symbolic state expansion process...
Search Strategies for Resolution in Temporal Logics
- Proceedings of the Thirteenth International Conference on Automated Deduction (CADE
, 1996
"... . In this paper we give and evaluate the algorithms for a fully automated temporal resolution theorem prover. An approach to applying resolution, a proof method for classical logics suited to mechanisation, to temporal logics has been developed by Fisher. As the application of the temporal resolutio ..."
Abstract
-
Cited by 22 (11 self)
- Add to MetaCart
. In this paper we give and evaluate the algorithms for a fully automated temporal resolution theorem prover. An approach to applying resolution, a proof method for classical logics suited to mechanisation, to temporal logics has been developed by Fisher. As the application of the temporal resolution rule is the most costly part of the method, involving search amongst graphs, we propose different algorithms on which to base an implementation. The paper concludes with a comparison of their performance. 1 Introduction Temporal logics have been used extensively for the specification and verification of properties of concurrent systems, see for example [Hai82, Lam83, MP92]. However proof procedures for such logics have tended to be tableau [Wol85, Gou84] or automata [VW86] based rather than based on resolution [Rob65]. In many cases the resolution based decision procedures that have been developed for temporal logics [CdC84, Ven86, AM90] are unsuitable for implementation because they only...
Extending Statecharts With Temporal Logic
"... Statecharts is a behavioural specification language for the specification of real-time event driven reactive systems. Recently, statecharts was related to a logical specification language, using which safety and liveness properties could be expressed# this language provides a compositional proof ..."
Abstract
-
Cited by 16 (1 self)
- Add to MetaCart
Statecharts is a behavioural specification language for the specification of real-time event driven reactive systems. Recently, statecharts was related to a logical specification language, using which safety and liveness properties could be expressed# this language provides a compositional proof system for statecharts. However, the logical specification language is flat, with no facilities to account for the structure of statecharts; further, the primitives of this language are dependent on statecharts syntax, and cannot be related directly to the problem domain. This paper discusses a temporal logic-based specification language called FNLOG which addresses these problems.
Temporal Resolution using a Breadth-First Search Algorithm
, 1998
"... this paper we present a breadth-rst search style algorithm which enables practical implementation of the resolution method for temporal logics developed by Fisher [15]. Fisher's method has been shown correct [36], deals with the full range of past and futuretime temporal operators and has only one t ..."
Abstract
-
Cited by 16 (11 self)
- Add to MetaCart
this paper we present a breadth-rst search style algorithm which enables practical implementation of the resolution method for temporal logics developed by Fisher [15]. Fisher's method has been shown correct [36], deals with the full range of past and futuretime temporal operators and has only one temporal resolution rule making it suitable for mechanisation. The resolution procedure is characterised by translation to a normal form, the application of a classical style resolution rule to derive contradictions that occur at the same point in time (termed step resolution), together with a new resolution rule, which derives contradictions over temporal sequences (termed temporal resolution). As it is the latter that is the most expensive part of the algorithm, involving search through graphs, as well as the most novel, it is on the application of the temporal resolution rule that we concentrate. We suggest a breadth-rst search approach to the application of the temporal resolution rule and through analysis of its operation and output, explain why it is an improvement on search mechanisms suggested previously [12]
A Temporal Logic Approach to Object Certification
- Data & Knowledge Engineering
, 1996
"... A brief overview is made of the use of temporal logic formalisms for specifying and verifying concurrent systems in general and information systems in particular. The requirements imposed by object-orientation on such formalisms are examined. A logic is proposed fulfilling those requirements (except ..."
Abstract
-
Cited by 15 (7 self)
- Add to MetaCart
A brief overview is made of the use of temporal logic formalisms for specifying and verifying concurrent systems in general and information systems in particular. The requirements imposed by object-orientation on such formalisms are examined. A logic is proposed fulfilling those requirements (except concerning non-monotonic features), allowing the uniform treatment of both local and global properties of systems with concurrent, interacting components organized in classes, and supporting specialization. A semantics and a calculus (following an axiomatic, Hilbert style) are presented in detail. The calculus includes rules for the sound inheritance and reflection of theorems between classes. Practical aspects of the usage of such a logic for both specification and verification are considered. To this end a set of metatheorems is provided for expediting the proof of invariants. Finally, the need and availability of automatic theorem proving for systems querying is briefly discussed. Key wo...

