Results 1 
8 of
8
The concurrency workbench: A semantics based tool for the verification of concurrent systems
 In Proceedings of the Workshop on Automatic Verification Methods for Finite State Machines
, 1991
"... Abstract The Concurrency Workbench is an automated tool for analyzing networks of finitestate processes expressed in Milner's Calculus of Communicating Systems. Its key feature is its breadth: a variety of different verification methods, including equivalence checking, preorder checking, and model ..."
Abstract

Cited by 102 (3 self)
 Add to MetaCart
Abstract The Concurrency Workbench is an automated tool for analyzing networks of finitestate processes expressed in Milner's Calculus of Communicating Systems. Its key feature is its breadth: a variety of different verification methods, including equivalence checking, preorder checking, and model checking, are supported for several different process semantics. One experience from our work is that a large number of interesting verification methods can be formulated as combinations of a small number of primitive algorithms. The Workbench has been applied to the verification of communications protocols and mutual exclusion algorithms and has proven a valuable aid in teaching and research. 1 Introduction This paper describes the Concurrency Workbench [11, 12, 13], a tool that supports the automatic verification of finitestate processes. Such tools are practically motivated: the development of complex distributed computer systems requires sophisticated verification techniques to guarantee correctness, and the increase in detail rapidly becomes unmanageable without computer assistance. Finitestate systems, such as communications protocols and hardware, are particularly suitable for automated analysis because their finitary nature ensures the existence of decision procedures for a wide range of system properties.
A semanticsbased verification tool for finitestate systems
 IN PROC. OF PROTOCOL SPECIFICATION, TESTING, AND VERIFICATION, IX
, 1990
"... The Concurrency Workbench is an automated tool that caters for the analysis of concurrent finitestate processes expressed in Milner's Calculus of Communicating Systems. Its key feature is its scope: a variety of different verification methods, including equivalence checking, preorder checking, and ..."
Abstract

Cited by 12 (3 self)
 Add to MetaCart
The Concurrency Workbench is an automated tool that caters for the analysis of concurrent finitestate processes expressed in Milner's Calculus of Communicating Systems. Its key feature is its scope: a variety of different verification methods, including equivalence checking, preorder checking, and model checking, are supported for several different process semantics. One experience from our work is that a large number of interesting verification methods can be formulated as combinations of a small number of primitive algorithms. The Workbench has been applied to examples involving the verification of communications protocols and mutual exclusion algorithms and has proven a valuable aid in teaching and research. We will present the architecture of the Workbench and illustrate the verification methods through some simple examples.
Selective mucalculus: New Modal Operators for Proving Properties on Reduced Transition Systems
 In Proceedings of FORTE X/PSTV XVII '97. Chapman
, 1997
"... In model checking for temporal logic, the correctness of a (concurrent) system with respect to a desired behavior is verified by checking whether a structure that models the system satisfies a formula describing the behaviour. Most existing verification techniques, and in particular those defined fo ..."
Abstract

Cited by 8 (7 self)
 Add to MetaCart
In model checking for temporal logic, the correctness of a (concurrent) system with respect to a desired behavior is verified by checking whether a structure that models the system satisfies a formula describing the behaviour. Most existing verification techniques, and in particular those defined for concurrent calculi like as CCS, are based on a representation of the concurrent system by means of a labelled transition system. In this approach to verification, state explosion is one of the most serious problems. In this paper we present a new temporal logic, the selective mucalculus, with the property that only the actions occurring in a formula are relevant to check the formula itself. We prove that the selective mucalculus is as powerful as the mucalculus. We define the notion of aebisimulation between transition systems: given a set of actions ae, a transition system aebisimulates another one if they have the same behaviour with respect to the actions in ae. We prove that, if t...
Unfold/Fold Transformations of Concurrent Processes
 Proc. 8th Int'l Symp. on Programming Languages: Implementations, Logics and Programs
, 1996
"... Program transformation is a technique for obtaining, starting from a program P, a semantically equivalent one, which is "better" than P with respect to a particular goal. Traditionally, the main goal of program transformation was obtaining more efficient programs, but, in general, this technique can ..."
Abstract

Cited by 4 (0 self)
 Add to MetaCart
