Synthesis of concurrent systems with many similar processes

  • Authors:
  • Paul C. Attie;E. Allen Emerson

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

  • Venue:
  • ACM Transactions on Programming Languages and Systems (TOPLAS)
  • Year:
  • 1998

Quantified Score

Hi-index 0.00

Visualization

Abstract

Methods for synthesizing concurrent programs from temporal logicspecifications based on the use of a decision procedure for testingtemporal satisfiability have been proposed by Emerson and Clarkeand by Manna and Wolper. An important advantage of these synthesis methods is that they obviate the need to manually compose a program and manually construct a proof of its correctness. One only has to formulate a precise problem specification; the synthesis method then mechanically constructs acorrect solution. A serious drawback of these methods in practice,however, is that they suffer from the state explosion problem. Tosynthesize a concurrent system consisting of K sequential processes, each having N states in its local transition diagram, requiresconstruction of the global product-machine having about NKglobal states in general. This exponential growth in K makes it infeasible to synthesize systems composed of more than 2 or 3processes. In this article, we show how to synthesize concurrentsystems consisting of many (i.e., a finite but arbitrarily largenumber K of) similar sequential processes. Our approach avoids construction of the global product-machine for K processes; instead, it constructs a two-process product-machine for a single pair of generic sequential processes. The method is uniform in K, providing a simple template that can be instantiated for each process to yield a solution for any fixed K. The method is also illustrated on synchronization problems from the literature.