On the Synthesis of an Asynchronous Reactive Module

We consider the synthesis of a reactive asynchronous module which communicates with its environment via the shared input variable z and the shared output variable y, assuming that the module is specified by the linear temporal formula p(x, y). We derive from ~(x, y) another linear formula X(r, w, z, y), with the additional scheduling variables r, w, and show that there exists a program satisfying ~ iff the branching time formula (Yr, w, x)(3y)AX(r, w, x, y) is valid over all tree models. For the restricted case that all variables range over finite domains, the validity problem is decidable, and we present an algorithm, of doubly exponential time and space complexity, for constructing a program that implements the specification whenever it is implementable. In addition, we provide some matching lower bounds.

[1]  J. R. Büchi,et al.  Solving sequential conditions by finite-state strategies , 1969 .

[2]  M. Rabin Automata on Infinite Objects and Church's Problem , 1972 .

[3]  Charles Rackoff,et al.  The Emptiness Problem for Automata on Infinite Trees , 1972, SWAT.

[4]  Richard E. Ladner,et al.  Propositional Dynamic Logic of Regular Programs , 1979, J. Comput. Syst. Sci..

[5]  John Bacon,et al.  Substance and first-order quantification over individual-concepts , 1980, Journal of Symbolic Logic.

[6]  Zohar Manna,et al.  A Deductive Approach to Program Synthesis , 1979, TOPL.

[7]  Edmund M. Clarke,et al.  Using Branching Time Temporal Logic to Synthesize Synchronization Skeletons , 1982, Sci. Comput. Program..

[8]  Leslie Lamport,et al.  What Good is Temporal Logic? , 1983, IFIP Congress.

[9]  Robert L. Constable,et al.  Constructive Mathematics as a Programming Logic I: Some Principles of Theory , 1983, FCT.

[10]  Amir Pnueli,et al.  Now you may compose temporal logic specifications , 1984, STOC '84.

[11]  Pierre Wolper,et al.  Synthesis of Communicating Processes from Temporal Logic Specifications , 1981, TOPL.

[12]  Larry J. Stockmeyer,et al.  Improved upper and lower bounds for modal logics of programs , 1985, STOC '85.

[13]  Amir Pnueli,et al.  A really abstract concurrent model and its temporal logic , 1986, POPL '86.

[14]  A. P. Sistla,et al.  Automatic verification of finite-state concurrent systems using temporal logic specifications , 1986, TOPL.

[15]  Pierre Wolper,et al.  Automata theoretic techniques for modal logics of programs: (Extended abstract) , 1984, STOC '84.

[16]  Wolfgang Thomas,et al.  Computation Tree Logic CTL* and Path Quantifiers in the Monadic Theory of the Binary Tree , 1987, ICALP.

[17]  Howard Barringer The use of temporal logic in the compositional specification of concurrent systems , 1987 .

[18]  E. Allen Emerson,et al.  The complexity of tree automata and logics of programs , 1988, [Proceedings 1988] 29th Annual Symposium on Foundations of Computer Science.

[19]  Amir Pnueli,et al.  A Framework for the Synthesis of Reactive Modules , 1988, Concurrency.

[20]  Paul C. Attie,et al.  Synthesis of concurrent systems with many similar sequential processes (extended abstract) , 1989, POPL '89.

[21]  Amir Pnueli,et al.  On the synthesis of a reactive module , 1989, POPL '89.

[22]  David L. Dill,et al.  Trace theory for automatic hierarchical verification of speed-independent circuits , 1989, ACM distinguished dissertations.