LUSTRE: a declarative language for real-time programming
POPL '87 Proceedings of the 14th ACM SIGACT-SIGPLAN symposium on Principles of programming languages
On the development of reactive systems
Logics and models of concurrent systems
The ESTEREL synchronous programming language: design, semantics, implementation
Science of Computer Programming
Proof, language, and interaction
Synchronous Programming of Reactive Systems
Synchronous Programming of Reactive Systems
Mode-Automata: About Modes and States for Reactive Systems
ESOP '98 Proceedings of the 7th European Symposium on Programming: Programming Languages and Systems
Argos: an automaton-based synchronous language
Computer Languages
Fundamenta Informaticae - SPECIAL ISSUE ON CONCURRENCY SPECIFICATION AND PROGRAMMING (CS&P 2005) Ruciane-Nide, Poland, 28-30 September 2005
A Petri net-based model for verification of obligations and accountability in cooperative systems
IEEE Transactions on Systems, Man, and Cybernetics, Part A: Systems and Humans
Model driven code generation for critical and adaptative embedded systems
ACM SIGBED Review - Special Issue on the 2nd International Workshop on Adaptive and Reconfigurable Embedded Systems (APRES'09)
A component model that is both control-driven and data-driven
Proceedings of the 14th international ACM Sigsoft symposium on Component based software engineering
Towards encapsulating data in component-based software systems
CBSE'06 Proceedings of the 9th international conference on Component-Based Software Engineering
Controller patterns for component-based reactive control software systems
Proceedings of the 15th ACM SIGSOFT symposium on Component Based Software Engineering
Property networks allowing oracle-based mode-change propagation in hierarchical components
Proceedings of the 15th ACM SIGSOFT symposium on Component Based Software Engineering
Fundamenta Informaticae - SPECIAL ISSUE ON CONCURRENCY SPECIFICATION AND PROGRAMMING (CS&P 2005) Ruciane-Nide, Poland, 28-30 September 2005
Hi-index | 0.00 |
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.