SYRF Project
Task 2: "Combination of Formalisms"
Abstract of deliverable 2.3
Back to the SYRF Home Page


<under construction, january 20th, 2000...>
 

Achieved Results: Work has continued in the three main lines of research within this work package, that is:


The combination of formalisms on the common format DC

A translator from Signal to DC+ is available in the Signal compiler. Besides that, the Signal compiler has been restructured so that the internal graph representation is now the same one for Signal programs and for DC+ ones. This gives access to the same functionalities for DC+ and for Signal programs: clock calculus, graph calculus, inter-format transformations, interface calculus, code generation, access to proof systems, etc. On the other hand, translators to DC exist from Lustre-V5, mode-automata and Esterel. The Signal-DC+ environment has been used on the climatic chamber application (SYRF case study) to integrate components developed in different formalisms and to generate a distributed implementation. This experiment has been described in [islip99]. The considered case study consists of a climatic chamber with a control system which regulates and monitors the flow and the temperature of air which is circulating in the chamber.
 

Mode automata

Last year, we were able to compile flat mode-automata into DC. We proposed a solution consisting of 1) encoding the control part (automaton) directly into DC 2) encapsulating each system of Lustre equations into syntactically correct Lustre programs, then passed to the Lustre-to-DC compiler. 3) analysing the resulting DC code, extracting the relevant parts, and merging them into the automaton encoding. This year, we worked on the translation of mode-automata directly into DC, mainly because the above technique is difficult to use when mode-automata are composed. We first defined an extended version of mode-automata with parallel and hierarchic compositions. We also defined a compilation scheme from this language to DC. The principle is to compile mode-automata programs structurally, and to use activation conditions a lot. The compilation algorithm is described in [Maraninchi-Remond-Raoul - CC00]. The new compiler has been applied to part of the program proposed in the SAAB Case study. Producing DC code allows to mix some parts written in the mode-automata language, and some other parts written in any language that can be compiled into DC. We actually apply this mechanism for a part written in pure Lustre.
 

Synchronous object-oriented programming

The language sE has undergone a major re-design in the last year of the project. The re-design affects several aspects. In particular:

To summarise: sE offers a fairly uniform and smooth integration of several formalisms in the field of synchronous programming, In particular, it offers a uniform interpretation of sporadic and periodic signals. Whether mixing of styles will be accepted in the full generality provided, will have to be seen in future. Restriction of the interaction of sporadic and periodic signals as, e.g. in mode automata, may be a future choice, though we believe that our mechanisms are simple enough. As an enhancement, sE offers asynchronous communication via a shared memory / blackboard architecture. This facility has been developed in context of another funded research project. The communication is non-blocking. Signals that are communicated have a time stamp which allows to set up watchdogs to check for the reliability / aging of values. sE has been instrumented for this communication. in particular, a simple mechanism has been set up to access real system time, and to use it in context of a synchronous program without giving up the synchrony hypothesis.

References and Publications:

  1. C2A-SYNCHRON.

  2. The common format of synchronous languages -- The declarative code DC.
    Technical report, Eureka-SYNCHRON Project, October 1995.
  3. F.Maraninchi, Y.Rémond and Y. Raoul

  4. MATOU : An Implementation of Mode-automata
    International Conference on Compiler Construction - CC2000 - Berlin, march 2000
  5. The synchronousEifel Site
  6. A. Benveniste, T. Gautier, P. Le Guernic, E. Rutten

  7. Distributed code generation of dataflow synchronous programs: the SACRES approach
    ISLIP 98 - Proceedings of the Eleventh Annual International Symposium on Languages for Intensional Programming - Palo Alto, California - May 7--9, 1998