Adding liveness properties to coupled finite-state machines
- 1 April 1990
- journal article
- Published by Association for Computing Machinery (ACM) in ACM Transactions on Programming Languages and Systems
- Vol. 12 (2) , 303-339
- https://doi.org/10.1145/78942.78948
Abstract
Informal specifications of protocols are often imprecise and incomplete and are usually not sufficient to ensure the correctness of even very simple protocols. Consequently, formal specification methods, such as finite-state models, are increasingly being used. The selection/resolution (S/R) model is a finite-state model with a powerful communication mechanism that makes it easy to describe complex protocols as a collection of simple finite-state machines. A software environment, called SPANNER, has been developed to specify and analyze protocols specified with the S/R model. SPANNER provides the facility to compute the joint behavior of a number of finite-state machines and to check if the “product” machine has inaccessible states, states corresponding to deadlocks, and loops corresponding to livelocks. So far, however, SPANNER has had no facility to systematically deal with liveness conditions. For example, one might wish to specify that, although a communication channel is unreliable, a message will get through if it is sent infinitely often, and to check that the infinite behavior of the protocol viewed as an infinite sequence will always be in some ω-regular set (possibly specified in terms of a formula in temporal logic or as an ω-automata). In this paper we show that with very minor modifications to the implemented system it is possible to substantially extend the type of properties that can be specified and checked by SPANNER. This is done by extending the S/R model to include acceptance conditions found in automatons on infinite words, which permits the incorporation of arbitrary liveness conditions into the model. We show how these extensions can be easily incorporated into SPANNER (and into essentially any finite-state verification system) and how the resulting system is used to automatically verify the correctness of protocols.Keywords
This publication has 9 references indexed in Scilit:
- Verification of concurrent programs: Temporal proof principlesPublished by Springer Nature ,2005
- Simulation analysis of protocols in an integrated software environmentComputer Networks and ISDN Systems, 1989
- A software environment for the specification and analysis of problems of coordination and concurrencyIEEE Transactions on Software Engineering, 1988
- Spanner: A Tool for the Specification, Analysis, and Evaluation of ProtocolsIEEE Transactions on Software Engineering, 1987
- Automatic verification of finite-state concurrent systems using temporal logic specificationsACM Transactions on Programming Languages and Systems, 1986
- Synthesis of Communicating Processes from Temporal Logic SpecificationsACM Transactions on Programming Languages and Systems, 1984
- Temporal logic can be more expressiveInformation and Control, 1983
- A note on reliable full-duplex transmission over half-duplex linksCommunications of the ACM, 1969
- Testing and generating infinite sequences by a finite automatonInformation and Control, 1966