Resizable Arrays in Object-Oriented Modeling

The Modelica language (Modelica.org) makes it easy to build large, complex models by allowing the instantiation of reusable component models. Modelica tools typically expand arrays of variables, equations and components and perform symbolic transformations on the scalar elements. This reduces the efficiency of the translation process and makes it difficult to change array dimensions after translation.

Scalarization can be avoided by imposing certain restrictions on the way models are written. This paper describes such restrictions, and the algorithms needed to be applied during the translation. As a result, arrays are resizable after translation and also during simulation. Several examples demonstrate the approach with the Web App Modiator. As a side effect, it is also shown how to provide meaningful diagnostics for erroneous models.

The speaker's profile picture
Martin Otter

Add your biography.

The speaker's profile picture
Hilding Elmqvist

Add your bio.