One implementation of Modelica is the open-source platform JModelica.org. It contains the JModelica.org IDE; that provides a text editor for Modelica code; based on the Eclipse platform.
In this paper; we present an implementation of a graphical editor for the JModelica.org IDE. Several challenges with implementing a graphical editor for Modelica are discussed. Among others; the difficulties in rendering Modelica diagrams and how to interact with existing frameworks in Eclipse are brought up. A method for preserving the formatting of a modified source code file is also presented; which is essential when the model is altered in the graphical editor.
The presented implementation is compared to other open source software (OSS) implementations of Modelica editors.
Keywords: AST; JModelica.org; Eclipse; GEF; Graphical Editing; Icon Rendering; Preserved File Formatting; Pretty Printing
Proceedings of the 9th International MODELICA Conference; September 3-5; 2012; Munich; Germany
 J. Mattsson; The JModelica IDE: Developing an IDE by Reusing a JastAdd Compiler; Masterâ€™s thesis; Department of Computer Science; Lund University; Sweden; 2009.
 J. Sten; Graphical Editing in JModelica.org; Masterâ€™s thesis; Department of Computer Science; Lund University; Sweden; 2012.
 T. Mattsson; AST-driven Editor; Masterâ€™s thesis; Department of Computer Science; Lund University; Sweden; 2012.
 G. Hedin; E. Magnusson; JastAdd: an aspectoriented compiler construction system; Science of Computer Programming 47 (1) (2003) 37â€“58. doi: 10.1016/S0167-6423(02)00109-0.
 J. Ă…kesson. Optimicaâ€”an extension of modelica supporting dynamic optimization. In In 6th International Modelica Conference 2008. Modelica Association; March 2008.
 C. Andersson. A new Python-based class for simulation of complex hybrid DAEs and its integration in JModelica.org. Masterâ€™s thesis; Department of Mathematics; Lund University; Sweden; 2010.
 G. Hedin; "An Introductory Tutorial on JastADD Attribute Grammars;" in Generative and Transformational Techniques in Software Engineering III; ser. Lecture Notes in Computer Science; vol. 6491. Springer-Verlag Berlin Heidelberg; 2011; pp. 166â€“200.
 P. Fritzson; A. Pop; K. Norling; M. Blom; Comment- and Indentation Preserving Refactoring and Unparsing for Modelica. In 6th International Modelica Conference 2008; pp. 657â€“665. Modelica Association; March 2008.
 M. de Jonge; E. Visser; An Algorithm for Layout Preservation in Refactoring Transformations. Software Language Engineering; pp. 40â€“59; Springer; 2012.
 Eclipse Documentation: ASTRewrite; http://help.eclipse.org/indigo/topic/org.eclipse.jdt.doc.isv/reference/api/org/eclipse/jdt/core/dom/rewrite/ASTRewrite.html; 2012.
 S. Asghar; S. Tariq; Design and Implementation of a User Friendly OpenModelica Graphical Connection Editor; Masterâ€™s thesis; Department of Computer and Information Science; LinkĂ¶ping University; Sweden; 2010.
 S. Asghar; S. Tariq; M. Torabzadeh-Tari; P. Fritzson; A. Pop; M. SjĂ¶lund; P. Vasaiely; W. Schamai; An Open Source Modelica Graphic Editor Integrated with Electronic Notebooks and Interactive Simulation. In 8th International Modelica Conference 2011; pp. 739â€“747. Modelica Association; March 2011.
 T. Ekman; G. Hedin: Rewritable Reference Attributed Grammars. ECOOP 2004. LNCS; vol. 3086; pp. 147â€“171. Springer; Heidelberg (2004).
 Modelica Association; Modelica - Language Specification 3.2 rev 1; 2012. http://modelica.org/documents/ModelicaSpec32Revision1.pdf.