Incremental Compilation and Dynamic Loading of Functions in OpenModelica

Advanced development environments are essential for efficient realization of complex industrial products. Powerful equation-based object-oriented (EOO) languages such as Modelica are successfully used for modeling and virtual prototyping complex physical systems and components. The Modelica language...

Full description

Bibliographic Details
Main Authors: Klinghed, Joel, Jansson, Kim
Format: Others
Language:English
Published: Linköpings universitet, Institutionen för datavetenskap 2008
Subjects:
Online Access:http://urn.kb.se/resolve?urn=urn:nbn:se:liu:diva-12329
Description
Summary:Advanced development environments are essential for efficient realization of complex industrial products. Powerful equation-based object-oriented (EOO) languages such as Modelica are successfully used for modeling and virtual prototyping complex physical systems and components. The Modelica language enables engineers to build large, sophisticated and complex models. Modelica environments should scale up and be able to handle these large models. This thesis addresses the scalability of Modelica tools by employing incremental compilation and dynamic loading. The design, implementation and evaluation of this approach is presented. OpenModelica is an open-source Modelica environment developed at PELAB in which we have implemented our strategy for incremental compilation and dynamic loading of functions. We have tested the performance of these strategies in a number of different scenarios in order to see how much of an impact they have on the compilation and execution time. Our solution contains an overhead of one or two hash calls during runtime as it uses dynamic hashes instead of static arrays.