Reasoning about systems with many processes
- 1 July 1992
- journal article
- Published by Association for Computing Machinery (ACM) in Journal of the ACM
- Vol. 39 (3) , 675-735
- https://doi.org/10.1145/146637.146681
Abstract
Methods are given for automatically verifying temporal properties of concurrent systems containing an arbitrary number of finite-state processes that communicate using CCS actions. TWo models of systems are considered. Systems in the first model consist of a unique control process and an arbitrary number of user processes with identical definitions. For this model, a decision procedure to check whether all the executions of a process satisfy a given specification is presented. This algorithm runs in time double exponential in the sizes of the control and the user process definitions. It is also proven that it is decidable whether all the fair executions of a process satisfy a given specification. The second model is a special case of the first. In this model, all the processes have identical definitions. For this model, an efficient decision procedure is presented that checks if every execution of a process satisfies a given temporal logic specification. This algorithm runs in time polynomial in the size of the process definition. It is shown how to verify certain global properties such as mutual exclusion and absence of deadlocks. Finally, it is shown how these decision procedures can be used to reason about certain systems with a communication network.Keywords
This publication has 10 references indexed in Scilit:
- The complementation problem for Büchi automata with applications to temporal logicTheoretical Computer Science, 1987
- Limits for automatic verification of finite-state concurrent systemsInformation Processing Letters, 1986
- Automatic verification of finite-state concurrent systems using temporal logic specificationsACM Transactions on Programming Languages and Systems, 1986
- A multiparameter analysis of the boundedness problem for vector addition systemsJournal of Computer and System Sciences, 1986
- The complexity of propositional linear temporal logicsJournal of the ACM, 1985
- A multiprocess network logic with temporal and spatial modalitiesJournal of Computer and System Sciences, 1985
- Deciding full branching time logicInformation and Control, 1984
- The covering and boundedness problems for vector addition systemsTheoretical Computer Science, 1978
- Relationships between nondeterministic and deterministic tape complexitiesJournal of Computer and System Sciences, 1970
- Parallel program schemataJournal of Computer and System Sciences, 1969