![Page 1: OpenModelica Development Environment with Eclipse Integration Adrian Pop, Peter Fritzson, Andreas Remar, Elmir Jagudin, David Akhvlediani Programming Environment](https://reader035.vdocument.in/reader035/viewer/2022062409/56649d785503460f94a5b459/html5/thumbnails/1.jpg)
OpenModelica Development Environment with Eclipse Integration
Adrian Pop, Peter Fritzson, Andreas Remar, Elmir Jagudin, David
Akhvlediani
Programming Environment LaboratoryDepartment of Computer and Information
ScienceLinköping University
2006-09-05Modelica’2006, September 4-5, Vienna, Austria
![Page 2: OpenModelica Development Environment with Eclipse Integration Adrian Pop, Peter Fritzson, Andreas Remar, Elmir Jagudin, David Akhvlediani Programming Environment](https://reader035.vdocument.in/reader035/viewer/2022062409/56649d785503460f94a5b459/html5/thumbnails/2.jpg)
2
Outline
Introduction OpenModelica
Eclipse Environment for Modelica/MetaModelica Overview Examples
Conclusions and Future Work Demo
![Page 3: OpenModelica Development Environment with Eclipse Integration Adrian Pop, Peter Fritzson, Andreas Remar, Elmir Jagudin, David Akhvlediani Programming Environment](https://reader035.vdocument.in/reader035/viewer/2022062409/56649d785503460f94a5b459/html5/thumbnails/3.jpg)
3
OpenModelica Context
Parse
Client: Eclipse Plugin
Corba
Client: OMShell Interactive
Session Handler
Server: Main Program Including Compiler,
Interpreter, etc.
Interactive
SCode
Inst
Ceval plot
system
etc.
Untyped API
Typed Checked Command API
Client: Graphic Model Editor
![Page 4: OpenModelica Development Environment with Eclipse Integration Adrian Pop, Peter Fritzson, Andreas Remar, Elmir Jagudin, David Akhvlediani Programming Environment](https://reader035.vdocument.in/reader035/viewer/2022062409/56649d785503460f94a5b459/html5/thumbnails/4.jpg)
4
Modelica Development Tooling (MDT)
Supports 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
projects debugging
![Page 5: OpenModelica Development Environment with Eclipse Integration Adrian Pop, Peter Fritzson, Andreas Remar, Elmir Jagudin, David Akhvlediani Programming Environment](https://reader035.vdocument.in/reader035/viewer/2022062409/56649d785503460f94a5b459/html5/thumbnails/5.jpg)
5
Modelica Perspective
The MDT Eclipse Environment
Modelica Editor
Modelica Browser
Modelica Code Assistant
MetaModelica Debugging
![Page 6: OpenModelica Development Environment with Eclipse Integration Adrian Pop, Peter Fritzson, Andreas Remar, Elmir Jagudin, David Akhvlediani Programming Environment](https://reader035.vdocument.in/reader035/viewer/2022062409/56649d785503460f94a5b459/html5/thumbnails/6.jpg)
6
The MDT Eclipse Environment (II)
.mo file
OMC Compiler
Small Modelica Parser
Eclipse
Modelica model
AST Information
Modelica Browser
Modelica Code Assistant
Modelica Editor
MetaModelica Builder
MetaModelica Build console
MMCCompiler
MetaModelica Debugging
![Page 7: OpenModelica Development Environment with Eclipse Integration Adrian Pop, Peter Fritzson, Andreas Remar, Elmir Jagudin, David Akhvlediani Programming Environment](https://reader035.vdocument.in/reader035/viewer/2022062409/56649d785503460f94a5b459/html5/thumbnails/7.jpg)
7
The MDT Eclipse Environment (III)
.mo fileMMC
Compiler
Eclipse
MetaModelicaDebugging
Modelica Editor
Executable+
Debugging runtime
![Page 8: OpenModelica Development Environment with Eclipse Integration Adrian Pop, Peter Fritzson, Andreas Remar, Elmir Jagudin, David Akhvlediani Programming Environment](https://reader035.vdocument.in/reader035/viewer/2022062409/56649d785503460f94a5b459/html5/thumbnails/8.jpg)
8
Creating Modelica projects (I)
Creation of Modelica projects using wizards
![Page 9: OpenModelica Development Environment with Eclipse Integration Adrian Pop, Peter Fritzson, Andreas Remar, Elmir Jagudin, David Akhvlediani Programming Environment](https://reader035.vdocument.in/reader035/viewer/2022062409/56649d785503460f94a5b459/html5/thumbnails/9.jpg)
9
Creating Modelica projects (II)
Modelica project
![Page 10: OpenModelica Development Environment with Eclipse Integration Adrian Pop, Peter Fritzson, Andreas Remar, Elmir Jagudin, David Akhvlediani Programming Environment](https://reader035.vdocument.in/reader035/viewer/2022062409/56649d785503460f94a5b459/html5/thumbnails/10.jpg)
10
Creating Modelica packages
Creation of Modelica packages using wizards
![Page 11: OpenModelica Development Environment with Eclipse Integration Adrian Pop, Peter Fritzson, Andreas Remar, Elmir Jagudin, David Akhvlediani Programming Environment](https://reader035.vdocument.in/reader035/viewer/2022062409/56649d785503460f94a5b459/html5/thumbnails/11.jpg)
11
Creating Modelica classes
Creation of Modelica classes, models, etc, using wizards
![Page 12: OpenModelica Development Environment with Eclipse Integration Adrian Pop, Peter Fritzson, Andreas Remar, Elmir Jagudin, David Akhvlediani Programming Environment](https://reader035.vdocument.in/reader035/viewer/2022062409/56649d785503460f94a5b459/html5/thumbnails/12.jpg)
12
Code browsing
Code Browsing foreasy navigation within Modelica files. Automatic update on file save.
![Page 13: OpenModelica Development Environment with Eclipse Integration Adrian Pop, Peter Fritzson, Andreas Remar, Elmir Jagudin, David Akhvlediani Programming Environment](https://reader035.vdocument.in/reader035/viewer/2022062409/56649d785503460f94a5b459/html5/thumbnails/13.jpg)
13
Error detection (I)
Parse error detection on file save
![Page 14: OpenModelica Development Environment with Eclipse Integration Adrian Pop, Peter Fritzson, Andreas Remar, Elmir Jagudin, David Akhvlediani Programming Environment](https://reader035.vdocument.in/reader035/viewer/2022062409/56649d785503460f94a5b459/html5/thumbnails/14.jpg)
14
Error detection (II)
Semantic error detection on file save
![Page 15: OpenModelica Development Environment with Eclipse Integration Adrian Pop, Peter Fritzson, Andreas Remar, Elmir Jagudin, David Akhvlediani Programming Environment](https://reader035.vdocument.in/reader035/viewer/2022062409/56649d785503460f94a5b459/html5/thumbnails/15.jpg)
15
Code assistance (I)
Code Assistance on imports.
![Page 16: OpenModelica Development Environment with Eclipse Integration Adrian Pop, Peter Fritzson, Andreas Remar, Elmir Jagudin, David Akhvlediani Programming Environment](https://reader035.vdocument.in/reader035/viewer/2022062409/56649d785503460f94a5b459/html5/thumbnails/16.jpg)
16
Code assistance (II)
Code Assistance on assignments.
![Page 17: OpenModelica Development Environment with Eclipse Integration Adrian Pop, Peter Fritzson, Andreas Remar, Elmir Jagudin, David Akhvlediani Programming Environment](https://reader035.vdocument.in/reader035/viewer/2022062409/56649d785503460f94a5b459/html5/thumbnails/17.jpg)
17
Code assistance (III)
Code Assistance on function calling.
![Page 18: OpenModelica Development Environment with Eclipse Integration Adrian Pop, Peter Fritzson, Andreas Remar, Elmir Jagudin, David Akhvlediani Programming Environment](https://reader035.vdocument.in/reader035/viewer/2022062409/56649d785503460f94a5b459/html5/thumbnails/18.jpg)
18
Code indentation
Code Indentation
![Page 19: OpenModelica Development Environment with Eclipse Integration Adrian Pop, Peter Fritzson, Andreas Remar, Elmir Jagudin, David Akhvlediani Programming Environment](https://reader035.vdocument.in/reader035/viewer/2022062409/56649d785503460f94a5b459/html5/thumbnails/19.jpg)
19
Code folding
Code Folding
![Page 20: OpenModelica Development Environment with Eclipse Integration Adrian Pop, Peter Fritzson, Andreas Remar, Elmir Jagudin, David Akhvlediani Programming Environment](https://reader035.vdocument.in/reader035/viewer/2022062409/56649d785503460f94a5b459/html5/thumbnails/20.jpg)
20
Conclusions and Future work
Conclusions advanced Modelica/MetaModelica Eclipse
Environment project, 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
![Page 21: OpenModelica Development Environment with Eclipse Integration Adrian Pop, Peter Fritzson, Andreas Remar, Elmir Jagudin, David Akhvlediani Programming Environment](https://reader035.vdocument.in/reader035/viewer/2022062409/56649d785503460f94a5b459/html5/thumbnails/21.jpg)
21
MDT Eclipse Environment Demo
Demo
![Page 22: OpenModelica Development Environment with Eclipse Integration Adrian Pop, Peter Fritzson, Andreas Remar, Elmir Jagudin, David Akhvlediani Programming Environment](https://reader035.vdocument.in/reader035/viewer/2022062409/56649d785503460f94a5b459/html5/thumbnails/22.jpg)
22
End
Thank you!Questions?
http://www.ida.liu.se/labs/pelab/modelica/OpenModelica.html