skip to main content
research-article
Open Access
Artifacts Evaluated & Functional

Synthesis of coordination programs from linear temporal specifications

Published:20 December 2019Publication History
Skip Abstract Section

Abstract

This paper presents a method for synthesizing a reactive program to coordinate the actions of a group of other reactive programs so that the combined system satisfies a temporal specification of its desired long-term behavior. Traditionally, reactive synthesis has been applied to the construction of a stateful hardware circuit. This work is motivated by applications to other domains, such as the IoT (the Internet of Things) and robotics, where it is necessary to coordinate the actions of multiple sensors, devices, and robots to carry out a task. The mathematical model represents each agent as a process in Hoare’s CSP model. Given a network of interacting agents, called an environment, and a temporal specification of long-term behavior, the synthesis method constructs a coordinator process (if one exists) that guides the actions of the environment agents so that the combined system is deadlock-free and satisfies the given specification. The main technical challenge is that a coordinator may have only partial information of the environment state, due to non-determinism within the environment and internal environment actions that are hidden from the coordinator. This is the first method to handle both sources of partial information and to do so for arbitrary linear temporal logic specifications. It is established that the coordination synthesis problem is PSPACE-hard in the size of the environment. A prototype implementation is able to synthesize compact solutions for a number of coordination problems.

Skip Supplemental Material Section

Supplemental Material

a54-bansal.webm

