Towards direct execution of esterel programs on reactive processors

Esterel is a system-level language for the modelling, verification and synthesis of control dominated (reactive) embedded systems. Existing Esterel compilers generate intermediate C code that is subsequently mapped to a suitable target processor. The generated code emulates the reactive features of the language due to lack of support for these features on traditional processors. The resultant code is thus inefficient and bulky. Therefore, Esterel is not so effective for resource constrained embedded systems. This paper describes a reactive microcontroller called RePIC that has native support for reactive features of the language. Limited support for concurrent Esterel programs is demonstrated through a dual-processor RePIC architecture. A new benchmark suite for comparing the reactive performance of processors called the Auckland Reactive Benchmark (ARE-Bench) is used to demonstrate significant performance improvement and code compaction due to the proposed approach. This paper, thus, paves the way for resource constrained embedded system development using a subset of Esterel supported by RePIC like architectures.

[1]  Gérard Berry,et al.  The Esterel Synchronous Programming Language: Design, Semantics, Implementation , 1992, Sci. Comput. Program..

[2]  Luciano Lavagno,et al.  Synthesis of Software Programs for Embedded Control Applications , 1999, 32nd Design Automation Conference.

[3]  Zoran A. Salcic,et al.  REFLIX: a processor core with native support for control-dominated embedded applications , 2004, Microprocess. Microsystems.

[4]  Stephen A. Edwards,et al.  An Esterel compiler for large control-dominated systems , 2002, IEEE Trans. Comput. Aided Des. Integr. Circuits Syst..

[5]  Massimiliano Chiodo,et al.  Software synthesis for complex reactive embedded systems , 1999, Proceedings 1999 IEEE International Conference on Computer Design: VLSI in Computers and Processors (Cat. No.99CB37040).

[6]  Frédéric Boussinot,et al.  The ESTEREL language , 1991, Proc. IEEE.

[7]  Paul Caspi,et al.  Automatic Distribution of Reactive Systems for Asynchronous Networks of Processors , 1999, IEEE Trans. Software Eng..

[8]  Stephen A. Edwards Compiling Esterel into sequential code , 2000, DAC.

[9]  Rainer Leupers,et al.  Code generation for embedded processors , 2000, Proceedings 13th International Symposium on System Synthesis.

[10]  M. Schutti,et al.  VHDL design of embedded processor cores: the industry-standard microcontroller 8051 and 68HC11 , 1998, Proceedings Eleventh Annual IEEE International ASIC Conference (Cat. No.98TH8372).

[11]  Luciano Lavagno,et al.  Hardware-software co-design of embedded systems: the POLIS approach , 1997 .

[12]  S. Ramesh,et al.  Validation of Pipelined Processor Designs Using Esterel Tools: A Case Study , 1999, CAV.