On Communicating Finite-State Machines

  title={On Communicating Finite-State Machines},
  author={Daniel Brand and Pitro Zafiropulo},
  journal={J. ACM},
A model of commumcations protocols based on finite-state machines is investigated. The problem addressed is how to ensure certain generally desirable properties, which make protocols "wellformed," that is, specify a response to those and only those events that can actually occur. It is determined to what extent the problem is solvable, and one approach to solving it ts described. Categories and SubJect Descriptors' C 2 2 [Computer-Conununication Networks]: Network Protocols-protocol… 

Figures from this paper

Verifying Programs with Unreliable Channels
The verification of a particular class of infinite-state systems, namely, systems consisting of finite-state processes that communicate via unbounded lossy FIFO channels, is considered and it is shown that several interesting verification problems are decidable by giving algorithms for verifying.
Analysis of a class of communicating finite state machines
These algorithms have polynomial complexity in terms of size of a global structure of a network, called the shuffle-product, and the relationships between general Petri nets and the class of communicating finite state machines considered here are explored.
A technique for proving liveness of communicating finite state machines with examples
This work discusses a technique to verify that a given node is live in a network of communicating finite state machines, and uses this technique to establish the liveness of three distributed solutions to the mutual exclusion problem.
Decidability of the termination problem for completely specified protocols
  • A. Finkel
  • Computer Science, Mathematics
    Distributed Computing
  • 2005
A new class of protocols called completely specified protocols is presented, which are important because they allow for modelling unbounded fifo channels and make it possible to decide the Termination Problem, that is whether the reachability tree is finite or not.
Analysis of Communicating Infinite State Machines using Lattice Automata
This work tackles the problem of the determinization as well as the definition of a widening operator for these automata, and shows that lattice automata are useful for the interprocedural analysis.
A Relational Algebraic Approach to Protocol Verification
A relational approach is proposed to represent a finite-state machine as a transition table so that logical errors of a protocol such as deadlocks, incomplete specifications and nonexecutable interactions can be formulated in terms of relational algebra.
Probabilistic Lossy Channel Systems
This paper proposes to make the model of finite state machines communicating with each other over unbounded FIFO buffers more realistic by modeling the probability of loss in the buffers and provides algorithms for the probabilistic reachability problem and the Probabilistic model-checking (in linear-time PTL) problem.
Data flow analysis of communicating finite state machines
The central technical contribution of this paper is an algorithm to compute approximations to solutions for the ensuing equations that can be used to check that interactions between the processes are free of nonprogress errors.
To correct communicating finite state machines
A new correcting method is proposed for a pair of communicating finite state machines and it is ensured that the communication is perfect and progresses indefinitely i.e deadlock-free, liveness, bounded, and without noexecutable transitions, unspecified receptions.
Safety Verification of Communicating One-Counter Machines
An under-approximative approach to the reachability problem, based on rendezvous synchronization is considered, which extends communicating finite-state machines (CFSM) by infinite-state local processes and an infinite message alphabet.


Verifying network protocols using temporal logic
This paper discusses the application of program verification techniques to protocols and presents tools of concurrent program verification that are especially useful for protocols: history variables that record sequences of input and output values, temporal logic for expressing properties that must hold in a future system state, and module specification and composition rules.
Finite State Description of Communication Protocols
Formal Methods in Communication Protocol Design
This paper surveys the formal methods being applied to the problems of protocol specification, verification, and implementation, including state transition models, program verification, symbolic execution, and design rules.
Verification of Protocols Using Symbolic Execution
A Unified Method for the Specification and Verification of Protocols
A unified model for protocols (and generally cooperating distant subsystems) encompassing both aspects is suggested, which is demonstrated on three different descriptions of the same protocol, with a different tradeoff between state machine and programming aspects.
Specification and Validation of Protocols
  • P. Merlin
  • Computer Science
    IEEE Trans. Commun.
  • 1979
The "topology" of a protocol is defined, and protocols that are intended to work in a variety of configurations, as well as configurations which may change in time (i.e. "evolving topologies").
Towards Analyzing and Synthesizing Protocols
The production of error-free protocols or complex process interactions is essential to reliable communications. This paper presents techniques for both the detection of errors in protocols and for
Protocol Validation by Duologue-Matrix Analysis
A technique is described which identifies design errors in protocols based on modeling a protocol as a pair of interacting graphs whereby interaction sequences are represented by path pairs (one path in each graph).
A Data Transfer Protocol
Executable Description and Validation of SNA
The definition of IBM's Systems Network Architecture has evolved into a specification of a node in the form of a metaimplementation using formal, state-oriented descriptive techniques, and the development of a PL/I-based programming language, Format and Protocol Language (FAPL), as a descriptive tool is described.