Conference article

The OpenModelica Integrated Modeling, Simulation, and Optimization Environment

Peter Fritzson
PELAB – Programming Environment Lab, Dept. of Computer and Information Science, Linköping University, SE-581 83 Linköping, Sweden

Adrian Pop
PELAB – Programming Environment Lab, Dept. of Computer and Information Science, Linköping University, SE-581 83 Linköping, Sweden

Adeel Asghar
PELAB – Programming Environment Lab, Dept. of Computer and Information Science, Linköping University, SE-581 83 Linköping, Sweden

Bernhard Bachmann
PELAB – Programming Environment Lab, Dept. of Computer and Information Science, Linköping University, SE-581 83 Linköping, Sweden

Willi Braun
FH Bielefeld, Bielefeld, Germany

Robert Braun
PELAB – Programming Environment Lab, Dept. of Computer and Information Science, Linköping University, SE-581 83 Linköping, Sweden

Lena Buffoni
PELAB – Programming Environment Lab, Dept. of Computer and Information Science, Linköping University, SE-581 83 Linköping, Sweden

Francesco Casella
Dept. Electronics and Information, Politecnico di Milano, Milan, Italy

Rodrigo Castro
Dept. Computer Science, Universidad de Buenos Aires, Argentina

Alejandro Danós
Dept. Computer Science, Universidad de Buenos Aires, Argentina

Rüdiger Franke
ABB AG, DE-68309 Mannheim, Germany

Mahder Gebremedhin
PELAB – Programming Environment Lab, Dept. of Computer and Information Science, Linköping University, SE-581 83 Linköping, Sweden

Bernt Lie
University of South-Eastern Norway, Porsgrunn, Norway

Alachew Mengist
PELAB – Programming Environment Lab, Dept. of Computer and Information Science, Linköping University, SE-581 83 Linköping, Sweden

Kannan Moudgalya
IIT Bombay, Mumbai, India

Lennart Ochel
PELAB – Programming Environment Lab, Dept. of Computer and Information Science, Linköping University, SE-581 83 Linköping, Sweden

Arunkumar Palanisamy
PELAB – Programming Environment Lab, Dept. of Computer and Information Science, Linköping University, SE-581 83 Linköping, Sweden

Wladimir Schamai
Danfoss Power Solutions GmbH & Co. OHG, Offenbach, Germany

Martin Sjölund
PELAB – Programming Environment Lab, Dept. of Computer and Information Science, Linköping University, SE-581 83 Linköping, Sweden

Bernhard Thiele
PELAB – Programming Environment Lab, Dept. of Computer and Information Science, Linköping University, SE-581 83 Linköping, Sweden

Volker Waurich
TU Dresden, Dresden, Germany

Per Östlund
PELAB – Programming Environment Lab, Dept. of Computer and Information Science, Linköping University, SE-581 83 Linköping, Sweden

Download articlehttp://dx.doi.org/10.3384/ecp18154206

Published in: Proceedings of The American Modelica Conference 2018, October 9-10, Somberg Conference Center, Cambridge MA, USA

Linköping Electronic Conference Proceedings 154:22, p. 206-219

Show more +

Published: 2019-02-26

ISBN: 978-91-7685-148-7

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

Abstract

OpenModelica is currently the most complete opensource Modelica- and FMI-based modeling, simulation, optimization, and model-based development environment. Moreover, the OpenModelica environment provides a number of facilities such as debugging; optimization; visualization and 3D animation; web-based model editing and simulation; scripting from Modelica, Python, Julia, and Matlab; efficient simulation and co-simulation of FMI-based models; compilation for embedded systems; Modelica-UML integration; requirement verification; and generation of parallel code for multi-ore architectures. The environment is based on Modelica and uses an extended version of Modelica for its implementation. This overview paper intends to give an up-to-date brief description of the capabilities of the system, and the main vision behind its development.

Keywords

Modelica, OpenModelica, MetaModelica, FMI, modeling, simulation, optimization, development, environment, compilation, embedded system, real-time

References

Peter Aronsson. Automatic Parallelization of Equation-Based Simulation Programs. Linköping Studies in Science and Technology, Ph.D. Thesis No. 1022. June 14, 2006. URN: urn:nbn:se:liu:diva-7446

