OpenModelica Development Environment with Eclipse Integration Adrian Pop, Peter Fritzson, Andreas...

Post on 15-Jan-2016

220 views 1 download

Tags:

transcript

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

2

Outline

Introduction OpenModelica

Eclipse Environment for Modelica/MetaModelica Overview Examples

Conclusions and Future Work Demo

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

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

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

MMCCompiler

MetaModelica Debugging

7

The MDT Eclipse Environment (III)

.mo fileMMC

Compiler

Eclipse

MetaModelicaDebugging

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 foreasy 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?

http://www.ida.liu.se/labs/pelab/modelica/OpenModelica.html