An attempt to confront asynchronous reality to synchronous modelization in the ESTEREL language
Programming in ESTEREL a large real-time application with various specific problems issued from the domain of applications (automatic manufacturing process) shows the problem of an asynchronous reality opposed to a synchronous expression. Since the application has an asynchronous nature and the language was synchronous, we therefore searched to develop systematic methods to adapt synchronous programming to asynchronous context. In order to help us and to define accurately the problems, we classified the events by their nature so as to find a systematic implementation for each class.
We found systematic solutions for most of the problems but some persist and look like a shadow over the programmer who wants to use ESTEREL. If memorizing the state of a component is no more a problem, controlling the number of states produced by the compiler remains one. The programmer will always be haunt by the risk to make the automaton explose but, maybe, he is better driven than before.
• actions have a no-null execution duration and they may be either resumed or restarted and they may be assigned a non-interruptible property
• events are complex entities which may be assigned properties so that either they are fleeting or they have single or multiple occurrences memorization.
Moreover, its operational semantics makes it possible to compile the ELECTRE programs into Finite State Automata. We are currently working on the translation from ELECTRE to ESTEREL.
Unable to display preview. Download preview PDF.
- G. Berry, G. Gonthier: The Esterel Synchronous Programming Language: Design Semantics, Implementation; Technical Report, ENSMP/INRIA, 1989.Google Scholar
- G. Berry, P. Couronné, G. Gonthier: Programmation synchrone des systèmes réactifs: Le langage Esterel; Technical Report, ENSMP/INRIA, 1987.Google Scholar
- A. Benveniste, P. Bournai, T. Gautier, P. Le Guernic: Signal: A Data-Flow Oriented Language for Signal Processing; IEEE Trans. on ASSP, ASSP-34, N∘2, 1986, pp. 362–374.Google Scholar
- P. Caspi, N. Halbwachs, D. Pilaud, J. Plaice: Lustre: A Declarative Language for Programming Synchronous Systems; 14th ACM Symp. on Principles of Programming Languages, Munich, january 1987.Google Scholar
- E. Coste-Manière: Synchronisme and asynchronisme dans la programmation des systèmes robotiques: apport du langage ESTEREL and de concepts objets; Doctor Thesis, Ecole des Mines de Paris, juillet 1991.Google Scholar
- D. Creusot, J. Perraud, O. Roux: Le Système Electre; Intern Report, LAN/ENSM n∘ 89.01, january, 1989.Google Scholar
- ESTEREL V3: Language Reference Manual (V3.1r3); CISI Ingénierie, december 1989.Google Scholar
- D. Harel: Statecharts: A Visual Approach to Complex Systems; Weizmann Institute of Science, Rehovot, Israël, 1984.Google Scholar
- D. Harel, A. Pnueli: On the development of reactive Systems; NATO ASI Series vol. F13, Logics and Models of Concurrent Systems, Springer-Verlag Berlin Heidelberg, 1985.Google Scholar
- J. Perraud, O.Roux, M. Huou: Operational Semantics of a kernel of the language ELECTRE; Theoretical Computer Science, N∘100, november 1992, to appear.Google Scholar
- M. Richard: Etudes des Langages Réactifs Synchrones: Application dans le langage ESTEREL; Master of Science, Computer Science Department of the Université Laval (Québec), april 1991.Google Scholar
- Y. Trinquet, A-M. Leclech-Deplanche: Description d' un procédé de fabrication; IUTof Nantes, G.E.I.I., march 1990.Google Scholar