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.
- 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 Scholar
- 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 Scholar
- 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 Scholar
- André, C. Computing SyncCharts reactions. Electronic Notes in Theoretical Computer Science 88 (Oct. 2004), 3--19. Google Scholar
Digital Library
- Berry, G. The Constructive Semantics of Pure Esterel. Draft Book, 1999.Google Scholar
- 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 Scholar
- Berry, G., and Gonthier, G. The Esterel Synchronous Programming Language: Design, Semantics, Implementation. Science of Computer Programming 19, 2 (1992), 87--152. Google Scholar
Digital Library
- 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 Scholar
Cross Ref
- Estbench Esterel Benchmark Suite. http://www1.cs.columbia.edu/~sedwards/software/estbench-1.0.tar.gz.Google Scholar
- Edwards, S. A. CEC: The Columbia Esterel Compiler. http://www1.cs.columbia.edu/~sedwards/cec/.Google Scholar
- 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 Scholar
Cross Ref
- 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 Scholar
Digital Library
- 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 Scholar
- 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 Scholar
Cross Ref
- 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 Scholar
Digital Library
- 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 Scholar
Digital Library
- 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 Scholar
- Object Management Group. Unified Modeling Lanugage---UML Resource Page. http://www.uml.org.Google Scholar
- 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 Scholar
Digital Library
- Rational Software. Rational rose technical developer. http://www-306.ibm.com/software/awdtools/developer/technical/.Google Scholar
- 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 Scholar
Digital Library
- The Mathworks. Stateflow---Design and simulate event-driven systems. http://www.mathworks.com/products/stateflow/.Google Scholar






Comments