An OpenModelica Java External Function Interface Supporting MetaProgramming

Martin Sjölund
PELAB Programming Environment Lab, Dept. Computer Science, Linköping University, Sweden

Peter Fritzson
PELAB Programming Environment Lab, Dept. Computer Science, Linköping University, Sweden

Ladda ner artikelhttp://dx.doi.org/10.3384/ecp09430121

Ingår i: Proceedings of the 7th International Modelica Conference; Como; Italy; 20-22 September 2009

Linköping Electronic Conference Proceedings 43:20, s. 184-192

Visa mer +

Publicerad: 2009-12-29

ISBN: 978-91-7393-513-5

ISSN: 1650-3686 (tryckt), 1650-3740 (online)


A complete Java interface to OpenModelica has been created; supporting both standard Modelica and the metamodeling extensions in MetaModelica. It is bidirectional; and capable of passing both standard Modelica data types; as well as abstract syntax trees and list structures to and from Java and process them in either Java or the OpenModelica Compiler. It currently uses the existing CORBA interface as well as JNI for standard Modelica. It is also capable of automatically generating the Java classes corresponding to MetaModelica code. This interface opens up increased possibilities for tool integration between OpenModelica and Java-based tools; since for example models or model fragments can be extracted from OpenModelica; processed in a Java tool; and put back into the main model representation in OpenModelica.


Java; OpenModelica; MetaModelica; external function; abstract syntax


[1] Björklén S. Extending Modelica with High-Level Data Structures: Design and Implementation in OpenModelica. Linköping; Sweden: Master’s thesis; Department of Computer and Information Science; Linköping University; 2008.

[2] Fritzson P. Principles of Object-Oriented Modeling and Simulation with Modelica 2.1; 940 pages. Wiley-IEEE Press; 2004. doi: 10.1109/9780470545669.

[3] Fritzson P. MetaModelica Programming Guide; June 2007 draft. http://openmodelica.org/.

[4] Modelica Association. The Modelica Language Specification Version 3.0; September 2007. http://www.modelica.org/.

[5] López J.D.; Olsson H. Dymola interface to Java - A Case Study: Distributed Simulations. In: Proceedings of the 5th International Modelica Conference; Vienna; Austria; 4-5 September 2006.

[6] Olsson H. External Interface to Modelica in Dymola. Proceedings of the 4th International Modelica Conference; Hamburg; Germany; 7-8 March 2005.

[7] OpenModelica. OpenModelica System Documentation; January 2009. http://openmodelica.org/.

[8] Parr T. ANTLR Parser Generator. http://antlr.org/.

[9] Parr T. StringTemplate Template Engine. http://stringtemplate.org/.

Citeringar i Crossref