Adeel Asghar, Sonia Tariq, Mohsen Torabzadeh-Tari, Peter Fritzson, Adrian Pop, Martin Sjölund, Parham Vasaiely, and Wladimir Schamai. An Open Source Modelica Graphic Editor Integrated with Electronic Notebooks and Interactive Simulation. In Proc. of the 8th International Modelica Conference 2011, pp. 739–747. Modelica Association, March 2011.Linköping University, Sweden, 2010.

Inderpreet Arora, Kannan Moudgalya, Sachitanand Malewar. A low cost, open source, single board heater system. In Proc. 4th IEEE International Conference on E-Learning in Industrial Electronics (ICELIE), Nov 7-10, 2010. IEEE Xplore, DOI: 10.1109/ICELIE.2010.5669868

Bernhard Bachmann, Lennart Ochel, Vitalij Ruge, Mahder Gebremedhin, Peter Fritzson, Vaheed Nezhadali, Lars Eriksson, Martin Sivertsson. Parallel Multiple-Shooting and Collocation Optimization with OpenModelica. In Proceedings of the 9th International Modelica Conference (Modelica’2012), Munich, Germany, Sept.3-5, 2012

Lutz Berger, Martin Sjölund, Bernhard Thiele. Code generation for STM32F4 boards with Modelica device drivers. In Proc.of 8th International Workshop on Equation-Based Object-Oriented Modeling Languages and Tools, Munich, Germany, Dec 1, 2017. Published by ACM Digital Library. doi:10.1145/3158191.3158204

Jeff Bezanson, Alan Edelman, Stefan Karpinski and Viral B. Shah. Julia: A Fresh Approach to Numerical Computing. SIAM Review, 59: 65–98. 2017 doi: 10.1137/141000671.

Willi Braun, Francesco Casella, and Bernhard Bachmann Solving Large-scale Modelica Models: New Approaches and Experimental Results using OpenModelica, In Proc 12th Int. Modelica Conference, May 15-17, 2017, Prague, Czech Republic, pp. 557-563, doi:10.3384/ecp17132557

Dag Brück, Hilding Elmqvist, Sven-Erik Mattsson, and Hans Olsson. Dymola for Multi-Engineering Modeling and Simulation. In Proceedings of the 2nd International Modelica Conference, Oberpfaffenhofen, Germany, Mar. 18–19, 2002

Lena Buffoni and Peter Fritzson. Expressing Requirements in Modelica. In Proceedings of the 55th Scandinavian Conference on Simulation and Modeling (SIMS’2014), available at www.scan-sims.org. Aalborg, Denmark, Oct 21-22, 2014.

Lena Buffoni, Adrian Pop, and Alachew Mengist. Traceability and Impact Analysis in Requirement Verification. In Proc.of 8th International Workshop on Equation-Based Object-Oriented Modeling Languages and Tools, Munich, Germany, Dec 1, 2017. Published by ACM Digital Library. doi:10.1145/3158191.3158207

Francesco Casella. Simulation of Large-Scale Models in Modelica: State of the Art and Future Perspectives. In Proceedings of the 11th International Modelica Conference, Sept 21-23 2015, Versailles, France, pp. 459-468, doi:10.3384/ecp15118459

Alejandro Danós, Willi Braun, Peter Fritzson, Adrian Pop, Hugo Scolnik, and Rodrigo Castro. Towards an OpenModelica-based Sensitivity Analysis Platform Including Optimization-driven Strategies. In Proc.of 8th International Workshop on Equation-Based Object-Oriented Modeling Languages and Tools, Munich, Germany, Dec 1, 2017. Published by ACM Digital Library. doi:10.1145/3158191.3158206

Hilding Elmqvist, Dag Bruck, and Martin Otter. Dymola—User’s Manual. Dynasim AB, Research Park Ideon, SE-223 70, Lund, Sweden, 1996

Dassault Systèmes. Dymola. Systems Engineering Overview. https://www.3ds.com/products-services/catia/products/dymola/ Accessed Sept. 3, 2018.

