Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
skip to main content
research-article
Open access

Synthesis of coordination programs from linear temporal specifications

Published: 20 December 2019 Publication History

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.

Supplementary Material

WEBM File (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.
[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.
[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.
[4]
Suguman Bansal, Kedar S. Namjoshi, and Yaniv Sa’ar. 2019. Synthesis of Coordination Programs from Linear Temporal Specifications. arXiv: 1911.03807
[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.
[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.
[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.
[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.
[9]
Randal E. Bryant. 1986. Graph-Based Algorithms for Boolean Function Manipulation. IEEE Trans. Computers 35, 8 (1986), 677–691.
[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.
[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.
[12]
Alonzo Church. 1963. Logic, arithmetic, and automata. In Proc. Int. Congr. Math. 1962. Inst. Mittag-Leffler, Djursholm, Sweden, 23–35.
[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.
[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.
[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.
[16]
Rüdiger Ehlers. 2010. Symbolic Bounded Synthesis. In Proc. of CAV. 365–379.
[17]
Rüdiger Ehlers. 2011. Unbeast: Symbolic Bounded Synthesis. In Proc. of TACAS. 272–275.
[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.
[19]
Peter Faymonville, Bernd Finkbeiner, Markus N. Rabe, and Leander Tentrup. 2017b. Encodings of Bounded Synthesis. In Proc. of TACAS. 354–370.
[20]
Peter Faymonville, Bernd Finkbeiner, and Leander Tentrup. 2017a. BoSy: An Experimentation Framework for Bounded Synthesis. In Proc. of CAV. 325–332.
[21]
Emmanuel Filiot, Naiyong Jin, and Jean-François Raskin. 2009. An Antichain Algorithm for LTL Realizability. In Proc. of CAV. 263–277.
[22]
Emmanuel Filiot, Naiyong Jin, and Jean-François Raskin. 2010. Compositional Algorithms for LTL Synthesis. In Proc. of ATVA. 112–127.
[23]
Bernd Finkbeiner and Sven Schewe. 2013. Bounded synthesis. STTT 15, 5-6 (2013), 519–539.
[24]
Nissim Francez. 1986. Fairness. Springer.
[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.
[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.
[27]
C. A. R. Hoare. 1978. Communicating Sequential Processes. Commun. ACM 21, 8 (1978), 666–677.
[28]
C. A. R. Hoare. 1985. Communicating Sequential Processes. Prentice-Hall.
[29]
Barbara Jobstmann and Roderick. 2006. Optimizations for LTL Synthesis. In Proc. of FMCAD. 117–124.
[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.
[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.
[32]
Orna Kupferman and Moshe Y Vardi. 2005. Safraless decision procedures. In Proc. of FOCS. IEEE, IEEE, 531–540.
[33]
Kim Guldstrand Larsen and Xinxin Liu. 1990. Equation Solving Using Modal Transition Systems. In Proc. of LICS.
[34]
Kim Guldstrand Larsen and Bent Thomsen. 1988. A Modal Process Logic. In Proc. of LICS. 203–210.
[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.
[36]
Yoad Lustig and Moshe Y. Vardi. 2009. Synthesis from Component Libraries. In Proc. of FOSSACS. 395–409.
[37]
P. Madhusudan. 2001. CONTROL AND SYNTHESIS OF OPEN REACTIVE SYSTEMS. Ph.D. Dissertation. Institute of Mathematical Sciences, University of Madras.
[38]
Zohar Manna and Amir Pnueli. 1987. Specification and Verification of Concurrent Programs By Forall-Automata. In Prof. of POPL. 1–12.
[39]
Zohar Manna and Pierre Wolper. 1981. Synthesis of Communicating Processes from Temporal Logic Specifications. In Logics of Programs, Workshop. 253–281.
[40]
Shahar Maoz and Yaniv Sa’ar. 2011. AspectLTL: an aspect language for LTL specifications. In In Proc. of the AOSD. 19–30.
[41]
Shahar Maoz and Yaniv Sa’ar. 2012. Assume-Guarantee Scenarios: Semantics and Synthesis. In Proc. of MODELS. 335–351.
[42]
S. Moarref and H. Kress-Gazit. 2018. Reactive Synthesis for Robotic Swarms. Formal Modeling and Analysis of Timed Systems, 71–87.
[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.
[44]
Amir Pnueli. 1977. The temporal logic of programs. In Proc. of FOCS. IEEE, IEEE, 46–57.
[45]
Amir Pnueli and Roni Rosner. 1989a. On the Synthesis of a Reactive Module. In Prof. of POPL. 179–190.
[46]
Amir Pnueli and Roni Rosner. 1989b. On the synthesis of an asynchronous reactive module. Automata, Languages and Programming (1989), 652–671.
[47]
Amir Pnueli, Yaniv Sa’ar, and Lenore D. Zuck. 2010. JTLV: A Framework for Developing Verification Algorithms. In Proc. of CAV. 171–174.
[48]
M.O. Rabin. 1969. Decidability of second-order theories and automata on infinite trees. Trans. Amer. Math. Soc. 141 (1969), 1–35.
[49]
P.J.G. Ramadge and W.M. Wonham. 1989. The control of discrete event systems. IEEE Transactions on Control Theory 98 (1989).
[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).
[51]
John H. Reif. 1984. The Complexity of Two-Player Games of Incomplete Information. J. Comput. Syst. Sci. 29, 2 (1984), 274–301.
[52]
A. W. Roscoe. 1997. The Theory and Practice of Concurrency. Prentice Hall PTR, Upper Saddle River, NJ, USA.
[53]
Sven Schewe and Bernd Finkbeiner. 2006. Synthesis of Asynchronous Systems. In Proc. of LOPSTR. 127–142.
[54]
Sven Schewe and Bernd Finkbeiner. 2007. Bounded synthesis. Proc. of ATVA (2007), 474–488.
[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.
[56]
Mate Soos, Karsten Nohl, and Claude Castelluccia. 2009. Extending SAT Solvers to Cryptographic Problems. In International Conference on SAT. 244–257.
[57]
Wolfgang Thomas. 2009. Facets of Synthesis: Revisiting Church’s Problem. In Proc. of FOSSACS. 1–14.
[58]
Pierre Wolper. 1982. Specification and Synthesis of Communicating Processes using an Extended Temporal Logic. In Prof. of POPL. 20–33.
[59]
Howard Wong-Toi and David L. Dill. 1990. Synthesizing Processes and Schedulers from Temporal Specifications. In Proc. of CAV. 272–281.

Cited By

View all
  • (2022)Synthesis of Compact Strategies for Coordination ProgramsTools and Algorithms for the Construction and Analysis of Systems10.1007/978-3-030-99524-9_3(46-63)Online publication date: 30-Mar-2022
  • (2021)Adapting Behaviors via Reactive SynthesisComputer Aided Verification10.1007/978-3-030-81685-8_41(870-893)Online publication date: 15-Jul-2021

Recommendations

Comments

Information & Contributors

Information

Published In

cover image Proceedings of the ACM on Programming Languages
Proceedings of the ACM on Programming Languages  Volume 4, Issue POPL
January 2020
1984 pages
EISSN:2475-1421
DOI:10.1145/3377388
Issue’s Table of Contents
Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 20 December 2019
Published in PACMPL Volume 4, Issue POPL

Permissions

Request permissions for this article.

Check for updates

Badges

Author Tags

  1. coordination
  2. synthesis
  3. temporal logic

Qualifiers

  • Research-article

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)89
  • Downloads (Last 6 weeks)15
Reflects downloads up to 30 Aug 2024

Other Metrics

Citations

Cited By

View all
  • (2022)Synthesis of Compact Strategies for Coordination ProgramsTools and Algorithms for the Construction and Analysis of Systems10.1007/978-3-030-99524-9_3(46-63)Online publication date: 30-Mar-2022
  • (2021)Adapting Behaviors via Reactive SynthesisComputer Aided Verification10.1007/978-3-030-81685-8_41(870-893)Online publication date: 15-Jul-2021

View Options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Get Access

Login options

Full Access

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media