Glossary

Technical terms used in the course assignment material.

annotation

Modelica keyword. An annotation stores information that does not relate to the behavior of a model.

In Tiller’s book [Tiller-2014], you can read:

  • the Annotations chapter for a general presentation, including how to set experimental conditions (e.g. setting the StopTime).

  • the Graphical Annotations chapter about annotations used for the graphical display of a model (Line…).

And finally, there is an Annotations reference in OpenModelica’s ModelicaReference documention.

Differential algebraic equation (DAE)

https://en.wikipedia.org/wiki/Differential_algebraic_equation

package

package: Modelica keyword to define a package.

Package concept: a Modelica package (like in Python) is a way to store together a set of models, or in other words a library of models. Packages can also contain packages, that is sub-packages.

Relevant course section: Packages: structuring a set of models.

partial

Modelica keyword to indicate that a model is a base class, meant to be extended rather than being instanciated. “partial” model is a close equivalent of “abstract” classes Java.

Modelica language

An open language created for system modeling, that is describing the behavior of “systems”. It is steered by the Modelica Association. The Modelica language specification is available at https://specification.modelica.org/ (not meant as being a tutorial, so it is not easy to read).

Language presentation taken from the specification:

“Modelica is a freely available, object-oriented language for modeling of large, complex, and heterogeneous systems. It is suited for multi-domain modeling, for example, mechatronic models in robotics, automotive and aerospace applications involving mechanical, electrical, hydraulic control and state machine subsystems, process oriented applications and generation and distribution of electric power. Models in Modelica are mathematically described by differential, algebraic and discrete equations.”

The Modelica language is being developped since the late 1990s, with incremental changes done ever since. As of autumn 2022, the latest Modelica language version is 3.5, published in February 2021.

Not to be confused with the Modelica Standard Library (i.e. the Modelica package).

MSL
Modelica Standard Library

The Modelica Standard Library (short: MSL) is a collection of free standardized libraries written in the Modelica language. It is developed under the umbrella of the Modelica Association (as opposed to individuals or commercial library vendors) at https://github.com/modelica/ModelicaStandardLibrary/.

MSL is meant to cover the most classical engineering domains: electricity, mechanics, heat… as well as signal processing using blocks “à la Simulink”). It avoid “reinventing the wheels” when modeling systems from these domains.

MSL should not be confused with the Modelica language, although the confusion is easy to make because the library package name is Modelica. Both the Modelica language and the Modelica library are versioned, but their version numbers are unrelated.

As of autumn 2022, the latest MSL version is 4.0.0, released in June 2020. It is not backward compatible with the long-lived 3.2.x series (2010–2019), like Modelica.SIunits being renamed Modelica.Units.SI. This means some coexistence is needed between the two versions, but this can create issues when loading a model depending on the wrong MSL version. See MSL 4.0.0 release notes for details.

The MSL documentation can be found at http://doc.modelica.org, but is also available offline in the documentation view in OpenModelica.