OpenModelica Development Environment with Eclipse Integration Adrian Pop, Peter Fritzson, Andreas Remar, Elmir Jagudin, David Akhvlediani Programming Environment Laboratory Department of Computer and Information Science Linköping University Modelica’2006, September 4-5, Vienna, Austria
2 Outline Introduction OpenModelica Eclipse Environment for Modelica/MetaModelica Overview Examples Conclusions and Future Work Demo
3 OpenModelica Context
4 Modelica Development Tooling (MDT) Supports textual editing of Modelica/MetaModelica code Was created to ease the development of the OpenModelica development ( 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
5 Modelica Perspective The MDT Eclipse Environment Modelica Editor Modelica Browser Modelica Code Assistant MetaModelica Debugging
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 MMC Compiler MetaModelica Debugging
7 The MDT Eclipse Environment (III).mo file MMC Compiler Eclipse MetaModelica Debugging Modelica Editor Executable + Debugging runtime
8 Creating Modelica projects (I) Creation of Modelica projects using wizards
9 Creating Modelica projects (II) Modelica project
10 Creating Modelica packages Creation of Modelica packages using wizards
11 Creating Modelica classes Creation of Modelica classes, models, etc, using wizards
12 Code browsing Code Browsing for easy navigation within Modelica files. Automatic update on file save.
13 Error detection (I) Parse error detection on file save
14 Error detection (II) Semantic error detection on file save
15 Code assistance (I) Code Assistance on imports.
16 Code assistance (II) Code Assistance on assignments.
17 Code assistance (III) Code Assistance on function calling.
18 Code indentation Code Indentation
19 Code folding Code Folding
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
21 MDT Eclipse Environment Demo Demo
22 End Thank you! Questions?