Anders Fernström, Ingemar Axelsson, Peter Fritzson, Anders Sandholm, Adrian Pop. OMNotebook – Interactive WYSIWYG Book Software for Teaching Programming. In Proc. of the Workshop on Developing Computer Science Education – How Can It Be Done?. Linköping University, Dept. Computer & Inf. Science, Linköping, Sweden, March 10, 2006.

Rüdiger Franke, Marcus Walther, Niklas Worschech, Willi Braun, and Bernhard Bachmann. Model-based Control with FMI and a C++ Runtime for Modelica. In Proceedings of the 11th International Modelica Conference, Versailles, France, September 21-23, 2015. Published by LIU Electronic Press. doi:10.3384/ecp15118339

Rüdiger Franke, Sven Erik Mattsson, Martin Otter, Karl Wernersson, Hans Olsson, Lennart Ochel, and Torsten Blochwitz. Discrete-time Models for Control Applications with FMI. In Proceedings of the 12th International Modelica Conference, Prague, Czech Republic, May 15-17, 2017. Published by LIU Electronic Press. doi: 10.3384/ecp17132507

Peter Fritzson, Lars Viklund, Dag Fritzson, and Johan Herber. High Level Mathematical Modeling and Programming in Scientific Computing, IEEE Software, pp 77–87, July 1995.

Peter Fritzson, Peter Aronsson, Håkan Lundvall, Kaj Nyström, Adrian Pop, Levon Saldamli, and David Broman. The OpenModelica Modeling, Simulation, and Software Development Environment. In Simulation News Europe, 44/45, December 2005. See also: http://www.openmodelica.org. An earlier version in Proceedings of the 46th Conference on Simulation and Modelling of the Scandinavian Simulation Society (SIMS2005), Trondheim, Norway, October 13-14, 2005.

Peter Fritzson. MathModelica - An Object Oriented Mathematical Modeling and Simulation Environment. Mathematica Journal, Vol 10, Issue 1. February. 2006.

Peter Fritzson, Adrian Pop, David Broman, Peter Aronsson. Formal Semantics Based Translator Generation and Tool Development in Practice. In Proc. of the 20th Australian Software Engineering Conference (ASWEC 2009), Gold Coast, Queensland, Australia, April 14 – 17, 2009.

Peter Fritzson, Adrian Pop, and Martin Sjölund. Towards Modelica 4 Meta-Programming and Language Modeling with MetaModelica 2.0. Technical reports in Computer and Information Science, No 10, Linköping University Electronic Press. February 2011. URL http://urn.kb.se/resolve?urn=urn:nbn:se:liu:diva-68361

Peter Fritzson. Principles of Object Oriented Modeling and Simulation with Modelica 3.3: A Cyber-Physical Approach. 1250 pages. ISBN 9781-118-859124, Wiley IEEE Press, 2014.

Peter Fritzson, Bernhard Bachmann, Kannan Moudgalya, Francesco Casella, Bernt Lie, Jiri Kofranek, Massimo Ceraolo, Christoph Nytsch Geusen, Luigi Vanfretti, (editors). Introduction to Modelica with Examples in Modeling, Technology, and Applications. Published by Linköping University Electronic Press, series ”Linköping University Interdisciplinary Studies” with ISSN 1650-9625. On-line: http://omwebbook.openmodelica.org/ Accessed Sept 3, 2018.

Dag Fritzson, Robert Braun, and Jan Hartford. Composite modelling in 3-D mechanics utilizing Transmission Line Modelling (TLM) and Functional Mock-up Interface (FMI) Modeling, Identication and Control, Vol. 39, No. 3, pp. 179-190, 2018.

Peter Fritzson, Bernhard Bachmann, Kannan Moudgalya, Francesco Casella, Bernt Lie, Jiri Kofranek, Massimo Ceraolo, Christoph Nytsch Geusen, Luigi Vanfretti, (editors). Introduction to Modelica with Examples in Modeling, Technology, and Applications Published by Linköping University Electronic Press, series ”Linköping University Interdisciplinary Studies” with ISSN 1650-9625. On-line: http://omwebbook.openmodelica.org/ Accessed Sept 3, 2018.

