An efficient tool for system-level verification of behaviors and temporal properties (original) (raw)
Related papers
An action-based framework for veryfying logical and behavioural properties of concurrent systems
Computer Networks and ISDN Systems, 1993
A system is described which supports proofs of both behavioural and logical properties of concurrent systems; these are specified by means of a process algebra and its associated logics. The logic is an action based version of the branching time logic CTL which we call ACTL; it is interpreted over transition labelled structures while CTL is interpreted over state labelled ones. The core of the system are two existing tools, AUTO and EMC. The f'wst builds the labelled transition system corresponding to a term of a process algebra and permits proof of equivalence and simplification of terms, while the second chocks validity of CTL logical formulae. The integration is realized by memos of two translation functions from the action based branching time logic ACTL to CTL and from transition-labelled to state-labelled structures. The correctness of the integration is guaranteed by the proof that the two functions when coupled preserve satisfiability of logical formulae.
Verification of Temporal Properties of Concurrent Systems
DAIMI Report Series, 1993
This thesis is concerned with the verification of concurrent systems modelled by process algebras. It provides methods and techniques for reasoning about temporal properties as described by assertions from an expressive modal logic -- the modal µ-calculus. It describes a compositional approach to model checking, efficient local and global algorithms for model checking finite-state systems, a general local fixed-point finding algorithm, a proof system for model checking infinite-state systems, a categorical completeness result for an intuitionistic version of the modal µ-calculus, and finally it shows some novel applications of the logic for expressing behavioural relations.
An Expressive Verification Framework for State/Event
Specification languages for concurrent software systems need to combine practical algorithmic efficiency with high expressive power and the ability to reason about both states and events. We address this question by defining a new branching-time temporal logic SE-AΩ which integrates both state-based and action-based properties. SE-AΩ is universal, i.e., preserved by the simulation relation, and thus amenable to counterexample-guided abstraction refinement. We provide a model-checking algorithm for this logic, and describe a compositional abstraction-refinement loop which exploits the natural decomposition of the concurrent system; the abstraction and refinement steps are performed over each component separately, and only the model checking step requires an explicit composition of the abstracted components. For experimental evaluation, we have integrated the presented algorithms in the software verification tool MAGIC, and determined a previously unknown race condition error in a piece of an industrial robot control software. sets Ω of ω-regular path operators. A subtle property of AΩ is the monotonicity of the path operators: the semantics guarantees that the extended path operators cannot be used to implicitly define negation. While this property comes for free with the standard temporal path operators, its presence is crucial for obtaining extended universal branching logics. Such logics are preserved by simulation, and are therefore amenable to existential abstraction .
Merging state-based and action-based verification
Third International Conference on Application of Concurrency to System Design, 2003. Proceedings., 2003
A formalism is presented that is intended to combine basic properties of both state-based and action-based verification. In state-based verification the behaviour of the system is described in terms of the properties of its states, whereas action-based methods concentrate on transitions between states. A typical state-based approach consists of representing requirements as temporal logic formulae, and model-checking the state space of the system against them. Action-based verification often consists of comparing systems according to some equivalence or preorder relation.
Electronic Notes in Theoretical Computer Science, 1998
In this paper, we present an approach to speci cation, veri cation and validation of concurrent time-dependent systems which is centered on a timed process algebra language, called RTL (for real time LOTOS). Our approach is supported by a tool named RTL-Analyzer, that allows automatic veri cation and validation of RTL speci cations. RTL is a temporal extension of basic LOTOS language which expresses and handles temporal constraints associated with actions. First, we present and justify the use of RTL to specify concurrent time-dependent systems. Then, the main characteristics and functionalities of the RTL-Analyzer are presented with details for systems veri cation and validation using our approach. An example of a time-dependent system is given and it is speci ed and analyzed by our tool. Finally, we compare our approach with others proposed in the literature.
2010
Following the development of formalisms based on data and behavioural aspects of the system, there are number of attempts in which these two formalisms are mixed together to get benefit of both paradigms. 'Circus' being a living specification language with continuous collaboration from both academia and industry, is a combination of Z, CSP and the refinement calculus. To make use of the available and industry-proven tools for a particular programming paradigm, there is a need to develop a formally verified link between the one world and the other. The aim of this work is to develop a formally verified link between a state-rich process algebra i.e. 'Circus' to a state-free process algebra i.e. CSP. To achieve the research goal, the most suitable available tools are to identify. For developing link between targeted formal languages, we will identify the key translations required between the two languages. For ensuring correctness of the translation, we will formalise the key translation / refinement steps. These will form the theoretical core of the work and support the soundness of the link. In the end, we will select and verify a case study from the collection of software / hardware protocols.
Reasoning about Nondeterministic and Concurrent Actions: A Process Algebra Approach
In this paper, we study reasoning about actions fol- lowing a model checlcing approach in contrast to the usual validity checlcing one. Specifically, we model a dynamic system as a transition graph which represents all the possible system evolutions in terms of state changes caused by actions. Such a transition graph is defined by means of a suitable process algebra asso- ciated with an explicit global store. To reason about system properties we introduce an extension of modal p-calculus. This setting, although directly applica- ble only when complete information on the system is available, has several interesting features for reasoning about actions. On one hand, it inherits from the vast literature on process algebras tools for dealing with complex systems, treating suitably important aspects like parallelism, communications, interruptions, coor- dinations among agents. On the other hand, reasoning by model checking is typically much easier than more general logical services such ...
Verification of temporal properties in concurrent systems
2003
Rapid growth of distributed systems stimulates many attempts to describe precisely the behavior of concurrent systems. The target of the research is to model complex systems, to automatically generate an executable code from abstract models, and to check the correctness of concurrent systems. In this thesis, a new concept of concurrent system verification is presented. The idea is based on building a new version of CTL temporal logic (QsCTL) over reachability graphs of systems defined by concurrent automata CSM. The proposed method is addressed to verify control-dominated systems. Many questions on concurrent system behavior may be asked easier in QsCTL than in traditional CTL. An original algorithm CBS (Checking By Spheres) for automatic evaluation of temporal formulas in this logic is presented. Another algorithm of state space reduction is designed. The presented ideas are implemented in TempoRG program, the element of the COSMA environment developed in ICS, WUT. The purpose of COSMA is to integrate formal verification methodology with concurrent systems design environment. The formulated theoretical concepts are illustrated with several examples concerning verification processes including quite complex industrial system.
Specifying and Verifying Systems of Communicating Agents in a Temporal Action Logic
Lecture Notes in Computer Science, 2003
In this paper we develop a logical framework for specifying and verifying systems of communicating agents. The framework is based on a Dynamic Linear Time Temporal Logic (DLTL). It provides a simple formalization of the communicative actions in terms of their effects and preconditions and the specification of an interaction protocol by means of temporal constraints. We adopt a social approach to agent communication (as proposed by Singh): communication can be described in terms of changes in the social relations between participants, and protocols in terms of creation, manipulation and satisfaction of commitments among agents. The description of the interaction protocol and of communicative actions is given in a temporal action theory, and agent programs, when known, can be specified as complex actions (regular programs in DLTL). The paper addresses several kinds of verification problems (including the problem of compliance of agents to the protocol), which can be formalized either as validity or as satisfiability problems in the temporal logic and can be solved by model checking techniques. 1 A closely related approach was proposed by Labrou and Finin [15] to define a semantics for KQML.