Christop Höger
Fakultät für Elektrotechnik und Informatik, Technische Universität Berlin
Florian Lorenzen
Fakultät für Elektrotechnik und Informatik, Technische Universität Berlin
Peter Pepper
Fakultät für Elektrotechnik und Informatik, Technische Universität Berlin
Download articlePublished in: 3rd International Workshop on Equation-Based Object-Oriented Modeling Languages and Tools; Oslo; Norway; October 3
Linköping Electronic Conference Proceedings 47:5, p. 43-51
Published: 2010-09-21
ISBN: 978-91-7519-824-8
ISSN: 1650-3686 (print), 1650-3740 (online)
Separate compilation is a must-have in software engineering. The fact that Modelica models are compiled from the global sources at once results from the language design as well as from the way compiled physical models are finally simulated. We show that the language in fact can be compiled separately when certain runtime conditions are met. We demonstrate this by transforming some specific Modelica language features (structural subtyping and dynamic binding) into a much simpler form that is closer to current OO languages like C++ or Java.
[1] The Modelica Association. Modelica - a unified objectoriented language for physical systems modeling; 2010.
[2] David Broman. Flow lambda calculus for declarative physical connection semantics. Technical Report 1; Linköping University; PELAB - Programming Environment Laboratory; The Institute of Technology; 2007.
[3] David Broman; Peter Fritzson; and Sébastien Furic. Types in the modelica language. In Proceedings of the Fifth International Modelica Conference; 2006.
[4] Luca Cardelli. A semantics of multiple inheritance. In Proc. of the international symposium on Semantics of data types; pages 51–67; New York; NY; USA; 1984. Springer-Verlag New York; Inc.
[5] Gilles Dubochet and Martin Odersky. Compiling structural types on the jvm: a comparison of reflective and generative techniques from scala’s perspective. In ICOOOLPS ’09: Proceedings of the 4th workshop on the Implementation; Compilation; Optimization of Object-Oriented Languages and Programming Systems; pages 34–41; New York; NY; USA; 2009. ACM.
[6] Christopher League; Zhong Shao; and Valery Trifonov. Representing java classes in a typed intermediate language. SIGPLAN Not.; 34(9):183–196; 1999.
[7] Christopher League; Zhong Shao; and Valery Trifonov. Type-preserving compilation of featherweight java. ACM Trans. Program. Lang. Syst.; 24(2):112–152; 2002.
[8] Ramine Nikoukhah. Extensions to modelica for efficient code generation and separate compilation. In Proceedings of the 1st International Workshop on Equation-Based Object-Oriented Languages and Tools; Linköping Electronic Conference Proceedings; pages 49–59. Linköping University Electronic Press; Linköpings universitet; 2007.
[9] Ramine Nikoukhah and Sébastien Furic. Towards a full integration of modelica models in the scicos environment. Proceedings of the 7th International Modelica Conference;43(74):631–645; 2009.
[10] Christoph Nytsch-Geusen and Thilo et al Ernst. Mosilab: Development of a modelica based generic simulation tool supporting model structural dynamics. In Gerhard Schmitz;meditor; Proceedings of the 4th International Modelica Conference; Hamburg; March 7-8; 2005; pages 527–535. TU Hamburg-Harburg; 2005.
[11] Benjamin C. Pierce. Types and Programming Languages. MIT Press; 2002.
[12] Dirk Zimmer. Module-preserving compilation of modelica models. In Proceedings of the 7th International Modelica Conference; Como; Italy; 20-22 September 2009; Linköping Electronic Conference Proceedings; pages 880– 889. Linköping University Electronic Press; Linköpings universitet; 2009.
[13] Dirk Zimmer. Equation-based Modeling of Variablestructure Systems. PhD thesis; ETH Zürich; 2010.