Peter Fritzson
PELAB – Programming Environment Lab, Dept. of Computer and Information Science, Linköping University, SE-581 83 Linköping, Sweden
Adrian Pop
PELAB – Programming Environment Lab, Dept. of Computer and Information Science, Linköping University, SE-581 83 Linköping, Sweden
Martin Sjölund
PELAB – Programming Environment Lab, Dept. of Computer and Information Science, Linköping University, SE-581 83 Linköping, Sweden
Adeel Asghar
PELAB – Programming Environment Lab, Dept. of Computer and Information Science, Linköping University, SE-581 83 Linköping, Sweden
Download articlehttp://dx.doi.org/10.3384/ecp19157289Published in: Proceedings of the 13th International Modelica Conference, Regensburg, Germany, March 4–6, 2019
Linköping Electronic Conference Proceedings 157:30, p. 14
Published: 2019-02-01
ISBN: 978-91-7685-122-7
ISSN: 1650-3686 (print), 1650-3740 (online)
The need for integrating system modeling with advanced tool capabilities is becoming increasingly pronounced. For example, a set of simulation experiments may give rise to new data that are used to systematically construct a series of new models, e.g. for further simulation and design optimization. Such combined symbolic-numeric capabilities have been pioneered by dynamically typed interpreted languages such as Lisp and Mathematica. Such capabilities are also relevant for advanced modeling and simulation applications but lacking in the standard Modelica language. Therefore, this is a topic of long-running design discussions in the Modelica Design group. One contribution in this direction is MetaModelica, that has been developed to extend Modelica with symbolic operations and advanced data structures, while preserving safe engineering practices through static type checking and a compilation-based efficient implementation. Another recent effort is Modia, implemented using the Julia macro mechanism, making it dynamically typed but also adding new capabilities. The Julia language has appeared rather recently and has expanded into a large and fast-growing ecosystem. It is dynamically typed, provides both symbolic and numeric operations, advanced data structures, and has a just-intime compilation-based efficient implementation. Despite independent developments there are surprisingly many similarities between Julia and MetaModelica. This paper presents MetaModelica and its environment as a large case study, together with a short comparison to Julia. Since Julia may be important for the future Modelica, some integration options between Modelica tools and Julia are also discussed, including a possible approach for implementing MetaModelica (and OpenModelica) in Julia.