Published: 2011-11-03
ISBN: 978-91-7519-825-5
ISSN: 1650-3686 (print), 1650-3740 (online)
Separate Compilation is currently considered impossible for Modelica in practice; because several features of stateof-the-art Modelica compilers currently rely on global information. One prominent example for those features is causalization. This particular feature is very important for the generation of fast simulation code. In this work we show how a post-compilation causalization can fit into the operational semantics of a language like Modelica. We present the semantics of a causalizing language system are together with a prototype. This prototype shows that separately compiled models can form a causalized; thus fast; simulation program.
[1] The Modelica Association. Modelica - a unified objectoriented language for physical systems modeling; 2010.
[2] Willi Braun; Lennart Ochel; and Bernhard Bachmann. Symbolically derived jacobians using automatic differentiation - enhancement of the openmodelica compiler.
[3] David Broman. Safety; Security; and Semantic Aspects of Equation-Based Object-Oriented Languages and Environments. Licentiate thesis. Thesis No 1337. Department of Computer and Information Science; Link¨oping University; December 2007.
[4] David Broman and Peter Fritzson. Higher-order acausal models. In 2nd International Workshop on Equation-Based Object-Oriented Languages and Tools;2008; pages 59–. Link¨oping University Electronic Press; 2008.
[5] Luca Cardelli. Program fragments; linking; and modularization. In Proceedings of the 24th ACM SIGPLAN-SIGACTsymposium on Principles of programming languages; POPL 97; pages 266–277; New York; NY; USA; 1997. ACM.
[6] Franc¸ois E. Cellier and Ernesto Kofman. Continuous System Simulation. Springer; 1 edition; March 2006.
[7] Peter Fritzson; Peter Aronsson; H°akan Lundvall; Kaj Nystr¨om; Adrian Pop; Levon Saldamli; and David Broman. simulation; and development environment. In Proceedings of the 46th Conference on Simulation and Modeling; pages 83–90; 2005.
[8] George Giorgidze and Henrik Nilsson. Mixed-levelembedding and jit compilation for an iteratively staged dsl. In Proceedings of the 19th international conference onFunctional and constraint logic programming; WFLP’10; pages 48–65; Berlin; Heidelberg; 2011. Springer-Verlag.
[9] Christoph H¨oger; Florian Lorenzen; and Peter Pepper. Noteson the separate compilation of modelica. In Peter Fritzson; Edward Lee; Franc¸ois E. Cellier; and David Broman;editors; 3rd International Workshop on Equation-Based Object-Oriented Modeling Languages and Tools; pages 43–51. Link¨oping University Electronic Press; 2010.
[10] C. T. Kelley. Solving Nonlinear Equations with Newton’s Method. SIAM; Philadelphia; 2003.
[11] Ramine Nikoukhah. Extensions to modelica for efficient code generation and separate compilation. In Proceed-
ings of the 1st International Workshop on Equation-Based Object-Oriented Languages and Tools; Link¨oping Electronic Conference Proceedings; page 49ˆaC“59. Link¨oping University Electronic Press; Link¨opings universitet; 2007.
[12] Christoph Nytsch-Geusen and Thilo Ernst. Mosilab: Development of a modelica based generic simulation tool supporting model structural dynamics. In Gerhard Schmitz; editor; Proceedings of the 4th International Modelica Conference; Hamburg; March 7-8; 2005; pages 527–535. TU Hamburg-Harburg; 2005.
[13] Robert Endre Tarjan. Depth-first search and linear graph algorithms. Siam Journal on Computing; 1:146–160.
[14] Dirk Zimmer. Module-preserving compilation of modelica models. In Proceedings of the 7th International Modelica Conference; Como; Italy; 20-22 September 2009; Link¨oping Electronic Conference Proceedings; pages 880– 889. Link¨oping University Electronic Press; Link¨opings universitet; 2009.
[15] Dirk Zimmer. Equation-based Modeling of Variablestructure Systems. PhD thesis; ETH Z¨urich; 2010.