Synthesis from component libraries

Abstract

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.

This is a preview of subscription content, log in to check access.

References

  1. 1

    Church, A.: Logic, arithmetics, and automata. In: Proceedings of International Congress of Mathematicians, 1962, pp. 23–35. Institut Mittag-Leffler (1963)

  2. 2

    Pnueli, A., Rosner, R.: On the synthesis of a reactive module. In: Proceedings of 16th ACM Symposium on Principles of Programming Languages, pp. 179–190 (1989)

  3. 3

    Sifakis, J.: A framework for component-based construction extended abstract. In: Proceedings of 3rd International Conference on Software Engineering and Formal Methods (SEFM 2005), pp 293–300. IEEE Computer Society (2005)

  4. 4

    Alonso G., Casati F., Kuno H.A., Machiraju V.: Web Services—Concepts, Architectures and Applications. Springer, Berlin (2004)

    Google Scholar 

  5. 5

    Berardi, D., Calvanese, D., Giacomo, G.D., Lenzerini, M., Mecella, M.: Automatic composition of e-services that export their behavior. In: ICSOC, pp. 43–58 (2003)

  6. 6

    Sardiña, S., Patrizi, F., Giacomo, G.D.: Automatic synthesis of a global behavior from multiple distributed behaviors. In: AAAI, pp. 1063–1069 (2007)

  7. 7

    Büchi J., Landweber L.: Solving sequential conditions by finite-state strategies. Trans. AMS 138, 295–311 (1969)

    MATH  Google Scholar 

  8. 8

    Rabin M.: Automata on infinite objects and Church’s problem. American Mathematical Society, New York (1972)

    Google Scholar 

  9. 9

    Pnueli, A., Rosner, R.: Distributed reactive systems are hard to synthesize. In: Proceedings of 31st IEEE Symposium on Foundations of Computer Science, pp. 746–757 (1990)

  10. 10

    Kupferman, O., Vardi, M.: Safraless decision procedures. In: Proceedings of 46th IEEE Symposium on Foundations of Computer Science, pp 531–540 (2005)

  11. 11

    Krishnamurthi, S., Fisler, K.: Foundations of incremental aspect model-checking. ACM Trans. Softw. Eng. Methods 16(2) (2007)

  12. 12

    de Alfaro L., Henzinger T.: Interface-based design. In: Broy, M., Grünbauer, J., Harel, D., Hoare, C. (eds) Engineering Theories of Software-Intensive Systems. NATO Science Series: Mathematics, Physics, and Chemistry, vol. 195. pp. 83–104. Springer, Berlin (2005)

    Google Scholar 

  13. 13

    Pnueli, A.: The temporal logic of programs. In: Proceedings of 18th IEEE Symposium on Foundations of Computer Science, pp. 46–57 (1977)

  14. 14

    Gabbay, D., Pnueli, A., Shelah, S., Stavi, J.: On the temporal analysis of fairness. In: Proceedings of 7th ACM Symposium on Principles of Programming Languages, pp. 163–173 (1980)

  15. 15

    Muller D., Schupp P.: Alternating automata on infinite trees. Theor. Comput. Sci. 54, 267–276 (1987)

    MathSciNet  Article  MATH  Google Scholar 

  16. 16

    Muller, D., Saoudi, A., Schupp, P.: Alternating automata, the weak monadic theory of the tree and its complexity. In: Proceedings of 13th International Colloqium on Automata, Languages, and Programming. Lecture Notes in Computer Science, vol. 226, pp. 275–283. Springer, Berlin (1986)

  17. 17

    Hopcroft J., Ullman J.: Introduction to Automata Theory, Languages, and Computation. Addison-Wesley, New York (1979)

    Google Scholar 

  18. 18

    Nain, S., Vardi, M.Y.: Branching vs. linear time: semantical perspective. In: 5th international symposium on automated technology for verification and analysis. Lecture Notes in Computer Science, vol. 4762, pp. 19–34. Springer, Berlin (2007)

  19. 19

    Clarke E., Grumberg O., Peled D.: Model Checking. MIT Press, Cambridge (1999)

    Google Scholar 

  20. 20

    Apt K., Kozen D.: Limits for automatic verification of finite-state concurrent systems. Inf. Process. Lett. 22(6), 307–309 (1986)

    MathSciNet  Article  Google Scholar 

  21. 21

    Rosner, R.: Modular Synthesis of Reactive Systems. PhD thesis, Weizmann Institute of Science (1992)

  22. 22

    Vardi M., Wolper P.: Reasoning about infinite computations. Inf. Comput. 115(1), 1–37 (1994)

    MathSciNet  Article  MATH  Google Scholar 

  23. 23

    Grädel, E., Thomas, W., Wilke, T.: Automata, logics, and infinite games: a guide to current research. Lecture Notes in Computer Science, vol. 2500. Springer, Berlin (2002)

Download references

Author information

Affiliations

Authors

Corresponding author

Correspondence to Yoad Lustig.

Additional information

This work was supported in part by NSF grants CCR-0124077, CCR-0311326, CCF-0613889, ANI-0216467, and CCF-0728882, by BSF grant 9800096, and by gift from Intel.

Rights and permissions

Reprints and Permissions

About this article

Cite this article

Lustig, Y., Vardi, M.Y. Synthesis from component libraries. Int J Softw Tools Technol Transfer 15, 603–618 (2013). https://doi.org/10.1007/s10009-012-0236-z

Download citation

Keywords

  • LTL synthesis
  • Components
  • Linear temporal logic
  • Automata
  • Composition