Mahder Gebremedhin. ParModelica: Extending the Algorithmic Subset of Modelica with Explicit Parallel LanguageConstructs for Multi-core Simulation. Master Thesis, Department of Computer and Information Science, Linköping University, Oct. 2011. URN: urn:nbn:se:liu:diva-71612

Mahder Gebremedhin and Peter Fritzson. Parallelizing Simulations with Runtime Profiling and Scheduling, In Proc..of 8th International Workshop on Equation-Based Object-Oriented Modeling Languages and Tools, Munich, Germany, 2017. Published by ACM.

Julia org. Julia Language Documentation, Release 1.0. Accessed August 31, 2018, www.julialang.org

Eva-Lena Lengquist-Sandelin, Susanna Monemar, Peter Fritzson, and Peter Bunus. DrModelica - An Interactive Tutoring Environment for Modelica. In Proceedings of the 3rd International Modelica Conference, Nov. 3-4, Linköping, Sweden, 2003

Bernt Lie, Sudeep Bajracharya, Alachew Mengist, Lena Buffoni, Arunkumar Palanisamy, Martin Sjölund, Adeel Asghar, Adrian Pop, Peter Fritzson. API for Accessing OpenModelica Models From Python. In Proceedings of the 9th Eurosim Congress on Modelling and Simulation, EuroSim2016, Oulu, Finland, September 12-16, 2016. Published by IEEE, ISBN 978-1-5090-4119-0, pp. 707--713; http://eurosim2016.

MathWorks. Matlab product overview. https://www.mathworks.com/products/matlab.html Accessed Sept 3, 2018.

Nils Menager, Niklas Worschech, and Lars Mikelsons. A oolchain for Rapid Control Prototyping using Rexroth Controllers and Open Source Software. In Proceedings of the 10th International Modelica Conference (Modelica’2014), Lund, Sweden, March.10-12, 2014.

Robert Milner, Mads Tofte, Robert Harper, and David MacQueen, The Definition of Standard ML - Revised. MIT Press. ISBN: 0-262-63181-4. Year 1997

Modelica Association. Modelica: A Unified Object-oriented Language for Physical Systems Modeling, Language Specification Version 3.4. April 10, 2017. URL http://www.modelica.org/

Modelica Association. SSP – MA Project for System Structure and Parameterization of Components for Virtual System Design. https://www.modelica.org/projects Accessed Sept 3, 2018.

Kannan Moudgalya, Bhargava Nemmaru, Kaushik Datta, Priyam Nayak, Peter Fritzson, and Adrian Pop. Large Scale Training through Spoken Tutorials to Promote and use OpenModelica. . In Proceedings of the 12th International Modelica Conference (Modelica’2017), Prague, Czech Republic, May, 15-17, 2017.

OCaml org. OCaml web site. https://ocaml.org/ Accessed Sept 3, 2018
.
OSMC. OpenModelica Users Guide, latest version. https://www.openmodelica.org/doc/OpenModelicaUsersGuide/latest/ Accessed September 3, 2018a.

OSMC. OMSimulator 1.0 documentation. Chapter 6 in https://www.openmodelica.org/doc/OpenModelicaUsersGuide/OpenModelicaUsersGuide-v1.12.0.pdf Accessed September 3, 2018b.

OSMC. OMSimulator 2.0 documentation: https://openmodelica.org/doc/OMSimulator/html/ Accessed September 3, 2018c.

Adrian Pop, Peter Fritzson, Andreas Remar, Elmir Jagudin, and David Akhvlediani. OpenModelica Development Environment with Eclipse Integration for Browsing, Modeling, and Debugging. In Proceedings of the 5th International Modelica Conference (Modelica’2006), Vienna, Austria, Sept. 4-5, 2006.

