38
SysML-Modelica Transformation Specification (SE DSIG Meeting, Jacksonville, 3/22/2010) Chris Paredis Georgia Tech On behalf of the SysML-Modelica Working Group 1

SysML-Modelica Transformation Specification (SE DSIG Meeting, Jacksonville, 3/22/2010)

  • Upload
    cael

  • View
    115

  • Download
    0

Embed Size (px)

DESCRIPTION

SysML-Modelica Transformation Specification (SE DSIG Meeting, Jacksonville, 3/22/2010). Chris Paredis Georgia Tech On behalf of the SysML-Modelica Working Group. Presentation Overview. Objectives, Focus, Scope What is Modelica? Transformation Roadmap Current Status - PowerPoint PPT Presentation

Citation preview

Page 1: SysML-Modelica Transformation Specification (SE DSIG Meeting, Jacksonville, 3/22/2010)

SysML-Modelica Transformation Specification

(SE DSIG Meeting, Jacksonville, 3/22/2010)

Chris ParedisGeorgia Tech

On behalf of the SysML-Modelica Working Group1

Page 2: SysML-Modelica Transformation Specification (SE DSIG Meeting, Jacksonville, 3/22/2010)

Presentation Overview

• Objectives, Focus, Scope• What is Modelica?• Transformation

Roadmap• Current Status• Details of Specification• Implementation: Demo• Summary

2

Active Working GroupMembers

• Yves Bernard (EADS)• Roger Burkhart (Deere & Co)• Hans-Peter De Koning (ESA)• Sandy Friedenthal (Lockheed Martin)• Peter Fritzson (Linköping University)• Nerijus Jankevicius (NoMagic)• Alek Kerzhner (Georgia Tech)• Chris Paredis (Georgia Tech)• Axel Reichwein (Georgia Tech)• Nicolas Rouquette (JPL)• Wladimir Schamai (EADS)

Page 3: SysML-Modelica Transformation Specification (SE DSIG Meeting, Jacksonville, 3/22/2010)

Working Group Focus and Scope• Objective:

– Leverage the strengths of both SysML and Modelica by integrating them to create a more expressive and formal MBSE language.

– Define a formal Transformation Specification: a SysML4Modelica profile and a mapping between Modelica and the profile

• Scope:– Cover the Modelica constructs needed for the Modelica

Standard Library to be used in SysML– Generate corresponding SysML constructs that fit within the

profiling mechanism

3

Page 4: SysML-Modelica Transformation Specification (SE DSIG Meeting, Jacksonville, 3/22/2010)

What is Modelica?• State-of-the-art Modeling Language

for System Dynamics– Differential Algebraic Equations (DAE)– Discrete Events

• Formal, object-oriented language• Ports represent energy flow (undirected) or

signal flow (directed)• Acausal, equation-based, declarative• Multi-domain modeling• Standardized by the Modelica Association

4

Page 5: SysML-Modelica Transformation Specification (SE DSIG Meeting, Jacksonville, 3/22/2010)

Modelica: Standard Library

5

mot

or to

rque

Page 6: SysML-Modelica Transformation Specification (SE DSIG Meeting, Jacksonville, 3/22/2010)

Other Modelica Libraries• Modelica association — 20+ free libs (www.modelica.org)• EUROSYSLIB project — 20+ libs under development

