OpenModelica 1.6 Release – Open Source Cyber-Physical Modeling and Simulation
OPENMODELICA IS AN OPEN-SOURCE model-based cyber-physical mathematical modeling, architectural description and simulation environment intended for industrial and academic usage. Its long-term development is supported by a non-profit organization – the Open Source Modelica Consortium (OSMC)
This OpenModelica 1.6 release primarily contains model analysis/flattening, simulation, and performance improvements regarding the multi-domain Modelica Standard Library 3.1 support, but also has an interesting new tool – the OMEdit graphic connection editor, a new educational material called DrControl for teaching control systems with Modelica, and an improved ModelicaML UML/Modelica profile with better support for cyber-physical modeling and requirement handling (see also www.openmodelica.org, and the ITEA2 OPENPROD project www.openprod.org).
There is an also an opportunity to learn more about these technologies by participating in the OpenModelica and MODPROD workshops February 7-9 2011 on model-based development and OpenModelica tool and application issues, see www.modprod.liu.se and www.openmodelica.org, including the following talks:
- Bran Selic, President of Malina Software, previously at IBM and a main designer of UML, "Abstraction Patterns in Model-Based Engineering"
- Chris Paredis, Professor at Georgia Institute of Technology, Atlanta, USA, "The OMG SysML-Modelica Transformation Specification: Supporting Model-Based Systems Engineering with SysML and Modelica"
- Francesco Casella, Professor at Politecnico di Milano, Italy, "Object-oriented Modeling from a Control Engineer's Perspective: Past, Present, and Future“
- Kilian Link, Siemens AG, Germany ”Fluid Modeling with OpenModelica: Recent Improvements and Further Needs”
This OpenModelica 1.6 release includes the following improvements compared to the 1.5 release:
- A new improved open source graphic model connection editor called OMEdit, supporting easy-to-use graphical drag-and-drop modeling, and Modelica 3.1 standard graphical annotations, which makes it possible to move models back and forth to other Modelica tools without problems. The editor has been implemented by students at Linköping University and is based on the C++ Qt library.
Fig 1. The OpenModelica graphical connection editor, OMEdit
- DrControl, a new active electronic book course material based on OMNotebook for teaching control theory and modeling with Modelica. It contains explanations about basic concepts of control theory along with Modelica exercises. Observer models, Kalman filter, and linearization of non-linear problems are some of the topics in the course used in control of pendulum, DC motor, and tank system models among others.
Fig 2. The active electronic notebook, DrControl
-
An improved ModelicaML UML/Modelica profile with better support for cyber-physical hardware/software modeling and requirement handling.
Fig 3. ModelicaML for cyber-physical modeling
- Analysis/flattening of the whole Modelica Standard Library 3.1 (MSL 3.1), except Media and Fluid.
- Improved speed of the OpenModelica compiler frontend by a factor of 5-20 compared to OpenModelica 1.5 for a number of models, especially in the MultiBody library.
- Reduced memory consumption by the OpenModelica compiler frontend, for certain large models a reduction of a factor 50.
- Reorganized, more modular OpenModelica compiler backend, can now handle approximately 30 000 equations, compared to previously a maximum of 10 000 equations.
- Better error messages from the compiler, especially regarding functions.
- Improved simulation coverage of MSL 3.1 except Media and Fluid. Many models that did not simulate before are now simulating. However, still a number of models in MSL 3.1 do not yet simulate with OpenModelica.
- Enhanced OpenModelica Eclipse plug-in MDT – Modelica Development Tooling 0.7.7 with small improvements, more settings, improved error detection in console, etc.
- Progress in supporting the Media library, but simulation is not yet possible.
- Improved support for enumerations, both in the frontend and the backend.
- Implementation of stream connectors.
- Support for linearization through symbolic Jacobians.
- Many bug fixes.
The development work is organized by the expanding Open Source Modelica Consortium, currently 32 organizations.