Adrian Pop and Peter Fritzson, MetaModelica: A Unified Equation-Based Semantical and Mathematical Modeling Language. In D. Lightfoot and C. Szyperski, editors, Modular Programming Languages, Vol. 4228 of Lecture Notes in Computer Science, pages 211{229. Springer Berlin / Heidelberg, 2006.DOI:10.1007/11860990 14.

Adrian Pop. Integrated Model-Driven Development Environments for Equation-Based Object-Oriented Languages. Ph.D. Thesis. Linköping Studies in Science and Technology, Dissertation No. 1183, June 5, 2008.

Adrian Pop and Peter Fritzson. MetaModelica: A Unified Equation-Based Semantical and Mathematical Modeling Language. In Proceedings of Joint Modular Languages Conference 2006 (JMLC2006) LNCS 4228, Springer Verlag. Jesus College, Oxford, England, Sept 13-15, 2006.

Adrian Pop, Martin Sjölund, Adeel Asghar, Peter Fritzson, Francesco Casella. Integrated Debugging of Modelica Models. Modeling, Identication, and Control, Vol 35, No 2, pp. 93-107, DOI: http://dx.doi.org/10.4173/mic.2014.2.3, ISSN 1890-1328, Aug 2014.

Python Software Foundation. Python Programming Language web page. https://www.python.org/ Accessed Sept 3, 2018.

Wladimir Schamai. Model-Based Verification of Dynamic System Behavior against Requirements - Method, Language, and Tool. Linköping Studies in Science and Technology, Dissertation No. 1547, Nov 12, 2013. DOI: 10.3384/diss.diva-98107

Wladimir Schamai, Lena Buffoni, Peter Fritzson. An Approach to Automated Model Composition Illustrated in the Context of Design Verification. Modeling, Identification and Control, Vol. 35, No. 2, pp. 79-91, ISSN 1890-1328, Aug. 2014

Wladimir Schamai, Lena Buffoni, Nicolas Albarello, Pablo Fontes De Miranda, and Peter Fritzson. An Aeronautic Case Study for Requirement Formalization and Automated Model Composition in Modelica. In Proceedings of the 11th International Modelica Conference (Modelica’2015), Paris, France, September, 21-23, 2015

Martin Sjölund, Peter Fritzson, and Adrian Pop. Bootstrapping a Compiler for an Equation-Based Object-Oriented Language. DOI: 10.4173/mic.2014.1.1.
Modeling, Identification and Control, Vol 35, No 1, pp 1-19, 2014.

Martin Sjölund. Tools and Methods for Analysis, Debugging, and Performance Improvement of Equation-Based Models. Ph.D. Thesis. Linköping Studies in Science and Technology, Dissertation No. 1664, June 1, 2015.

Bernhard Thiele, Thomas Beutlich, Volker Waurich, Martin Sjölund, and Tobias Bellmann. Towards a Standard-Conform, Platform-Generic and Feature-Rich Modelica Device Drivers Library. In Proc. of the 12th Int. Modelica Conference, Prague, Czech Republic, May 2017.

Hubert Thieriot, Maroun Nemer, Mohsen Torabzadeh-Tari, Peter Fritzson, Rajiv Singh, and John John Kocherry. Towards Design Optimization with OpenModelica Emphasizing Parameter Optimization with Genetic Algorithms. In Proceedings of the 8th International Modelica Conference (Modelica’2011), Dresden, Germany, March.20-22, 2011.

Marcus Walther, Volker Waurich, Christian Schubert, and Ines Gubsch. Equation based parallelization of Modelica models. In Proceedings of the 10th International Modelica Conference (Modelica’2014), Lund, Sweden, March.10-12, 2014.

Volker Waurich and Jürgen Weber. Interactive FMU-Based Visualization for an Early Design Experience. In Proc. of the 12th Int. Modelica Conference, Prague, Czech Republic, May 2017.

Stephen Wolfram. The Mathematica Book, 5th Ed. Wolfram Media, Inc, 2003.

Wolfram Research. Wolfram System Modeler Documentation and Overview. http://www.wolfram.com/system-modeler/ Accessed September 3, 2018.

Andreas Wächter and Lorenz. Biegler, On the Implementation of a Primal-Dual Interior Point Filter Line Search Algorithm for Large-Scale Nonlinear Programming, Mathematical Programming 106 (2006) 25-57. Also: (Ipopt) https://projects.coin-or.org/Ipopt

Johan Åkesson. Optimica—An Extension of Modelica Supporting Dynamic Optimization. In Proc. of 6th International Modelica Conference 2008. Modelica. Association, March 2008

Citations in Crossref