Closed Covers: To Verify Progress for Communicating Finite State Machines
- 1 November 1984
- journal article
- Published by Institute of Electrical and Electronics Engineers (IEEE) in IEEE Transactions on Software Engineering
- Vol. SE-10 (6) , 846-855
- https://doi.org/10.1109/tse.1984.5010313
Abstract
Consider communicating finite state machines which exchange messages over unbounded FIFO channels. We discuss a technique to verify that the communication between a given pair of such machines will progress indefinitely; this implies that the communication is free from deadlocks and unspecified receptions. The technique is based on finding a set of global states for the communicating pair such that the following two conditions (along with other conditions) are satisfied: 1) the initial global state is in that set; and 2) starting from any global state in that set, an ``acyclic version'' of the communicating pair must reach a global state in that set. We call such a set a closed cover, and show that the existence of a closed cover for a communicating pair is sufficient to guarantee indefinite communication progress. We also show that in many practical instances, if the communication is guaranteed to progress indefinitely, then the existence of a closed cover is necessary.Keywords
This publication has 12 references indexed in Scilit:
- Synthesis of Communicating Finite-State Machines with Guaranteed ProgressIEEE Transactions on Communications, 1984
- A technique for proving liveness of communicating finite state machines with examplesPublished by Association for Computing Machinery (ACM) ,1984
- Unboundedness detection for a class of communicating finite-state machinesInformation Processing Letters, 1983
- On Communicating Finite-State MachinesJournal of the ACM, 1983
- On the Construction of Submodule Specifications and Communication ProtocolsACM Transactions on Programming Languages and Systems, 1983
- Deadlock Detection for a Class of Communicating Finite State MachinesIEEE Transactions on Communications, 1982
- A locking protocol for resource coordination in distributed databasesACM Transactions on Database Systems, 1980
- Towards Analyzing and Synthesizing ProtocolsIEEE Transactions on Communications, 1980
- Finite state description of communication protocolsComputer Networks (1976), 1978
- An Automated Technique of Communications Protocol ValidationIEEE Transactions on Communications, 1978