OpenModelica Development Environment with Eclipse Integration Adrian Pop, Peter Fritzson, Andreas Remar, Elmir Jagudin, David Akhvlediani Programming Environment Laboratory Department of Computer and Information S cience Linköping University 2006-09-05 Modelica’ 2006, S eptember 4-5, Vienna, Austria
Outline � Introduction � OpenModelica � Eclipse Environment for Modelica/ MetaModelica � Overview � Examples � Conclusions and Future Work � Demo 2
OpenModelica Context Parse Client: Graphic Model Editor Server: Main Program Corba Including Compiler, Interpreter, etc. Client: OMShell Interactive Session Handler SCode Interactive Client: Eclipse Untyped API Plugin Inst Typed Checked Command API system plot Ceval etc. 3
Modelica Development Tooling (MDT) � S upports textual editing of Modelica/ MetaModelica code � Was created to ease the development of the OpenModelica development (114232 lines of code) and to support advanced Modelica library development � It has most of the functionality expected from a Development Environment � code browsing � code assistance � code indentation � code highlighting � error detection � automated build of Modelica/ MetaModelica proj ects � debugging 4
The MDT Eclipse Environment Modelica Browser Modelica Editor Modelica Code Assistant MetaModelica Debugging Modelica Perspective 5
The MDT Eclipse Environment (II) .mo file OMC MMC Compiler Compiler Small Modelica Parser AST MetaModelica Information Builder Modelica model MetaModelica Build console Modelica Modelica Browser Editor MetaModelica Modelica Debugging Code Assistant Eclipse 6
The MDT Eclipse Environment (III) MMC .mo file Compiler Executable MetaModelica + Debugging Debugging runtime Modelica Editor Eclipse 7
Creating Modelica proj ects (I) Creation of Modelica proj ects using wizards 8
Creating Modelica proj ects (II) Modelica proj ect 9
Creating Modelica packages Creation of Modelica packages using wizards 10
Creating Modelica classes Creation of Modelica classes, models, etc, using wizards 11
Code browsing Code Browsing for easy navigation within Modelica files. Automatic update on file save. 12
Error detection (I) Parse error detection on file save 13
Error detection (II) S emantic error detection on file save 14
Code assistance (I) Code Assistance on imports. 15
Code assistance (II) Code Assistance on assignments. 16
Code assistance (III) Code Assistance on function calling. 17
Code indentation 18 Indentation Code
Code folding 19 Code Folding
Conclusions and Future work � Conclusions � advanced Modelica/ MetaModelica Eclipse Environment � proj ect, package, class, model management � code browsing and assistance � integrated debugging � Future Work � support refactorings � better code checking � better code navigation (hyperlinks, go to definition) � faster debugging � more code assistance � code templates � UML view of Modelica/ MetaModelica Code 20
MDT Eclipse Environment Demo 21 Demo
End Thank you! Questions? http://www.ida.liu.se/labs/pelab/modelica/OpenModelica.html 22
Recommend
More recommend