Elsevier

Information and Computation

Volume 202, Issue 2, 1 November 2005, Pages 166-190
Information and Computation

Verification of programs with half-duplex communication

https://doi.org/10.1016/j.ic.2005.05.006Get rights and content
Under an Elsevier user license
open archive

Abstract

We consider the analysis of infinite half-duplex systems made of finite state machines that communicate over unbounded channels. The half-duplex property for two machines and two channels (one in each direction) says that each reachable configuration has at most one channel non-empty. We prove in this paper that such half-duplex systems have a recognizable reachability set. We show how to compute, in polynomial time, a symbolic representation of this reachability set and how to use that description to solve several verification problems. Furthermore, though the model of communicating finite state machines is Turing-powerful, we prove that membership of the class of half-duplex systems is decidable. Unfortunately, the natural generalization to systems with more than two machines is Turing-powerful. We also prove that the model-checking of those systems against PLTL (Propositional Linear Temporal Logic) or CTL (Computational Tree Logic) is undecidable. Finally, we show how to apply the previous decidability results to the Regular Model Checking. We propose a new symbolic reachability semi-algorithm with accelerations which successfully terminates on half-duplex systems of two machines and some interesting non-half-duplex systems.

Keywords

Communicating finite state machines
Half-duplex communication
Symbolic verification
Channel-recognizable reachability sets
Decidability
Regular model checking
PLTL model-checking
CTL model-checking

Cited by (0)

A part of this work has been supported by the VIRES—Esprit LTR #23498 project—during a post-doctoral position in the Institut Montefiore, Université de Liège, Belgium.