Abstract
In this paper, we present a new design methodology for synchronous reactive systems, based on a clear separation between control and data flow parts. This methodology allows to facilitate the specification of different kinds of systems and to have a better readability. It also permits to separate the study of the different parts by using the most appropriate existing tools for each of them.
Following this idea, we are particularly interested in the notion of running modes and in the Scade tool. Scade is a graphical development environment coupling data processing and state machines (modeled by the synchronous languages Lustre and Esterel). It can be used to specify, simulate, verify and generate C code. However, this tool does not follow any design methodology, which often makes difficult the understanding and the re-use of existing applications. We will show that it is also difficult to separate control and data flow parts using Scade. Regulation systems are better specified using mode-automata which allow adding an automaton structure to data flow specifications written in Lustre. When we observe the mode-structure of the mode-automaton, we clearly see where the modes differ and the conditions for changing modes. This makes it possible to better understand the behavior of the system.
In this work, we try to combine the advantages of Scade and running modes, in order to develop a new design methodology which facilitates the study of several systems by respecting the separation between control and data flows. This schema is illustrated through the Climate case study suggested by Esterel Technologies, in order to exhibit the benefits of our approch compared to the one advocated in Scade.
Preview
Unable to display preview. Download preview PDF.
Similar content being viewed by others
References
Harel, D., Pnueli, A.: On the development of reactive systems. Logics and Models of Concurrent Systems (NATO ASI Series) 13, 477–498 (1985)
Halbwachs, N.: Synchronous programming of reactive systems. Kluwer Academic Pub., Dordrecht (1993)
Zaffalon, L., Breguet, P.: Conception de Systèmes Réactifs. Revue Scientifique de l’EIVD (2001)
Berry, G., Benveniste, A.: The synchronous approach to reactive and real-time systems. Proceedings of the IEEE 79, 1270–1282 (1991)
Caspi, P., Pilaud, D., Halbwachs, N., Plaice, J.A.: Lustre, a declarative language for real time programming. In: Proceedings ACM Conference on Principles of Programming Languages (1987)
Halbwachs, N., Caspi, P., Raymond, P., Pilaud, D.: The synchronous data-flow programming language LUSTRE. Proceedings of the IEEE 79, 1305–1320 (1991)
Benveniste, A., Bournai, P., Gautier, T., Le Guernic, P.: SIGNAL: a Data Flow Oriented Language for Signal Processing, INRIA, centre de Rennes IRISA (1985)
Berry, G., Gonthier, G.: The Esterel Synchronous Programming Language: Design, Semantics, Implementation. Science of Computer Programming 19, 87–152 (1992)
Boussinot, F., De Simone, R.: The Esterel Language. Another Look at Real-Time Programming. Proceedings of the IEEE 79, 1293–1304 (1991)
Le Guernic, P., Gautier, T., Le Borgne, M., Le Maire, C.: Programming Real-Time applications with SIGNAL. Another Look at Real-Time Programming. Proceedings of the IEEE 79, 1321–1336 (1991)
Maraninchi, F., Rémond, Y.: Argos: an Automaton-Based Synchronous Language. Computer Languages, Elsevier 27, 61–92 (2001)
Esterel Technologies: Efficient Development of Airborn Software with SCADE Suite TM (2003), http://www.esterel-technologies.com/v3/?id=41490
Esterel Technologies: SCADE Language Reference Manual (2004)
Amey, P.: Correctness by Construction: better can also be cheaper. Journal of Defense Software Engineering (March 2002)
Andrés, C.: Representation and Analysis of Reactive Behaviors: A Synchronous Approach. Computational Engineering in Systems Applications (CESA). IEEE-SMC, 19–29 (July 1996)
Berry, G.: The Foundations of Esterel. Proofs, Languages, and Interaction, Essays in Honour of Robin Milner. MIT Press, Cambridge (2000)
Maraninchi, F., Rémond, Y.: Mode-automata: About modes and states for reactive systems. In: Hankin, C. (ed.) ESOP 1998. LNCS, vol. 1381. Springer, Heidelberg (1998)
Jourdan, M., Lagnier, F., Maraninchi, F., Raymond, P.: A multiparadigm language for reactive systems. In: IEEE International Conference on Computer Languages (ICCL), Toulouse, France (1994)
Pernet, N., Sorel, Y.: Optimized Implementation of Distributed Real-Time Embedded Systems Mixing Control and Data Processing. In: International Conference: Computer Applications in Industry and Engineering, Las Vegas, USA (November 2003)
Maraninchi, F., Rémond, Y.: Applying Formal Methods to Industrial Cases: The Language Approach (The Production-Cell and Mode-Automata). In: Proc. 5th International Workshop on Formal Methods for Industrial Critical Systems, Berlin (April 2000)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2005 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Labbani, O., Dekeyser, JL., Boulet, P. (2005). Mode-Automata Based Methodology for Scade. In: Morari, M., Thiele, L. (eds) Hybrid Systems: Computation and Control. HSCC 2005. Lecture Notes in Computer Science, vol 3414. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-540-31954-2_25
Download citation
DOI: https://doi.org/10.1007/978-3-540-31954-2_25
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-25108-8
Online ISBN: 978-3-540-31954-2
eBook Packages: Computer ScienceComputer Science (R0)