References

  1. Rajeev Alur, Salar Moarref, and Ufuk Topcu. 2016. Compositional synthesis of reactive controllers for multi-agent systems. In Proc. of CAV. Springer, 251–269.Google ScholarGoogle Scholar
  2. Tomás Babiak, Mojmír Kretínský, Vojtech Rehák, and Jan Strejcek. 2012. LTL to Büchi Automata Translation: Fast and More Deterministic. In Proc. of TACAS. 95–109.Google ScholarGoogle ScholarDigital LibraryDigital Library
  3. Suguman Bansal, Kedar S. Namjoshi, and Yaniv Sa’ar. 2018. Synthesis of Asynchronous Reactive Programs from Temporal Specifications. In Proc. of CAV. 367–385.Google ScholarGoogle ScholarCross RefCross Ref
  4. Suguman Bansal, Kedar S. Namjoshi, and Yaniv Sa’ar. 2019. Synthesis of Coordination Programs from Linear Temporal Specifications. arXiv: 1911.03807Google ScholarGoogle Scholar
  5. Nikola Benes, Benoît Delahaye, Uli Fahrenberg, Jan Kretínský, and Axel Legay. 2013. Hennessy-Milner Logic with Greatest Fixed Points as a Complete Behavioural Specification Theory. In Proc. of CONCUR. 76–90.Google ScholarGoogle Scholar
  6. Daniela Berardi, Diego Calvanese, Giuseppe De Giacomo, Maurizio Lenzerini, and Massimo Mecella. 2003. Automatic Composition of E-services That Export Their Behavior. In In proceedings of ICSOC. 43–58.Google ScholarGoogle Scholar
  7. Roderick Bloem, Barbara Jobstmann, Nir Piterman, Amir Pnueli, and Yaniv Sa’ar. 2012. Synthesis of Reactive(1) designs. J. Comput. System Sci. 78, 3 (2012), 911–938.Google ScholarGoogle ScholarDigital LibraryDigital Library
  8. Aaron Bohy, Véronique Bruyère, Emmanuel Filiot, Naiyong Jin, and Jean-François Raskin. 2012. Acacia+, a Tool for LTL Synthesis. In Proc. of CAV. 652–657.Google ScholarGoogle ScholarDigital LibraryDigital Library
  9. Randal E. Bryant. 1986. Graph-Based Algorithms for Boolean Function Manipulation. IEEE Trans. Computers 35, 8 (1986), 677–691.Google ScholarGoogle ScholarDigital LibraryDigital Library
  10. J. Richard Büchi and L.H. Landweber. 1969. Solving sequential conditions by finite-state strategies. Trans. Amer. Math. Soc. 138 (1969), 367–378.Google ScholarGoogle Scholar
  11. Alonzo Church. 1957. Applications of recursive arithmetic to the problem of circuit synthesis. In Summaries of the Summer Institute of Symbolic Logic. Vol. I. Cornell Univ., Ithaca, N.Y., 3–50.Google ScholarGoogle Scholar
  12. Alonzo Church. 1963. Logic, arithmetic, and automata. In Proc. Int. Congr. Math. 1962. Inst. Mittag-Leffler, Djursholm, Sweden, 23–35.Google ScholarGoogle Scholar
  13. Daniel Ciolek, Víctor A. Braberman, Nicolás D’Ippolito, Nir Piterman, and Sebastián Uchitel. 2017. Interaction Models and Automated Control under Partial Observable Environments. IEEE Trans. Software Eng. 43, 1 (2017), 19–33.Google ScholarGoogle ScholarDigital LibraryDigital Library
  14. Nicolás D’Ippolito, Victor Braberman, Nir Piterman, and Sebastián Uchitel. 2013. Synthesizing nonanomalous event-based controllers for liveness goals. Transactions on Software Engineering and Methodology 22, 1 (2013), 9.Google ScholarGoogle ScholarDigital LibraryDigital Library
  15. Alexandre Duret-Lutz, Alexandre Lewkowicz, Amaury Fauchille, Thibaud Michaud, Etienne Renault, and Laurent Xu. 2016. Spot 2.0 - A Framework for LTL and \omega -Automata Manipulation. In Proc. of ATVA. 122–129.Google ScholarGoogle ScholarCross RefCross Ref
  16. Rüdiger Ehlers. 2010. Symbolic Bounded Synthesis. In Proc. of CAV. 365–379.Google ScholarGoogle ScholarDigital LibraryDigital Library
  17. Rüdiger Ehlers. 2011. Unbeast: Symbolic Bounded Synthesis. In Proc. of TACAS. 272–275.Google ScholarGoogle ScholarCross RefCross Ref
  18. E Allen Emerson and Edmund M Clarke. 1982. Using branching time temporal logic to synthesize synchronization skeletons. Science of Computer Programming 2, 3 (1982), 241–266.Google ScholarGoogle ScholarCross RefCross Ref
  19. Peter Faymonville, Bernd Finkbeiner, Markus N. Rabe, and Leander Tentrup. 2017b. Encodings of Bounded Synthesis. In Proc. of TACAS. 354–370.Google ScholarGoogle ScholarDigital LibraryDigital Library
  20. Peter Faymonville, Bernd Finkbeiner, and Leander Tentrup. 2017a. BoSy: An Experimentation Framework for Bounded Synthesis. In Proc. of CAV. 325–332.Google ScholarGoogle ScholarCross RefCross Ref
  21. Emmanuel Filiot, Naiyong Jin, and Jean-François Raskin. 2009. An Antichain Algorithm for LTL Realizability. In Proc. of CAV. 263–277.Google ScholarGoogle ScholarDigital LibraryDigital Library
  22. Emmanuel Filiot, Naiyong Jin, and Jean-François Raskin. 2010. Compositional Algorithms for LTL Synthesis. In Proc. of ATVA. 112–127.Google ScholarGoogle ScholarCross RefCross Ref
  23. Bernd Finkbeiner and Sven Schewe. 2013. Bounded synthesis. STTT 15, 5-6 (2013), 519–539.Google ScholarGoogle ScholarDigital LibraryDigital Library
  24. Nissim Francez. 1986. Fairness. Springer.Google ScholarGoogle Scholar
  25. Thomas Gibson-Robinson, Philip J. Armstrong, Alexandre Boulgakov, and A. W. Roscoe. 2014. FDR3 — A Modern Refinement Checker for CSP. In Proc. of TACAS. 187–201.Google ScholarGoogle Scholar
  26. William R. Harris and Sumit Gulwani. 2011. Spreadsheet table transformations from examples. In Symposium on Principles of Programming Languages (POPL), Vol. 46. 317–328.Google ScholarGoogle Scholar
  27. C. A. R. Hoare. 1978. Communicating Sequential Processes. Commun. ACM 21, 8 (1978), 666–677.Google ScholarGoogle ScholarDigital LibraryDigital Library
  28. C. A. R. Hoare. 1985. Communicating Sequential Processes. Prentice-Hall.Google ScholarGoogle ScholarDigital LibraryDigital Library
  29. Barbara Jobstmann and Roderick. 2006. Optimizations for LTL Synthesis. In Proc. of FMCAD. 117–124.Google ScholarGoogle ScholarDigital LibraryDigital Library
  30. Uri Klein, Nir Piterman, and Amir Pnueli. 2012. Effective Synthesis of Asynchronous Systems from GR(1) Specifications.. In International Conference on VMCAI. Springer, 283–298.Google ScholarGoogle ScholarDigital LibraryDigital Library
  31. Hadas Kress-Gazit and George J Pappas. 2010. Automatic synthesis of robot controllers for tasks with locative prepositions. In International Conference on Robotics and Automation (ICRA). IEEE, 3215–3220.Google ScholarGoogle ScholarCross RefCross Ref
  32. Orna Kupferman and Moshe Y Vardi. 2005. Safraless decision procedures. In Proc. of FOCS. IEEE, IEEE, 531–540.Google ScholarGoogle ScholarDigital LibraryDigital Library
  33. Kim Guldstrand Larsen and Xinxin Liu. 1990. Equation Solving Using Modal Transition Systems. In Proc. of LICS.Google ScholarGoogle ScholarCross RefCross Ref
  34. Kim Guldstrand Larsen and Bent Thomsen. 1988. A Modal Process Logic. In Proc. of LICS. 203–210.Google ScholarGoogle ScholarCross RefCross Ref
  35. Jun Liu, Necmiye Ozay, Ufuk Topcu, and Richard M. Murray. 2013. Synthesis of Reactive Switching Protocols From Temporal Logic Specifications. IEEE Trans. Automat. Contr. 58, 7 (2013), 1771–1785.Google ScholarGoogle ScholarCross RefCross Ref
  36. Yoad Lustig and Moshe Y. Vardi. 2009. Synthesis from Component Libraries. In Proc. of FOSSACS. 395–409.Google ScholarGoogle Scholar
  37. P. Madhusudan. 2001. CONTROL AND SYNTHESIS OF OPEN REACTIVE SYSTEMS. Ph.D. Dissertation. Institute of Mathematical Sciences, University of Madras.Google ScholarGoogle Scholar
  38. Zohar Manna and Amir Pnueli. 1987. Specification and Verification of Concurrent Programs By Forall-Automata. In Prof. of POPL. 1–12.Google ScholarGoogle Scholar
  39. Zohar Manna and Pierre Wolper. 1981. Synthesis of Communicating Processes from Temporal Logic Specifications. In Logics of Programs, Workshop. 253–281.Google ScholarGoogle Scholar
  40. Shahar Maoz and Yaniv Sa’ar. 2011. AspectLTL: an aspect language for LTL specifications. In In Proc. of the AOSD. 19–30.Google ScholarGoogle ScholarDigital LibraryDigital Library
  41. Shahar Maoz and Yaniv Sa’ar. 2012. Assume-Guarantee Scenarios: Semantics and Synthesis. In Proc. of MODELS. 335–351.Google ScholarGoogle ScholarDigital LibraryDigital Library
  42. S. Moarref and H. Kress-Gazit. 2018. Reactive Synthesis for Robotic Swarms. Formal Modeling and Analysis of Timed Systems, 71–87.Google ScholarGoogle Scholar
  43. Nir Piterman, Amir Pnueli, and Yaniv Sa’ar. 2006. Synthesis of reactive (1) designs. In International Conference on VMCAI, Vol. 3855. Springer, Springer, 364–380.Google ScholarGoogle Scholar
  44. Amir Pnueli. 1977. The temporal logic of programs. In Proc. of FOCS. IEEE, IEEE, 46–57.Google ScholarGoogle ScholarDigital LibraryDigital Library
  45. Amir Pnueli and Roni Rosner. 1989a. On the Synthesis of a Reactive Module. In Prof. of POPL. 179–190.Google ScholarGoogle Scholar
  46. Amir Pnueli and Roni Rosner. 1989b. On the synthesis of an asynchronous reactive module. Automata, Languages and Programming (1989), 652–671.Google ScholarGoogle Scholar
  47. Amir Pnueli, Yaniv Sa’ar, and Lenore D. Zuck. 2010. JTLV: A Framework for Developing Verification Algorithms. In Proc. of CAV. 171–174.Google ScholarGoogle Scholar
  48. M.O. Rabin. 1969. Decidability of second-order theories and automata on infinite trees. Trans. Amer. Math. Soc. 141 (1969), 1–35.Google ScholarGoogle Scholar
  49. P.J.G. Ramadge and W.M. Wonham. 1989. The control of discrete event systems. IEEE Transactions on Control Theory 98 (1989).Google ScholarGoogle Scholar
  50. Jean-François Raskin, Krishnendu Chatterjee, Laurent Doyen, and Thomas A. Henzinger. 2007. Algorithms for OmegaRegular Games with Imperfect Information. Logical Methods in Computer Science 3, 3 (2007).Google ScholarGoogle Scholar
  51. John H. Reif. 1984. The Complexity of Two-Player Games of Incomplete Information. J. Comput. Syst. Sci. 29, 2 (1984), 274–301.Google ScholarGoogle ScholarCross RefCross Ref
  52. A. W. Roscoe. 1997. The Theory and Practice of Concurrency. Prentice Hall PTR, Upper Saddle River, NJ, USA.Google ScholarGoogle ScholarDigital LibraryDigital Library
  53. Sven Schewe and Bernd Finkbeiner. 2006. Synthesis of Asynchronous Systems. In Proc. of LOPSTR. 127–142.Google ScholarGoogle Scholar
  54. Sven Schewe and Bernd Finkbeiner. 2007. Bounded synthesis. Proc. of ATVA (2007), 474–488.Google ScholarGoogle ScholarDigital LibraryDigital Library
  55. Armando Solar-Lezama, Liviu Tancau, Rastislav Bodik, Sanjit Seshia, and Vijay Saraswat. 2006. Combinatorial sketching for finite programs. Proc. of (ASPLOS) 34, 5 (2006), 404–415.Google ScholarGoogle Scholar
  56. Mate Soos, Karsten Nohl, and Claude Castelluccia. 2009. Extending SAT Solvers to Cryptographic Problems. In International Conference on SAT. 244–257.Google ScholarGoogle ScholarDigital LibraryDigital Library
  57. Wolfgang Thomas. 2009. Facets of Synthesis: Revisiting Church’s Problem. In Proc. of FOSSACS. 1–14.Google ScholarGoogle ScholarCross RefCross Ref
  58. Pierre Wolper. 1982. Specification and Synthesis of Communicating Processes using an Extended Temporal Logic. In Prof. of POPL. 20–33.Google ScholarGoogle Scholar
  59. Howard Wong-Toi and David L. Dill. 1990. Synthesizing Processes and Schedulers from Temporal Specifications. In Proc. of CAV. 272–281.Google ScholarGoogle Scholar

Index Terms

  1. Synthesis of coordination programs from linear temporal specifications

        Recommendations

        Comments

        Login options

        Check if you have access through your login credentials or your institution to get full access on this article.

        Sign in

        Full Access

        PDF Format

        View or Download as a PDF file.

        PDF

        eReader

        View online with eReader.

        eReader
        About Cookies On This Site

        We use cookies to ensure that we give you the best experience on our website.

        Learn more

        Got it!