Skip to main content

A Domain-Specific Language for Multitask Systems, Applying Discrete Controller Synthesis


We propose a simple programming language, called Nemo, specific to the domain of multitask real-time control systems, such as in robotic, automotive, or avionics systems. It can be used to specify a set of resources with usage constraints, a set of tasks that consume them according to various modes, and applications sequencing the tasks. We automatically obtain an application-specific task handler that correctly manages the constraints (if there exists one), through a compilation-like process including a phase of discrete controller synthesis. This way, this formal technique contributes to the safety of the designed systems, while being encapsulated in a tool that makes it usable by application experts. Our approach is based on the synchronous modelling techniques, languages, and tools.

[1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28]


  1. Henzinger TA, Horowitz B, Kirsch CM: Giotto: a time-triggered language for embedded programming. Proceedings of the IEEE 2003,91(1):84-99. 10.1109/JPROC.2002.805825

    Article  Google Scholar 

  2. Altisen K, Clodic A, Maraninchi F, Rutten É: Using controller synthesis to build property-enforcing layers. Proceedings of European Symposium on Programming (ESOP '03), April 2003, Warsaw, Poland

    Google Scholar 

  3. Borrelly J-J, Coste-Manière E, Espiau B, et al.: The ORCCAD architecture. International Journal of Robotics Research 1998,17(4):338-359. 10.1177/027836499801700403

    Article  Google Scholar 

  4. Rutten É: Programmation sûre des systèmes de contrôle/commande: le séquencement de tâches flot de données dans les langages réactifs, Document d'Habilitation à Diriger des Recherches.

  5. Maraninchi F, Rémond Y, Rutten É: Effective programming language support for discrete-continuous mode-switching control systems. Proceedings of the 40th IEEE Conference on Decision and Control (CDC '01), December 2001, Orlando, Fla, USA 3296-3301.

    Google Scholar 

  6. Maraninchi F, Rémond Y: Mode-automata: a new domain-specific construct for the development of safe critical systems. Science of Computer Programming 2003,46(3):219-254. 10.1016/S0167-6423(02)00093-X

    Article  MATH  Google Scholar 

  7. Colaço J-L, Pagano B, Pouzet M: A conservative extension of synchronous data-flow with state machines. Proceedings of the 5th ACM International Conference on Embedded Software (EMSOFT '05), September 2005, Jersey City, NJ, USA 173-182.

    Chapter  Google Scholar 

  8. Cassez F, Roux O: Compilation of the ELECTRE reactive language into finite transition systems. Theoretical Computer Science 1995,146(1-2):109-143. 10.1016/0304-3975(94)00136-7

    Article  MATH  MathSciNet  Google Scholar 

  9. Altisen K, Gößler G, Sifakis J: Scheduler modelling based on the controller synthesis paradigm. Journal of Real-Time Systems 2002,23(1):55-84. 10.1023/A:1015346419267

    Article  MATH  Google Scholar 

  10. Halbwachs N: Synchronous Programming of Reactive Systems. Kluwer Academic, Boston, Mass, USA; 1993.

    Book  MATH  Google Scholar 

  11. Halbwachs N: Synchronous programming of reactive systems, a tutorial and commented bibliography. Proceedings of the 10th International Conference on Computer Aided Verification (CAV '98), June 1998, Vancouver, BC, Canada, Lecture Notes in Computer Science 1427: 1-16.

    MathSciNet  Google Scholar 

  12. Benveniste A, Caspi P, Edwards SA, Halbwachs N, Le Guernic P, de Simone R: The synchronous languages 12 years later. Proceedings of the IEEE 2003,91(1):64-83. 10.1109/JPROC.2002.805826

    Article  Google Scholar 

  13. Le Guernic P: Compilation involving model-checking and controller synthesis. personal communication, 1996

    Google Scholar 

  14. Halbwachs N, Lagnier F, Raymond P: Synchronous observers and the verification of reactive systems. Proceedings of the 3rd International Conference on Algebraic Methodology and Software Technology (AMAST '93), June 1993, Twente, The Netherlands 83-96.

    Google Scholar 

  15. Potop-Butucaru D, de Simone R: Optimizations for faster execution of Esterel programs. Proceedings of the 1st ACM and IEEE International Conference on Formal Methods and Models for Co-Design (MEMOCODE '03), June 2003, Mont-Saint-Michel, France 227-236.

    Google Scholar 

  16. Chakrabarti A, de Alfaro L, Henzinger T, Mang F: Synchronous and bidirectional component interfaces. Proceedings of the 14th International Conference on Computer Aided Verification (CAV '02), July 2002, Copenhagen, Denmark 414-427.

    Google Scholar 

  17. Berry G: The foundations of Esterel. In Proof, Language, and Interaction: Essays in Honour of Robin Milner. Edited by: Plotkin G, Stirling C, Tofte M. MIT Press, Cambridge, Mass, USA; 2000:425-454.

    Google Scholar 

  18. Coste-Manière E, Turro N: The MAESTRO language and its environment: specification, validation and control of robotic missions. Proceedings of the IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS '97), September 1997, Grenoble, France 2: 836-841.

    Google Scholar 

  19. Ramadge PJ, Wonham WM: Supervisory control of a class of discrete event processes. SIAM Journal on Control and Optimization 1987,25(1):206-230. 10.1137/0325013

    Article  MATH  MathSciNet  Google Scholar 

  20. Darondeau P: Verification is autopsy. personal communication, October 2004

    Google Scholar 

  21. Marchand H, Bournai P, Le Borgne M, Le Guernic P: Synthesis of discrete-event controllers based on the signal environment. Discrete Event Dynamic Systems: Theory and Applications 2000,10(4):325-346. 10.1023/A:1008311720696

    Article  MATH  MathSciNet  Google Scholar 

  22. Marchand H, Rutten É: Managing multi-mode tasks with time cost and quality levels using optimal discrete control synthesis. Proceedings of the 14th Euromicro Conference on Real-Time Systems (ECRTS '02), June 2002, Vienna, Austria 241-248.

    Google Scholar 

  23. Kloukinas C, Nakhli C, Yovine S: A methodology and tool support for generating scheduled native code for real-time Java applications. Proceedings of the 3rd International Conference on Embedded Software (EMSOFT '03), October 2003, Philadelphia, Pa, USA, Lecture Notes in Computer Science 2855: 274-289.

    Google Scholar 

  24. Rutten É, Marchand H: Automatic generation of safe handlers for multi-task systems. In Rapport de Recherche 5345. INRIA, Le Chesnay Cedex, France; 2004.

    Google Scholar 

  25. Kloukinas C, Yovine S: Synthesis of safe, QoS extendible, application specific schedulers for heterogeneous real-time systems. Proceedings of the 15th Euromicro Conference on Real-Time Systems (ECRTS '03), July 2003, Porto, Portugal 287-294.

    Google Scholar 

  26. Delaval G, Rutten É: A domain-specific language for task handlers generation, applying discrete controller synthesis. Proceedings of the 21st Annual ACM Symposium on Applied Computing (SAC '06), April 2006, Dijon, France 1: 901-905.

    Google Scholar 

  27. Jagadeesan LJ, Puchol C, Olnhausen JV: Safety property verification of Esterel programs and applications to telecommunications software. Proceedings of the 7th International Conference on Computer Aided Verification (CAV '95), July 1995, Liège, Belgium, Lecture Notes in Computer Science 939: 127-140.

    Google Scholar 

  28. Girault A, Rutten É: Discrete controller synthesis for fault-tolerant distributed systems. Proceedings of the 9th International Workshop on Formal Methods for Industrial Critical Systems (FMICS '04), September 2004, Linz, Austria

    Google Scholar 

Download references

Author information

Authors and Affiliations


Corresponding author

Correspondence to Gwenaël Delaval.

Rights and permissions

Open Access This article is distributed under the terms of the Creative Commons Attribution 2.0 International License (, which permits unrestricted use, distribution, and reproduction in any medium, provided the original work is properly cited.

Reprints and permissions

About this article

Cite this article

Delaval, G., Rutten, É. A Domain-Specific Language for Multitask Systems, Applying Discrete Controller Synthesis. J Embedded Systems 2007, 084192 (2007).

Download citation

  • Received:

  • Revised:

  • Accepted:

  • Published:

  • DOI: