Proving liveness for networks of communicating finite state machines

  • Authors:
  • Mohammed G. Gouda;Chung-Kuo Chang

  • Affiliations:
  • Univ. of Texas at Austin, Austin;Univ. of Texas at Austin, Austin

  • Venue:
  • ACM Transactions on Programming Languages and Systems (TOPLAS) - The MIT Press scientific computation series
  • Year:
  • 1986

Quantified Score

Hi-index 0.00

Visualization

Abstract

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.