Function Inlining in Modelica Models
Alessandro Papadopoulos, Martina Maggio, Francesco Casella, Johan Åkesson
The equation-based Modelica language allows the modeller to specify custom functions. The body of a function is an algorithm that contains procedural code to be executed when the function is called. This language feature is useful for many applications; however, the insertion of a function often prevent model optimizations that require the model to be formulated in purely declarative form by equations only. This paper discusses several non-trivial cases in which the function call and the corresponding algorithmic code can be transformed into an equivalent purely equation-based model, thus allowing further optimization. The inlining algorithms presented in the paper go well beyond the state of the art in commercial and open-source Modelica tools.
In Vienna International Conference on Mathematical Modelling 2012, Vienna, Austria, February 2012.