ACM Transactions on Programming Languages and Systems · 1986 · 46 citations · 18 references
ComputingComputer ScienceComputer SystemsComputer NetworksDistributed SystemsFormal MethodsCommunication NetworksDistributed ComputingNetwork ProtocolsCommunication ProtocolsFairness ConditionsFairness PropertiesFairness VerificationLiveness AnalysisNetwork VerificationWireless Local Area Networks
Consider a network of communicating finite state machines that exchange messages over unbounded FIFO channels. Each machine in the network can be defined by a directed graph whose nodes represent the machine states and whose edges represent its transitions. In general, for a node in one of the machines to be live (i.e., encountered infinitely often during the course of communication), each machine in the network should progress in some fair fashion. We define three graduated notions of fair progress (namely, node fairness, edge fairness, and network fairness), and on this basis we define three corresponding degrees of node liveness. We discuss techniques to verify that a given node is live under each of these fairness assumptions. These techniques can be automated; and they are effective even if the network under consideration has an infinite number of reachable states. We use our techniques to establish the liveness of some practical communication protocols; these include an unbounded start-stop protocol, an unbounded alternating bit protocol, and a simplified version of the CSMA/CD protocol for local area networks.
18
The temporal logic of programs
Amir Pnueli · 1977 · 5.7K citations
Robert M. Metcalfe, David R. Boggs · Communications of the ACM · 1983 · 1.5K citations · Full text
Robert M. Metcalfe, David R. Boggs · Communications of the ACM · 1976 · 1.2K citations · Full text
On Communicating Finite-State Machines
Daniël Brand, P. Zafiropulo · Journal of the ACM · 1983 · 1.1K citations · Full text