Synthesis from component libraries

Synthesis is the automated construction of a system from its specification. In the classical temporal synthesis algorithms, it is always assumed the system is “constructed from scratch” rather than “composed” from reusable components. This, of course, rarely happens in real life. In real life, almost every non-trivial commercial system, either in hardware or in software system, relies heavily on using libraries of reusable components. Furthermore, other contexts, such as web-service orchestration, can be modeled as synthesis of a system from a library of components. In this work, we define and study the problem of LTL synthesis from libraries of reusable components. We define two notions of composition: data-flow composition, for which we prove the problem is undecidable, and control-flow composition, for which we prove the problem is 2EXPTIME-complete. As a side benefit, we derive an explicit characterization of the information needed by the synthesizer on the underlying components. This characterization can be used as a specification formalism between component providers and integrators.

[1]  David E. Muller,et al.  Alternating Automata. The Weak Monadic Theory of the Tree, and its Complexity , 1986, ICALP.

[2]  Amir Pnueli,et al.  The temporal logic of programs , 1977, 18th Annual Symposium on Foundations of Computer Science (sfcs 1977).

[3]  Giuseppe De Giacomo,et al.  Automatic Synthesis of a Global Behavior from Multiple Distributed Behaviors , 2007, AAAI.

[4]  Stephan Merz,et al.  Model Checking , 2000 .

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

[6]  Joseph Sifakis A framework for component-based construction , 2005, Third IEEE International Conference on Software Engineering and Formal Methods (SEFM'05).

[7]  Krzysztof R. Apt,et al.  Limits for Automatic Verification of Finite-State Concurrent Systems , 1986, Inf. Process. Lett..

[8]  Pierre Wolper,et al.  Reasoning About Infinite Computations , 1994, Inf. Comput..

[9]  Jeffrey D. Ullman,et al.  Introduction to Automata Theory, Languages and Computation , 1979 .

[10]  Gerhard Goos,et al.  Automated Technology for Verification and Analysis , 2004, Lecture Notes in Computer Science.

[11]  E. Muller David,et al.  Alternating automata on infinite trees , 1987 .

[12]  David E. Muller,et al.  Alternating Automata on Infinite Trees , 1987, Theor. Comput. Sci..

[13]  Alonzo Church,et al.  Logic, arithmetic, and automata , 1962 .

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

[15]  Thomas A. Henzinger,et al.  INTERFACE-BASED DESIGN , 2005 .

[16]  Orna Kupferman,et al.  Safraless decision procedures , 2005, 46th Annual IEEE Symposium on Foundations of Computer Science (FOCS'05).

[17]  Gustavo Alonso,et al.  Web Services: Concepts, Architectures and Applications , 2009 .

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

[19]  Kathi Fisler,et al.  Foundations of incremental aspect model-checking , 2007, TSEM.

[20]  Moshe Y. Vardi Branching vs. Linear Time: Semantical Perspective , 2011, CSL.

[21]  Thomas Wilke,et al.  Automata logics, and infinite games: a guide to current research , 2002 .

[22]  Thomas Wilke,et al.  Automata Logics, and Infinite Games , 2002, Lecture Notes in Computer Science.

[23]  Amir Pnueli,et al.  Distributed reactive systems are hard to synthesize , 1990, Proceedings [1990] 31st Annual Symposium on Foundations of Computer Science.

[24]  Diego Calvanese,et al.  Automatic Composition of E-services That Export Their Behavior , 2003, ICSOC.

[25]  Saharon Shelah,et al.  On the temporal analysis of fairness , 1980, POPL '80.

[26]  Manfred Broy Engineering Theories of Software Intensive Systems , 2005 .