Program transformation is a technique for obtaining, starting from a program P, a semantically equivalent one, which is "better" than P with respect to a particular goal. Traditionally, the main goal of program transformation was obtaining more efficient programs, but, in general, this technique can be used to produce programs written in a syntactic form satisfying some properties. Program transformation techniques have been extensively studied in the framework of functional and logic languages, where they were applied mainly to obtain more efficient and readable programs. All these works are based on the Unfold/Fold program transformation method developed by Burstall and Darlington in the context of their recursive equational language. The use of Unfold /Fold based transformations for concurrent languages is a relevant issue that has not yet received an adequate attention. In fact the existing proposals of transformations of concurrent programs are not based on a general Unfold/Fold transformation theory. The aim of this paper is to define such a theory for the concurrent calculus CCS and to prove it correct. 1
Selective mucalculus and FormulaBased Equivalence of Transition Systems
, 1999
"... this paper we present a new temporal logic, the selective mucalculus, and an equivalence between transition systems based on the formulae of this logic. This property preserving equivalence can be used to reduce the size of transition systems. The equivalence (called ae ..."
Abstract

Cited by 3 (3 self)
 Add to MetaCart
this paper we present a new temporal logic, the selective mucalculus, and an equivalence between transition systems based on the formulae of this logic. This property preserving equivalence can be used to reduce the size of transition systems. The equivalence (called ae
CTSM: A Formalism for RealTime System Analysis based on StateSpace Exploration
 Ph.D. Dissertation Proposal
, 1995
"... Traditional approach for analyzing correctness of systems is to identify a set of reachable states and then to analyze this set for verification. This approach is called statespace exploration. Statespace exploration is widely used because it can be easily automated. However verification methods b ..."
Abstract

Cited by 2 (2 self)
 Add to MetaCart
Traditional approach for analyzing correctness of systems is to identify a set of reachable states and then to analyze this set for verification. This approach is called statespace exploration. Statespace exploration is widely used because it can be easily automated. However verification methods based on statespace exploration suffer from state explosion, so they are impractical for verifying systems with large state spaces. We propose a method of statespace reduction to cope with the state explosion, especially that caused by large data space and time space. The statespace reduction is crucial because in general, the complexities of existing algorithms for automatic analysis, e.g., modelchecking, depend on the size of the state space. In this proposal, we use Communicating Timed State Machines(CTSM), a state machine based formal model for describing realtime systems. In CTSM, a system consists of concurrent processes communicating with each other through channels. Each process...
A Program Transformations Methodology for CCS
 In Proceedings of the Fifth Italian Conference of Theoretical Computer Science
, 1995
"... The use of the program transformation methodology has been extensively studied in the framework of functional and logical languages. The aim of this paper is to evaluate the feasibility of a program transformation technique for concurrent programs, and in particular for CCS ones, with the aim of ..."
Abstract

Cited by 1 (1 self)
 Add to MetaCart
The use of the program transformation methodology has been extensively studied in the framework of functional and logical languages. The aim of this paper is to evaluate the feasibility of a program transformation technique for concurrent programs, and in particular for CCS ones, with the aim of obtaining a program which has a "more manageable " syntactic form than the initial one, for example for proving properties of programs. In the paper we define a transformation methodology for CCS based on the "rules + strategies" approach. We first define a set of general "equivalence preserving" rules, which are a specialization, for CCS, of classical program transformation rules, such as Folding and Unfolding. Then we define a class of transformation rules specific for CCS. Finally, we give a strategy, using the defined rules, to transform, if possible, a CCS program into one whose operational semantics is a finite state transition system. The problem is significant, since most of the existing verification environments for CCSlike languages are based on an internal finite state representation of the program. We show that the set of programs for which our strategy succeeds properly contains the set of programs for which other existing methods succeed. 1
Loreto: A Tool For Reducing State Explosion In Verification Of Lotos Programs
"... LOTOS is a formal specification language for concurrent and distributed systems. Basic LOTOS is the version of LOTOS without valuepassing. A widely used approach to verification of temporal properties is model checking. Often, in this approach the formal specification is translated into a labele ..."
Abstract

Cited by 1 (0 self)
 Add to MetaCart
LOTOS is a formal specification language for concurrent and distributed systems. Basic LOTOS is the version of LOTOS without valuepassing. A widely used approach to verification of temporal properties is model checking. Often, in this approach the formal specification is translated into a labeled transition systems on which formulae expressing properties are checked. A problem of this verification technique is state explosion: concurrent systems are often represented by automata with a prohibitive number of states. In this paper we show how, given a set ae of actions, it is possible to automatically obtain for a Basic LOTOS program a reduced transition system to which only the arcs labeled by actions in ae belong. The set ae of actions plays a fundamental role in conjunction with a temporal logic defined by the authors in a previous paper: selective mucalculus. The reduced system with respect to ae preserves the truth value of all selective mucalculus formulae with actions...