Conference article

Fundamentals of Synchronous Control in Modelica

Hilding Elmqvist
Dassault Systèmes AB, Ideon Science Park, Lund, Sweden

Martin Otter
DLR Institute of System Dynamics and Control, Wessling, Germany

Sven Erik Matsson
Dassault Systèmes AB, Ideon Science Park, Lund, Sweden

Download article

Published in: Proceedings of the 9th International MODELICA Conference; September 3-5; 2012; Munich; Germany

Linköping Electronic Conference Proceedings 76:1, p. 15-26

Show more +

Published: 2012-11-19

ISBN: 978-91-7519-826-2

ISSN: 1650-3686 (print), 1650-3740 (online)


The scope of Modelica 3.3 has been extended from a language primarily intended for physical systems modeling to modeling of complete systems by allowing the modeling of control systems and enabling automatic code generation for embedded systems.

This paper describes the fundamental synchronous language primitives introduced for increased correctness of control systems implementation since many more checks can be done at compile time. The approach is based on associating clocks to the variable types. Special operators are needed when accessing variables of another clock. This enables clock inference and increased correctness of the code since more extensive checking can be done at compile time.


Modelica; Synchronous; Control


Baur M.; Otter M.; and Thiele B. (2009): Modelica Libraries for Linear Control Systems. Proceedings of 7th International Modelica Conference; Como; Italy; September 20-22.

Benveniste A.; Caspi P.; Edwards S.A.; Halbwachs N.; Le Guernic P.; and Simone R. (2003): The Synchronous Languages Twelve Years Later. Proc. of the IEEE; Vol.; 91; No. 1. doi: 10.1109/JPROC.2002.805826.

Colaco J.-L.; and Pouzet M. (2003): Clocks as First Class Abstract Types. In Third International Conference on Embedded Software (EMSOFT’03); Philadelphia; Pennsylvania; USA; October 2003.

Elmqvist H.; Gaucher F.; Mattsson S.E; and Dupont F. (2012): State Machines in Modelica. Proceedings of 9th International Modelica Conference; Munich; Germany; September 3-5.

Forget J.; F. Boniol; D. Lesens; C. Pagetti (2008): A Multi-Periodic Synchronous Data-Flow Language. In 11th IEEE High Assurance Systems Engineering Symposium (HASE’08); Dec. 3-5 2008; Nanjing; China; pp. 251-260.

Modelica Association (2012): Modelica Language Specification Version 3.3.

Otter M.; Thiele B.; and Elmqvist H. (2012): A Library for Synchronous Control Systems in Modelica. Proceedings of 9th International Modelica Conference; Munich; Germany; September 3-5.

Pouzet M. (2006): Lucid Synchrone; Version 3.0; Tutorial and Reference Manual.

Looye G.; Thümmel M.; Kurze M.; Otter M.; and Bals J. (2005): Nonlinear Inverse Models for Control. Proceedings of 4th International Modelica Conference; ed. G. Schmitz; Hamburg; March 7-8.

Citations in Crossref