skip to main content
10.1145/3092282.3092299acmconferencesArticle/Chapter ViewAbstractPublication PagesicseConference Proceedingsconference-collections
research-article

A hot method for synthesising cool controllers

Published:13 July 2017Publication History

ABSTRACT

Several general search techniques such as genetic programming and simulated annealing have recently been investigated for synthesising programs from specifications of desired objective behaviours. In this context, these techniques explore the space of all candidate programs by performing local changes to candidates selected by means of a measure of their fitness w.r.t the desired objectives. Previous performance results advocated the use of simulated annealing over genetic programming for such problems. In this paper, we investigate the application of these techniques for the computation of deterministic strategies solving symbolic Discrete Controller Synthesis (DCS) problems, where a model of the system to control is given along with desired objective behaviours. We experimentally confirm that relative performance results are similar to program synthesis, and give a complexity analysis of our simulated annealing algorithm for symbolic DCS.

References

  1. Karine Altisen, Aurélie Clodic, Florence Maraninchi, and Éric Rutten. 2003. Using controller-synthesis techniques to build property-enforcing layers. In Proceedings of the 12th European Conference on Programming (ESOP’03). Springer, Berlin, Heidelberg, 174–188. Google ScholarGoogle ScholarDigital LibraryDigital Library
  2. Eugene Asarin, Oded Maler, and Amir Pnueli. 1994. Symbolic controller synthesis for discrete and timed systems. In International Hybrid Systems Workshop. Springer, Berlin, Heidelberg, 1–20. Google ScholarGoogle ScholarDigital LibraryDigital Library
  3. Nicolas Berthier, Florence Maraninchi, and Laurent Mounier. 2013. Synchronous Programming of Device Drivers for Global Resource Control in Embedded Operating Systems. ACM Trans. Embed. Comput. Syst. 12, 1s, Article 39 (March 2013), 26 pages. Google ScholarGoogle ScholarDigital LibraryDigital Library
  4. Nicolas Berthier and Hervé Marchand. 2014. Discrete Controller Synthesis for Infinite State Systems with ReaX. In 12th Int. Workshop on Discrete Event Systems (WODES’14). IFAC, 46–53.Google ScholarGoogle Scholar
  5. Randal E. Bryant. 1986. Graph-Based Algorithms for Boolean Function Manipulation. IEEE Trans. Comput. 35 (1986), 677–691. Google ScholarGoogle ScholarDigital LibraryDigital Library
  6. Jerry R. Burch, Edmund M. Clarke, Kenneth L. McMillan, David L. Dill, and L. J. Hwang. 1992. Symbolic Model Checking: 10 20 States and Beyond. Information and Computation 98, 2 (1992), 142–170. Google ScholarGoogle ScholarDigital LibraryDigital Library
  7. Alessandro Cimatti, Edmund M. Clarke, Enrico Giunchiglia, Fausto Giunchiglia, Marco Pistore, Marco Roveri, Roberto Sebastiani, and Armando Tacchella. 2002.Google ScholarGoogle Scholar
  8. NuSMV 2: An OpenSource Tool for Symbolic Model Checking. In Proceedings of the 14th International Conference on Computer Aided Verification (CAV’02). Springer-Verlag, Berlin, Heidelberg, 359–364. Google ScholarGoogle ScholarDigital LibraryDigital Library
  9. John A. Clark and Jeremy L. Jacob. 2001. Protocols are programs too: the metaheuristic search for security protocols. Information and Software Technology 43 (2001), 891–904.Google ScholarGoogle ScholarCross RefCross Ref
  10. Edmund M. Clarke and E. Allen Emerson. 1982. Design and Synthesis of Synchronization Skeletons Using Branching-Time Temporal Logic. In Logic of Programs, Workshop. Springer, Berlin, Heidelberg, 52–71. Google ScholarGoogle ScholarDigital LibraryDigital Library
  11. Edmund M. Clarke, Jr., Orna Grumberg, and Doron A. Peled. 1999.Google ScholarGoogle ScholarDigital LibraryDigital Library
  12. Model Checking. MIT Press, Cambridge, MA, USA.Google ScholarGoogle Scholar
  13. José ER Cury, Bruce H Krogh, and Toshihiko Niinomi. 1998. Synthesis of supervisory controllers for hybrid systems based on approximating automata. IEEE Trans. Automat. Control 43, 4 (1998), 564–568.Google ScholarGoogle ScholarCross RefCross Ref
  14. John Fearnley, Doron Peled, and Sven Schewe. 2015.Google ScholarGoogle Scholar
  15. Synthesis of Succinct Systems. J. Comput. System Sci. 81, 7 (2015), 1171–1193. Google ScholarGoogle ScholarDigital LibraryDigital Library
  16. Alain Girault and Éric Rutten. 2009. Automating the addition of fault tolerance with discrete controller synthesis. Formal Methods in System Design 35, 2 (2009), 190. Google ScholarGoogle ScholarDigital LibraryDigital Library
  17. Darrall Henderson, Sheldon H Jacobson, and Alan W Johnson. 2003. The theory and practice of simulated annealing. In Handbook of metaheuristics. Springer, Berlin, Heidelberg, 287–319.Google ScholarGoogle Scholar
  18. Yann Hietter, Jean-Marc Roussel, and Jean-Jacques Lesage. 2008.Google ScholarGoogle Scholar
  19. Algebraic Synthesis of Transition Conditions of a State Model. In 9th International Workshop on Discrete Event Systems (WODES’08). IEEE, 187–192.Google ScholarGoogle Scholar
  20. Idress Husien and Sven Schewe. 2016. Program Generation Using Simulated Annealing and Model Checking. In International Conference on Software Engineering and Formal Methods. Springer, Berlin, Heidelberg, 155–171.Google ScholarGoogle Scholar
  21. Colin G. Johnson. 2007.Google ScholarGoogle Scholar
  22. Genetic Programming with Fitness Based on Model Checking. In EuroGP (LNCS), Vol. 4445. Springer, Berlin, Heidelberg, 114–124. Google ScholarGoogle ScholarDigital LibraryDigital Library
  23. Gal Katz and Doron Peled. 2008. Model Checking-Based Genetic Programming with an Application to Mutual Exclusion. In TACAS (LNCS), Vol. 4963. Springer, Berlin, Heidelberg, 141–156. Google ScholarGoogle ScholarDigital LibraryDigital Library
  24. Gal Katz and Doron Peled. 2009. Model Checking Driven Heuristic Search for Correct Programs. In MoChArt (LNCS), Vol. 5348. Springer, Berlin, Heidelberg, 122–131. Google ScholarGoogle ScholarDigital LibraryDigital Library
  25. Gal Katz and Doron Peled. 2011. Synthesizing Solutions to the Leader Election Problem Using Model Checking and Genetic Programming. In Proceedings of the 5th International Haifa Verification Conference on Hardware and Software: Verification and Testing (HVC’09). Springer, Berlin, Heidelberg, 117–132. Google ScholarGoogle ScholarDigital LibraryDigital Library
  26. John R. Koza. 1992.Google ScholarGoogle Scholar
  27. Genetic Programming: On the Programming of Computers by Means of Natural Selection. MIT Press, Cambridge, MA, USA. Google ScholarGoogle ScholarDigital LibraryDigital Library
  28. Bruce H Krogh and Lawrence E Holloway. 1991. Synthesis of feedback control logic for discrete manufacturing systems. Automatica 27, 4 (1991), 641–651. Google ScholarGoogle ScholarDigital LibraryDigital Library
  29. Hervé Marchand, Patricia Bournai, Michel Le Borgne, and Paul Le Guernic. 2000. Synthesis of Discrete-Event Controllers based on the Signal Environment. Discrete Event Dynamic System: Theory and Applications 10, 4 (Oct. 2000), 325– 346. Google ScholarGoogle ScholarDigital LibraryDigital Library
  30. Hervé Marchand and Mazen Samaan. 2000.Google ScholarGoogle Scholar
  31. Incremental Design of a Power Transformer Station Controller Using a Controller Synthesis Methodology. IEEE Trans. Softw. Eng. 26 (Aug. 2000), 729–741. Issue 8. Google ScholarGoogle ScholarDigital LibraryDigital Library
  32. Amir Pnueli. 1977. The Temporal Logic of Programs. In FOCS. IEEE Computer Society Press, 46–57. Google ScholarGoogle ScholarDigital LibraryDigital Library
  33. Peter J. G. Ramadge and W. Murray Wonham. 1989.Google ScholarGoogle Scholar
  34. The Control of Discrete Event Systems. Proceedings of the IEEE; Special issue on Dynamics of Discrete Event Systems 77, 1 (1989), 81–98.Google ScholarGoogle Scholar
  35. Leonid Ryzhyk, Peter Chubb, Ihor Kuz, Etienne Le Sueur, and Gernot Heiser. 2009. Automatic device driver synthesis with termite. In Proceedings of the ACM SIGOPS 22nd Symposium on Operating Systems Principles (SOSP’09). ACM, New York, NY, USA, 73–86. Google ScholarGoogle ScholarDigital LibraryDigital Library
  36. Yin Wang, Stéphane Lafortune, Terence Kelly, Manjunath Kudlur, and Scott Mahlke. 2009.Google ScholarGoogle Scholar
  37. MengChu Zhou and Frank DiCesare. 2012.Google ScholarGoogle Scholar

Index Terms

  1. A hot method for synthesising cool controllers

          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
          • Published in

            cover image ACM Conferences
            SPIN 2017: Proceedings of the 24th ACM SIGSOFT International SPIN Symposium on Model Checking of Software
            July 2017
            199 pages
            ISBN:9781450350778
            DOI:10.1145/3092282

            Copyright © 2017 ACM

            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 the author(s) 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: 13 July 2017

            Permissions

            Request permissions about this article.

            Request Permissions

            Check for updates

            Qualifiers

            • research-article

            Upcoming Conference

            ICSE 2025

          PDF Format

          View or Download as a PDF file.

          PDF

          eReader

          View online with eReader.

          eReader