(http://www.itea2.org/public/project_leaflets/EUROSYSLIB_profile_oct-07.pdf)

6

Page 7: SysML-Modelica Transformation Specification (SE DSIG Meeting, Jacksonville, 3/22/2010)

Roadmap – FutureSysML SysML-Modelica Modelica

December, 2009Initial Draft of Transformation Specification

January 2010Open Source Reference implementations

March June, 2010Submit RFC proposal, AB Approval

March-June June-September 2010Comment period

June September 2010 meetingTF approval

September December 2010 meetingSubmission for adoption

7

Page 8: SysML-Modelica Transformation Specification (SE DSIG Meeting, Jacksonville, 3/22/2010)

Current Status

• Draft of Transformation Specification Part I — Introduction final editing Part II — SysML4Modelica profile final editing Part III — Modelica meta-model final editing Part IV — SysML-Modelica mapping

a bidirectional mapping between the SysML4Modelica profile and the Modelica meta-model

ongoing implementation, verification Annex A – Robotic Sample Problemto be completed

8

Page 9: SysML-Modelica Transformation Specification (SE DSIG Meeting, Jacksonville, 3/22/2010)

Organization of Transformation

9

SysML-Modelica Transformation follows MDA principles

(ormsc/09-02-01: MDA Foundation Model - Santa Clara AB initial comments draft http://www.omg.org/members/cgi-bin/doc?ormsc/09-02-01.pdf)

Page 10: SysML-Modelica Transformation Specification (SE DSIG Meeting, Jacksonville, 3/22/2010)

Presentation Overview• Objectives, Focus, Scope• What is Modelica?• Transformation Roadmap• Current Status• Details of Specification

– Classes, Components, Equations, Connections• Implementation: Demo• Summary

10

Page 11: SysML-Modelica Transformation Specification (SE DSIG Meeting, Jacksonville, 3/22/2010)

Two-Tank Example

• Maintain levels at 0.25m and 0.4m• Source produces 0.02 m3/s,

increasing to 0.06 m3/s at time=150s

(From: Peter Fritzson, Principles of Object-Oriented Modeling and Simulation with Modelica 2.1, Wiley-IEEE Computer Society Press, 2003. ) 11

sour...

tank1 tank2piCo... piCo...

Page 12: SysML-Modelica Transformation Specification (SE DSIG Meeting, Jacksonville, 3/22/2010)

Two-Tank Example – Dynamics

12

0 100 200 300 400 500

0.0

0.2

0.4

0.6

0.8

1.0 [m

]

tank1.h tank2.h

0 100 200 300 400 5000.0150.0200.0250.0300.0350.0400.0450.0500.0550.0600.065

[m3/

s]

source.qOut.lflow

Page 13: SysML-Modelica Transformation Specification (SE DSIG Meeting, Jacksonville, 3/22/2010)

Modelica Restricted Classes

13

Page 14: SysML-Modelica Transformation Specification (SE DSIG Meeting, Jacksonville, 3/22/2010)

Modelica Restricted Classes

14

Page 15: SysML-Modelica Transformation Specification (SE DSIG Meeting, Jacksonville, 3/22/2010)

Modelica Restricted Classes —SysML4Modelica Stereotypes

15

Page 16: SysML-Modelica Transformation Specification (SE DSIG Meeting, Jacksonville, 3/22/2010)

ModelicaPredefinedTypes

16

Page 17: SysML-Modelica Transformation Specification (SE DSIG Meeting, Jacksonville, 3/22/2010)

Modelica Components = Properties• No distinction between types of properties

– record, type «modelicaValueProperty»– connector «modelicaPort»– model, class, block «modelicaPart»– function,

package no usage,only definition

17

control

Page 18: SysML-Modelica Transformation Specification (SE DSIG Meeting, Jacksonville, 3/22/2010)

Modelica Components = Properties

18

control

Page 19: SysML-Modelica Transformation Specification (SE DSIG Meeting, Jacksonville, 3/22/2010)

Modelica Components = PropertiesSysML4Modelica Stereotypes

19

• Several of these attributes are captured as opaque Modelica expressions

Page 20: SysML-Modelica Transformation Specification (SE DSIG Meeting, Jacksonville, 3/22/2010)

Modelica Components = PropertiesSysML4Modelica Stereotypes

• Several of these attributes are captured as opaque Modelica expressions

20

Page 21: SysML-Modelica Transformation Specification (SE DSIG Meeting, Jacksonville, 3/22/2010)

Local Type Modifications

21

Page 22: SysML-Modelica Transformation Specification (SE DSIG Meeting, Jacksonville, 3/22/2010)

Local Type Modifications

22

Page 23: SysML-Modelica Transformation Specification (SE DSIG Meeting, Jacksonville, 3/22/2010)

Modelica Equations/Algorithms

• Equations– Declarative– Must hold at all times

• Algorithms– Imperative– Must hold at all times– Execute in zero

simulation time23

Page 24: SysML-Modelica Transformation Specification (SE DSIG Meeting, Jacksonville, 3/22/2010)

Modelica Equations/Algorithms —SysML4Modelica Stereotypes

24

Page 25: SysML-Modelica Transformation Specification (SE DSIG Meeting, Jacksonville, 3/22/2010)

Modelica Connections

25

Page 26: SysML-Modelica Transformation Specification (SE DSIG Meeting, Jacksonville, 3/22/2010)

Modelica Connections• Alternative:

Leave connect statements in equation section

26

Page 27: SysML-Modelica Transformation Specification (SE DSIG Meeting, Jacksonville, 3/22/2010)

Modelica Connections

• parameter N is only known at compilation time

27

R=R

resistor1

L=L

inductor1

R=R

resistor2

L=L

inductor2

C=C

capacitor1

G=G

conductor1

C=C

capacitor2

G=G

conductor2

R=R

resistor3

L=L

inductor3

O-Line

Page 28: SysML-Modelica Transformation Specification (SE DSIG Meeting, Jacksonville, 3/22/2010)

Modelica Simulation

• May need to specify additional information:– Solver algorithm– Accuracy

28

Page 29: SysML-Modelica Transformation Specification (SE DSIG Meeting, Jacksonville, 3/22/2010)

Tough Issues

• Typing– Structural vs. nominal typing

• Local type modifications– Requires reification– Used extensively — no “instances” in Modelica

• Expressions– Opaque

29

Page 30: SysML-Modelica Transformation Specification (SE DSIG Meeting, Jacksonville, 3/22/2010)

Presentation Overview• Objectives, Focus, Scope• What is Modelica?• Transformation Roadmap• Current Status• Details of Specification

– Classes, Components, Equations, Connections• Implementation: Demo• Summary

30

Page 31: SysML-Modelica Transformation Specification (SE DSIG Meeting, Jacksonville, 3/22/2010)

Implementation Target 1

31

OpenModelicaCompiler

MOFLON TGG

MOFLONgenerated

Java

hand-codedJava

MagicDraw

Page 32: SysML-Modelica Transformation Specification (SE DSIG Meeting, Jacksonville, 3/22/2010)

Implementation Target 2

32

OpenModelicaCompiler

QVT

Eclipse

hand-codedJava

MagicDraw /Papyrus

Page 33: SysML-Modelica Transformation Specification (SE DSIG Meeting, Jacksonville, 3/22/2010)

Implementation 3

33

OpenModelicaCompiler

Eclipse

hand-codedJava

Papyrus

Acceleo

Page 34: SysML-Modelica Transformation Specification (SE DSIG Meeting, Jacksonville, 3/22/2010)

SysML4Modelica in Context

34SysML4ModelicaAnalytical Model

SysMLDescriptive Model

Page 35: SysML-Modelica Transformation Specification (SE DSIG Meeting, Jacksonville, 3/22/2010)

SysML4Modelica in Context

35

mas

s1

m=1

sprin

g1

fixed1

ModelicaModel

SysML4ModelicaAnalytical Model

SysML Descriptive Modelin Analysis Context

Page 36: SysML-Modelica Transformation Specification (SE DSIG Meeting, Jacksonville, 3/22/2010)

Current Status

• Draft of Transformation Specification Part I — Introduction final editing Part II — SysML4Modelica profile final editing Part III — Modelica meta-model final editing Part IV — SysML-Modelica mapping

a bidirectional mapping between the SysML4Modelica profile and the Modelica meta-model

ongoing implementation, verification Annex A – Robotic Sample Problemto be completed

36

Page 37: SysML-Modelica Transformation Specification (SE DSIG Meeting, Jacksonville, 3/22/2010)

Next Steps

• Complete Reference Implementation– Are the vendors willing to help?

• Final editing + Robot example– Working session on Thursday 9-5 in City Terrace 9

• Review of Spec Document• Workflow for how to use SysML4Modelica

• Submission of RFC– Letters of Intent 37

Page 38: SysML-Modelica Transformation Specification (SE DSIG Meeting, Jacksonville, 3/22/2010)

Discussion?

38