skip to main content
10.1145/1134650.1134667acmconferencesArticle/Chapter ViewAbstractPublication PagescpsweekConference Proceedingsconference-collections
Article

Synthesizing safe state machines from Esterel

Published:14 June 2006Publication History

ABSTRACT

Esterel and Safe State Machines (SSMs) are synchronous languages dedicated to the modeling of embedded reactive systems. While Esterel is a textual language, SSMs are based on the graphical Statecharts formalism. Statecharts are often more intuitive to understand than their textual counterpart, and their animated simulation can help to visualize subtle behaviors of a program. However, in terms of editing speed, revision management, and meta-modeling, the textual nature of Esterel is advantageous. We present an approach to transform Esterel v5 programs into equivalent SSMs. This permits a design flow where the designer develops a system at the Esterel level, but uses a graphical browser and simulator to inspect and validate the system under development.We synthesize SSMs in two phases. The first phase transforms an Esterel program into an equivalent SSM, using a structural translation that results in correct, but typically not very compact SSMs. The second phase iteratively applies optimization rules that aim to reduce the number of states, transitions and hierarchy levels to enhance readability of the SSM. As it turned out, this optimization is also useful for the traditional, manual design of SSMs. The complete transformation has been implemented in a prototypical modeling environment, which allows to demonstrate the practicality of this approach and the compactness of the generated SSMs.

References

  1. André, C. Representation and Analysis of Reactive Behaviors: A Synchronous Approach. In Computational Engineering in Systems Applications (CESA) (Lille (F), July 1996), IEEE-SMC, pp. 19--29.Google ScholarGoogle Scholar
  2. André, C. SyncCharts: A Visual Representation of Reactive Behaviors. Tech. Rep. RR 95--52, rev. RR (96--56), I3S, Sophia-Antipolis, France, Rev. April 1996.Google ScholarGoogle Scholar
  3. André, C. Semantics of S.S.M (Safe State Machine). Tech. rep., Esterel Technologies, Sophia-Antipolis, France, Apr. 2003. available at http://www.esterel-technologies.com, in the download section.Google ScholarGoogle Scholar
  4. André, C. Computing SyncCharts reactions. Electronic Notes in Theoretical Computer Science 88 (Oct. 2004), 3--19. Google ScholarGoogle ScholarDigital LibraryDigital Library
  5. Berry, G. The Constructive Semantics of Pure Esterel. Draft Book, 1999.Google ScholarGoogle Scholar
  6. Berry, G. The Esterel v5 Language Primer, Version v5_91. Centre de Mathématiques Appliquées Ecole des Mines and INRIA, 06565 Sophia-Antipolis, 2000.Google ScholarGoogle Scholar
  7. Berry, G., and Gonthier, G. The Esterel Synchronous Programming Language: Design, Semantics, Implementation. Science of Computer Programming 19, 2 (1992), 87--152. Google ScholarGoogle ScholarDigital LibraryDigital Library
  8. Castelló, R., Mili, R., and Tollis, I. G. A Framework for the Static and Interactive Visualization for Statecharts. Journal of Graph Algorithms and Applications 6, 3 (2002), 313--351.Google ScholarGoogle ScholarCross RefCross Ref
  9. Estbench Esterel Benchmark Suite. http://www1.cs.columbia.edu/~sedwards/software/estbench-1.0.tar.gz.Google ScholarGoogle Scholar
  10. Edwards, S. A. CEC: The Columbia Esterel Compiler. http://www1.cs.columbia.edu/~sedwards/cec/.Google ScholarGoogle Scholar
  11. Florentz, B., Mutz, M., and Huhn, M. Avoiding unpredicted behaviour of large scale embedded systems by design and application of modelling rules. In Proceedings of the 2004 First International Workshop on Model, Design and Validation (Nov. 2004).Google ScholarGoogle ScholarCross RefCross Ref
  12. Gansner, E. R., and North, S. C. An open graph visualization system and its applications to software engineering. Software---Practice and Experience 30, 11 (2000), 1203--1234. Google ScholarGoogle ScholarDigital LibraryDigital Library
  13. Guernic, P. L., Goutier, T., Borgne, M. L., and Maire, C. L. Programming real time applications with SIGNAL. Proceedings of the IEEE 79, 9 (Sept. 1991).Google ScholarGoogle Scholar
  14. Halbwachs, N., Caspi, P., Raymond, P., and Pilaud, D. The synchronous data-flow programming language LUSTRE. Proceedings of the IEEE 79, 9 (September 1991), 1305--1320.Google ScholarGoogle ScholarCross RefCross Ref
  15. Harel, D., Lachover, H., Naamad, A., Pnueli, A., Politi, M., Sherman, R., Shtull-Trauring, A., and Trakhtenbrot, M. STATEMATE: A Working Environment for the Development of Complex Reactive Systems. IEEE Transactions on Software Engineering 16, 4 (Apr. 1990), 403--414. Google ScholarGoogle ScholarDigital LibraryDigital Library
  16. Jaffe, M. S., Leveson, N. G., Heimdahl, M. P. E., and Melhart, B. E. Software requirements analysis for real-time process-control systems. IEEE Transactions on Software Engineering 17, 3 (Mar. 1991), 241--258. Google ScholarGoogle ScholarDigital LibraryDigital Library
  17. Kühl, L. Transformation von Esterel nach Esterel Studio. Diplomarbeit, Christian-Albrechts-Universität zu Kiel, Institut für Informatik und Praktische Mathematik, Sept. 2005.Google ScholarGoogle Scholar
  18. Object Management Group. Unified Modeling Lanugage---UML Resource Page. http://www.uml.org.Google ScholarGoogle Scholar
  19. Prochnow, S., and Hanxleden, R. v. Comfortable Modeling of Complex Reactive Systems. In Design, Automation and Test in Europe 2006 (DATE'06) (München, March 2006). Google ScholarGoogle ScholarDigital LibraryDigital Library
  20. Rational Software. Rational rose technical developer. http://www-306.ibm.com/software/awdtools/developer/technical/.Google ScholarGoogle Scholar
  21. Schneider, K. Embedding imperative synchronous languages in interactive theorem provers. In Conference on Application of Concurrency to System Design (ACSD) (Newcastle upon Tyne, UK, June 2001), IEEE Computer Society, pp. 143--156. Google ScholarGoogle ScholarDigital LibraryDigital Library
  22. The Mathworks. Stateflow---Design and simulate event-driven systems. http://www.mathworks.com/products/stateflow/.Google ScholarGoogle Scholar

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
    LCTES '06: Proceedings of the 2006 ACM SIGPLAN/SIGBED conference on Language, compilers, and tool support for embedded systems
    June 2006
    220 pages
    ISBN:159593362X
    DOI:10.1145/1134650
    • cover image ACM SIGPLAN Notices
      ACM SIGPLAN Notices  Volume 41, Issue 7
      Proceedings of the 2006 LCTES Conference
      July 2006
      208 pages
      ISSN:0362-1340
      EISSN:1558-1160
      DOI:10.1145/1159974
      Issue’s Table of Contents

    Copyright © 2006 ACM

    Publisher

    Association for Computing Machinery

    New York, NY, United States

    Publication History

    • Published: 14 June 2006

    Permissions

    Request permissions about this article.

    Request Permissions

    Check for updates

    Qualifiers

    • Article

    Acceptance Rates

    Overall Acceptance Rate116of438submissions,26%

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!