the omg sysml-modelica transformation specification · sysml-modelica transformation specification...

49
The OMG SysML-Modelica Transformation Specification: Supporting Model-Based Systems Engineering Model-Based Systems Engineering Center 1 MBSE 2008-2011 Copyright © Georgia Tech. All Rights Reserved. Supporting Model-Based Systems Engineering with SysML and Modelica Chris Paredis Associate Director Model-Based Systems Engineering Center Georgia Tech [email protected] www.pslm.gatech.edu/courses www.omg.org/ocsmp

Upload: vuongngoc

Post on 10-Sep-2018

252 views

Category:

Documents


2 download

TRANSCRIPT

The OMG SysML-Modelica Transformation Specification:Supporting Model-Based Systems Engineering

Model-Based Systems Engineering Center

1MBSE2008-2011 Copyright © Georgia Tech. All Rights Reserved.

Supporting Model-Based Systems Engineeringwith SysML and Modelica

Chris ParedisAssociate DirectorModel-Based Systems Engineering CenterGeorgia [email protected]

www.pslm.gatech.edu/courseswww.omg.org/ocsmp

SysML-Modelica Transformation Specification:Context & Objective

� Two complementary languages for Systems Engineering:– Descriptive modeling in SysML– Formal equation-based modeling for

analyses and trade studies in Modelica

Objective:

2MBSE2008-2011 Copyright © Georgia Tech. All Rights Reserved.

� 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» a Modelica abstract syntax metamodel» a mapping between Modelica and the profile

Presentation Overview

� What is SysML?� What is Modelica?

� Motivating Example: Design & Analysis of Robot

3MBSE2008-2011 Copyright © Georgia Tech. All Rights Reserved.

� SysML-Modelica Transformation Specification� Transformations in Model-Based Systems Modeling� Summary

Acknowledgements

Working Group Members� Yves Bernard (EADS)� Roger Burkhart (Deere & Co)� Wuzhu Chen (Univ. Braunschweig)� Hans-Peter De Koning (ESA)� Sandy Friedenthal (Lockheed

Martin)

Students / post-docs� Kevin Davies� Sebastian Herzig� Alek Kerzhner� Ben Lee� Roxanne Moore

Axel Reichwein

4MBSE2008-2011 Copyright © Georgia Tech. All Rights Reserved.

Martin)� Peter Fritzson (Linköping University)� Nerijus Jankevicius (No Magic)� Alek Kerzhner (Georgia Tech)� Andreas Korff (Atego)� Chris Paredis (Georgia Tech)� Axel Reichwein (Georgia Tech)� Nicolas Rouquette (JPL)� Wladimir Schamai (EADS)

� Axel Reichwein� Wladimir Schamai

Sponsors� Deere & Co� Lockheed Martin� National Science

Foundation

Systems Modeling Language: SysML

� SysML is an extension of the Unified Modeling Language.

� Supports the modeling of physical systems – not just software

5MBSE2008-2011 Copyright © Georgia Tech. All Rights Reserved.

software

� It is not a methodology or tool

� Improves the ability to exchange systems engineering informationamong tools and people

definition

bdd [package] VehicleStructure [ABS-Block Definition Diagram]

«block»Traction Detector

«block»Brake

Modulator

«block»Library::Electro-Hydraulic

Valve

«block»Library::

Electronic Processor

«block»Anti-Lock Controller

d1 m1

Pillars of SysML: 4 Main Diagram Types

1. Structure 2. Behavior

(Source: Friedenthal, www.omgsysml.org)

6MBSE2008-2011 Copyright © Georgia Tech. All Rights Reserved.

definition

4. Requirements 3. Parametrics

definition

bdd [package] VehicleStructure [ABS-Block Definition Diagram]

«block»Traction Detector

«block»Brake

Modulator

«block»Library::Electro-Hydraulic

Valve

«block»Library::

Electronic Processor

«block»Anti-Lock Controller

d1 m1

use

ibd [block] Anti-LockController [Internal Block Diagram]

d1:Traction Detector

m1:Brake

c1:modulator interface

Pillars of SysML: 4 Main Diagram Types

1. Structure 2. Behaviorsd ABS_ActivationSequence [Sequence Diagram]

d1:TractionDetector

m1:BrakeModulator

detTrkLos()

modBrkFrc()

sendSignal()

modBrkFrc(traction_signal:boolean)

interaction

(Source: Friedenthal, www.omgsysml.org)

7MBSE2008-2011 Copyright © Georgia Tech. All Rights Reserved.

definition use m1:Brake Modulator

4. Requirements 3. Parametrics

sendAck()

definition

bdd [package] VehicleStructure [ABS-Block Definition Diagram]

«block»Traction Detector

«block»Brake

Modulator

«block»Library::Electro-Hydraulic

Valve

«block»Library::

Electronic Processor

«block»Anti-Lock Controller

d1 m1

use

ibd [block] Anti-LockController [Internal Block Diagram]

d1:Traction Detector

m1:Brake

c1:modulator interface

Pillars of SysML: 4 Main Diagram Types

1. Structure 2. Behaviorsd ABS_ActivationSequence [Sequence Diagram]

d1:TractionDetector

m1:BrakeModulator

detTrkLos()

modBrkFrc()

sendSignal()

modBrkFrc(traction_signal:boolean)

interaction

state machine

stm TireTraction [State Diagram]

Gripping Slipping

LossOfTraction

RegainTraction

(Source: Friedenthal, www.omgsysml.org)

8MBSE2008-2011 Copyright © Georgia Tech. All Rights Reserved.

definition use m1:Brake Modulator

4. Requirements 3. Parametrics

sendAck()

definition

bdd [package] VehicleStructure [ABS-Block Definition Diagram]

«block»Traction Detector

«block»Brake

Modulator

«block»Library::Electro-Hydraulic

Valve

«block»Library::

Electronic Processor

«block»Anti-Lock Controller

d1 m1

use

ibd [block] Anti-LockController [Internal Block Diagram]

d1:Traction Detector

m1:Brake

c1:modulator interface

Pillars of SysML: 4 Main Diagram Types

1. Structure 2. Behaviorsd ABS_ActivationSequence [Sequence Diagram]

d1:TractionDetector

m1:BrakeModulator

detTrkLos()

modBrkFrc()

sendSignal()

modBrkFrc(traction_signal:boolean)

interaction

state machine

stm TireTraction [State Diagram]

Gripping Slipping

LossOfTraction

RegainTractionactivity/function

act PreventLockup [Activity Diagram]

DetectLossOf Traction

Modulate BrakingForce

TractionLoss:

(Source: Friedenthal, www.omgsysml.org)

9MBSE2008-2011 Copyright © Georgia Tech. All Rights Reserved.

req [package] VehicleSpecifications [Requirements Diagram - Braking Requirements]

Braking Subsystem Specification

Vehicle System Specification

id=“102”text=”The vehicle shall stop from 60 mph within 150 ft on a clean dry surface.”

«requirement»StoppingDistance

id=”337"text=”Braking subsystem shall prevent wheel lockup under all braking conditions.”

«requirement»Anti-LockPerformance

«deriveReqt»

definition use m1:Brake Modulator

4. Requirements 3. Parametrics

sendAck()

par [constraintBlock] StraightLineVehicleDynamics [Parametric Diagram]

:AccellerationEquation[F = ma]

:VelocityEquation[a = dv/dt]

:DistanceEquation[v = dx/dt]

:BrakingForceEquation

[f = (tf*bf)*(1-tl)]

tf: bf:tl:

f:

F:

c

a:a:

v:

v:

x:

act PreventLockup [Activity Diagram]

DetectLossOf Traction

Modulate BrakingForceTractionLoss:

ibd [block] Anti-LockController [Internal Block Diagram]

d1:Traction Detector

m1:Brake Modulator

c1:modulator interface

Cross Connecting Model Elements1. Structure 2. Behavior

act PreventLockup [Swimlane Diagram]

«allocate»:TractionDetector

«allocate»:BrakeModulator

allocatedTo«connector»c1:modulatorInterface

DetectLossOf Traction

Modulate BrakingForce

TractionLoss:

(Source: Friedenthal, www.omgsysml.org)

10MBSE2008-2011 Copyright © Georgia Tech. All Rights Reserved.

req [package] VehicleSpecifications [Requirements Diagram - Braking Requirements]

Braking Subsystem Specification

Vehicle System Specification

id=“102”text=”The vehicle shall stop from 60 mph within 150 ft on a clean dry surface.”

«requirement»StoppingDistance

id=”337"text=”Braking subsystem shall prevent wheel lockup under all braking conditions.”

«requirement»Anti-LockPerformance

«deriveReqt»

par [constraintBlock] StraightLineVehicleDynamics [Parametric Diagram]

:AccellerationEquation[F = ma]

:VelocityEquation[a = dv/dt]

:DistanceEquation[v = dx/dt]

:BrakingForceEquation

[f = (tf*bf)*(1-tl)]

tf: bf:tl:

f:

F:

c

a:a:

v:

v:

x:

4. Requirements 3. Parametrics

act PreventLockup [Activity Diagram]

DetectLossOf Traction

Modulate BrakingForceTractionLoss:

ibd [block] Anti-LockController [Internal Block Diagram]

d1:Traction Detector

m1:Brake Modulator

c1:modulator interface

Cross Connecting Model Elements1. Structure 2. Behavior

act PreventLockup [Swimlane Diagram]

«allocate»:TractionDetector

«allocate»:BrakeModulator

allocatedTo«connector»c1:modulatorInterface

DetectLossOf Traction

Modulate BrakingForce

TractionLoss:

ibd [block] Anti-LockController [Internal Block Diagram]

allocatedFrom«activity»DetectLosOfTraction

d1:TractionDetector

allocatedFrom «activity»Modulate BrakingForce

m1:BrakeModulator

allocatedFrom«ObjectNode»TractionLoss:

c1:modulatorInterface

(Source: Friedenthal, www.omgsysml.org)

11MBSE2008-2011 Copyright © Georgia Tech. All Rights Reserved.

req [package] VehicleSpecifications [Requirements Diagram - Braking Requirements]

Braking Subsystem Specification

Vehicle System Specification

id=“102”text=”The vehicle shall stop from 60 mph within 150 ft on a clean dry surface.”

«requirement»StoppingDistance

id=”337"text=”Braking subsystem shall prevent wheel lockup under all braking conditions.”

«requirement»Anti-LockPerformance

«deriveReqt»

par [constraintBlock] StraightLineVehicleDynamics [Parametric Diagram]

:AccellerationEquation[F = ma]

:VelocityEquation[a = dv/dt]

:DistanceEquation[v = dx/dt]

:BrakingForceEquation

[f = (tf*bf)*(1-tl)]

tf: bf:tl:

f:

F:

c

a:a:

v:

v:

x:

4. Requirements 3. Parametrics

act PreventLockup [Activity Diagram]

DetectLossOf Traction

Modulate BrakingForceTractionLoss:

ibd [block] Anti-LockController [Internal Block Diagram]

d1:Traction Detector

m1:Brake Modulator

c1:modulator interface

Cross Connecting Model Elements1. Structure 2. Behavior

act PreventLockup [Swimlane Diagram]

«allocate»:TractionDetector

«allocate»:BrakeModulator

allocatedTo«connector»c1:modulatorInterface

DetectLossOf Traction

Modulate BrakingForce

TractionLoss:

ibd [block] Anti-LockController [Internal Block Diagram]

allocatedFrom«activity»DetectLosOfTraction

d1:TractionDetector

allocatedFrom «activity»Modulate BrakingForce

m1:BrakeModulator

allocatedFrom«ObjectNode»TractionLoss:

c1:modulatorInterface

ibd [block] Anti-LockController [Internal Block Diagram]

allocatedFrom«activity»DetectLosOfTraction

d1:TractionDetector

allocatedFrom «activity»Modulate BrakingForce

m1:BrakeModulator

allocatedFrom«ObjectNode»TractionLoss:

c1:modulatorInterface

satisfies«requirement»Anti-LockPerformance

(Source: Friedenthal, www.omgsysml.org)

12MBSE2008-2011 Copyright © Georgia Tech. All Rights Reserved.

req [package] VehicleSpecifications [Requirements Diagram - Braking Requirements]

Braking Subsystem Specification

Vehicle System Specification

id=“102”text=”The vehicle shall stop from 60 mph within 150 ft on a clean dry surface.”

«requirement»StoppingDistance

id=”337"text=”Braking subsystem shall prevent wheel lockup under all braking conditions.”

«requirement»Anti-LockPerformance

«deriveReqt»

req [package] VehicleSpecifications [Requirements Diagram - Braking Requirements]

Braking Subsystem Specification

Vehicle System Specification

id=“102”text=”The vehicle shall stop from 60 mph within 150 ft on a clean dry surface.”

«requirement»StoppingDistance

SatisfiedBy«block»Anti-LockController

id=”337"text=”Braking subsystem shall prevent wheel lockup under all braking conditions.”

«requirement»Anti-LockPerformance

«deriveReqt»

par [constraintBlock] StraightLineVehicleDynamics [Parametric Diagram]

:AccellerationEquation[F = ma]

:VelocityEquation[a = dv/dt]

:DistanceEquation[v = dx/dt]

:BrakingForceEquation

[f = (tf*bf)*(1-tl)]

tf: bf:tl:

f:

F:

c

a:a:

v:

v:

x:

4. Requirements 3. Parametrics

satisfy

act PreventLockup [Activity Diagram]

DetectLossOf Traction

Modulate BrakingForceTractionLoss:

ibd [block] Anti-LockController [Internal Block Diagram]

d1:Traction Detector

m1:Brake Modulator

c1:modulator interface

Cross Connecting Model Elements1. Structure 2. Behavior

act PreventLockup [Swimlane Diagram]

«allocate»:TractionDetector

«allocate»:BrakeModulator

allocatedTo«connector»c1:modulatorInterface

DetectLossOf Traction

Modulate BrakingForce

TractionLoss:

ibd [block] Anti-LockController [Internal Block Diagram]

allocatedFrom«activity»DetectLosOfTraction

d1:TractionDetector

allocatedFrom «activity»Modulate BrakingForce

m1:BrakeModulator

allocatedFrom«ObjectNode»TractionLoss:

c1:modulatorInterface

ibd [block] Anti-LockController [Internal Block Diagram]

allocatedFrom«activity»DetectLosOfTraction

d1:TractionDetector

allocatedFrom «activity»Modulate BrakingForce

m1:BrakeModulator

allocatedFrom«ObjectNode»TractionLoss:

c1:modulatorInterface

satisfies«requirement»Anti-LockPerformance

ibd [block] Anti-LockController [Internal Block Diagram]

allocatedFrom«activity»DetectLosOf Traction

d1:TractionDetector

valuesDutyCycle: Percentage

allocatedFrom «activity»Modulate BrakingForce

m1:BrakeModulator

allocatedFrom«ObjectNode»TractionLoss:

c1:modulatorInterface

satisfies«requirement»Anti-LockPerformance

(Source: Friedenthal, www.omgsysml.org)

13MBSE2008-2011 Copyright © Georgia Tech. All Rights Reserved.

req [package] VehicleSpecifications [Requirements Diagram - Braking Requirements]

Braking Subsystem Specification

Vehicle System Specification

id=“102”text=”The vehicle shall stop from 60 mph within 150 ft on a clean dry surface.”

«requirement»StoppingDistance

id=”337"text=”Braking subsystem shall prevent wheel lockup under all braking conditions.”

«requirement»Anti-LockPerformance

«deriveReqt»

req [package] VehicleSpecifications [Requirements Diagram - Braking Requirements]

Braking Subsystem Specification

Vehicle System Specification

id=“102”text=”The vehicle shall stop from 60 mph within 150 ft on a clean dry surface.”

«requirement»StoppingDistance

SatisfiedBy«block»Anti-LockController

id=”337"text=”Braking subsystem shall prevent wheel lockup under all braking conditions.”

«requirement»Anti-LockPerformance

«deriveReqt»

par [constraintBlock] StraightLineVehicleDynamics [Parametric Diagram]

:AccellerationEquation[F = ma]

:VelocityEquation[a = dv/dt]

:DistanceEquation[v = dx/dt]

:BrakingForceEquation

[f = (tf*bf)*(1-tl)]

tf: bf:tl:

f:

F:

c

a:a:

v:

v:

x:

4. Requirements 3. Parametrics

par [constraintBlock] StraightLineVehicleDynamics [Parametric Diagram]

:AccellerationEquation[F = ma]

:VelocityEquation[a = dv/dt]

:DistanceEquation[v = dx/dt]

:BrakingForceEquation

[f = (tf*bf)*(1-tl)]

tf: bf:tl:

f:

F:

m:

a:a:

v:

v:

x:

v.Position:

v.Weight:v.chassis.tire.Friction:

v.brake.abs.m1.DutyCycle:

v.brake.rotor.BrakingForce:

satisfy

act PreventLockup [Activity Diagram]

DetectLossOf Traction

Modulate BrakingForceTractionLoss:

ibd [block] Anti-LockController [Internal Block Diagram]

d1:Traction Detector

m1:Brake Modulator

c1:modulator interface

Cross Connecting Model Elements1. Structure 2. Behavior

act PreventLockup [Swimlane Diagram]

«allocate»:TractionDetector

«allocate»:BrakeModulator

allocatedTo«connector»c1:modulatorInterface

DetectLossOf Traction

Modulate BrakingForce

TractionLoss:

ibd [block] Anti-LockController [Internal Block Diagram]

allocatedFrom«activity»DetectLosOfTraction

d1:TractionDetector

allocatedFrom «activity»Modulate BrakingForce

m1:BrakeModulator

allocatedFrom«ObjectNode»TractionLoss:

c1:modulatorInterface

ibd [block] Anti-LockController [Internal Block Diagram]

allocatedFrom«activity»DetectLosOfTraction

d1:TractionDetector

allocatedFrom «activity»Modulate BrakingForce

m1:BrakeModulator

allocatedFrom«ObjectNode»TractionLoss:

c1:modulatorInterface

satisfies«requirement»Anti-LockPerformance

ibd [block] Anti-LockController [Internal Block Diagram]

allocatedFrom«activity»DetectLosOf Traction

d1:TractionDetector

valuesDutyCycle: Percentage

allocatedFrom «activity»Modulate BrakingForce

m1:BrakeModulator

allocatedFrom«ObjectNode»TractionLoss:

c1:modulatorInterface

satisfies«requirement»Anti-LockPerformance

(Source: Friedenthal, www.omgsysml.org)

14MBSE2008-2011 Copyright © Georgia Tech. All Rights Reserved.

req [package] VehicleSpecifications [Requirements Diagram - Braking Requirements]

Braking Subsystem Specification

Vehicle System Specification

id=“102”text=”The vehicle shall stop from 60 mph within 150 ft on a clean dry surface.”

«requirement»StoppingDistance

id=”337"text=”Braking subsystem shall prevent wheel lockup under all braking conditions.”

«requirement»Anti-LockPerformance

«deriveReqt»

req [package] VehicleSpecifications [Requirements Diagram - Braking Requirements]

Braking Subsystem Specification

Vehicle System Specification

id=“102”text=”The vehicle shall stop from 60 mph within 150 ft on a clean dry surface.”

«requirement»StoppingDistance

SatisfiedBy«block»Anti-LockController

id=”337"text=”Braking subsystem shall prevent wheel lockup under all braking conditions.”

«requirement»Anti-LockPerformance

«deriveReqt»

par [constraintBlock] StraightLineVehicleDynamics [Parametric Diagram]

:AccellerationEquation[F = ma]

:VelocityEquation[a = dv/dt]

:DistanceEquation[v = dx/dt]

:BrakingForceEquation

[f = (tf*bf)*(1-tl)]

tf: bf:tl:

f:

F:

c

a:a:

v:

v:

x:

4. Requirements 3. Parametrics

par [constraintBlock] StraightLineVehicleDynamics [Parametric Diagram]

:AccellerationEquation[F = ma]

:VelocityEquation[a = dv/dt]

:DistanceEquation[v = dx/dt]

:BrakingForceEquation

[f = (tf*bf)*(1-tl)]

tf: bf:tl:

f:

F:

m:

a:a:

v:

v:

x:

v.Position:

v.Weight:v.chassis.tire.Friction:

v.brake.abs.m1.DutyCycle:

v.brake.rotor.BrakingForce:

par [constraintBlock] StraightLineVehicleDynamics [Parametric Diagram]

:AccellerationEquation[F = ma]

:VelocityEquation[a = dv/dt]

:DistanceEquation[v = dx/dt]

:BrakingForceEquation

[f = (tf*bf)*(1-tl)]

tf: bf:tl:

f:

F:

m:

a:a:

v:

v:

x:

v.Position:

v.Weight:v.chassis.tire.Friction:

v.brake.abs.m1.DutyCycle:

v.brake.rotor.BrakingForce:

req [package] VehicleSpecifications [Requirements Diagram - Braking Requirements]

Braking Subsystem Specification

Vehicle System Specification

VerifiedBy«interaction»MinimumStoppingDistance

id=“102”text=”The vehicle shall stop from 60 mph within 150 ft on a clean dry surface.”

«requirement»StoppingDistance

SatisfiedBy«block»Anti-LockController

id=”337"text=”Braking subsystem shall prevent wheel lockup under all braking conditions.”

«requirement»Anti-LockPerformance

«deriveReqt»

satisfy

What is Modelica?(www.modelica.org)

� State-of-the-art Modeling Languagefor System Dynamics– Differential Algebraic Equations (DAE)– Discrete Events

15MBSE2008-2011 Copyright © Georgia Tech. All Rights Reserved.

� Represents DAE models in an object-oriented, engineering-oriented language

� Multi-(physical)-domain modeling� Ports represent energy flow (undirected) or

signal flow (directed)� Acausal, equation-based, declarative (f-m*a=0)

Modelica Semantics and Textual Syntax

spring1

16MBSE2008-2011 Copyright © Georgia Tech. All Rights Reserved.

� Connections represent Kirchhoff semantics– Across variables (voltage, pressure,…) are equal– Through variables (current, flow rate,…) add to zero

mass1

m=1

spring1 fixed1

Graphical symbols defined as annotations in textual models

Presentation Overview

� What is SysML?� What is Modelica?

� Motivating Example: Design & Analysis of Robot

17MBSE2008-2011 Copyright © Georgia Tech. All Rights Reserved.

� SysML-Modelica Transformation Specification� Transformations in Model-Based Systems Modeling� Summary

A Robot Example in Modelica

18MBSE2008-2011 Copyright © Georgia Tech. All Rights Reserved.

mot

or to

rque

SysML-Modelica Robot Example:UseCases & Requirements

19MBSE2008-2011 Copyright © Georgia Tech. All Rights Reserved.

SysML-Modelica Robot Example:Robot Domain BDD & IBD

20MBSE2008-2011 Copyright © Georgia Tech. All Rights Reserved.

SysML-Modelica Robot Example:Robot BDD & IBD

21MBSE2008-2011 Copyright © Georgia Tech. All Rights Reserved.Presentation for the INCOSE Symposium 2010 Chicago, IL USA

SysML-Modelica Robot Example:Robot Arm BDD

22MBSE2008-2011 Copyright © Georgia Tech. All Rights Reserved.

SysML-Modelica Robot Example:Analysis and Trade Study

23MBSE2008-2011 Copyright © Georgia Tech. All Rights Reserved.

Analysis models depend on descriptive models

Drag and drop intoIBD «ModelicaModel»

SysML4Modelica Analytical Model:Compose Model from Standard Library

24MBSE2008-2011 Copyright © Georgia Tech. All Rights Reserved.

SysML4Modelica Analytical Model:Detailed IBD

25MBSE2008-2011 Copyright © Georgia Tech. All Rights Reserved.

SysML4Modelica Analytical Model:Detailed IBD

26MBSE2008-2011 Copyright © Georgia Tech. All Rights Reserved.

SysML4Modelica Analytical Model:Relation to Modelica Native Model

27MBSE2008-2011 Copyright © Georgia Tech. All Rights Reserved.

SysML-Modelica Robot Example:Modelica model with simulation results

28MBSE2008-2011 Copyright © Georgia Tech. All Rights Reserved.

SysML-Modelica Robot Example:Analysis and Trade Study

29MBSE2008-2011 Copyright © Georgia Tech. All Rights Reserved.

Analysis results are incorporated in Trade Study

SysML-Modelica Robot Example:An Analysis Context

30MBSE2008-2011 Copyright © Georgia Tech. All Rights Reserved.

SysML-Modelica Robot Example:Dependencies between Models

31MBSE2008-2011 Copyright © Georgia Tech. All Rights Reserved.

SysML-Modelica Robot Example:Dependencies between Models

32MBSE2008-2011 Copyright © Georgia Tech. All Rights Reserved.

Presentation Overview

� What is SysML?� What is Modelica?

� Motivating Example: Design & Analysis of Robot

33MBSE2008-2011 Copyright © Georgia Tech. All Rights Reserved.

� SysML-Modelica Transformation Specification� Transformations in Model-Based Systems Modeling� Summary

Model Transformation

Source Metamodel

Source Model

Target Metamodel

Target Model

conforms to conforms to

Transformation Specification

Transformation Enginereads writes

refers to refers to

executes

(Czarnecki, K., & Hellen, S., 2006)

34MBSE2008-2011 Copyright © Georgia Tech. All Rights Reserved.

� Model Driven Architecture / Engineering� Transformation Specification = Model� automated generation of transformation engine code

� Tools: MOFLON, QVTo, ATL, Kermeta, VIATRA2, …

SysML-Modelica Transformation Specification

SysML-Modelica

Transformation follows the

35MBSE2008-2011 Copyright © Georgia Tech. All Rights Reserved.

follows the principlesof Model-

Driven Architecture

(MDA)

SysML4Modelica Profile

36MBSE2008-2011 Copyright © Georgia Tech. All Rights Reserved.

ModelOverviewComponents[Package] bdd [ ]

<<ModelicaPort>>flange_a : Flange

<<ModelicaPort>>flange_b : Flange

<<ModelicaModel>>ModelicaStandardLibrary::Mechanics::Translational::Interfaces::

PartialCompliant {s_rel = flange_b.s - flange_a.s; flange_b.f = f;

flange_a.f = -f;}

<<ModelicaValueProperty>>+s_rel : Distance<<ModelicaValueProperty>>+f : Force

<<ModelicaPort>>flange_a : Flange

<<ModelicaPort>>flange_b : Flange

<<ModelicaExtendsRelation>>

SysML4Modelica

37MBSE2008-2011 Copyright © Georgia Tech. All Rights Reserved.

<<ModelicaModel>>ModelicaStandardLibrary::Mechanics::Translational::Components::

Spring{f = c*(s_rel - s_rel0);}

<<ModelicaValueProperty>>+c : TranslationalSpringConstant{variability = parameter}<<ModelicaValueProperty>>+s_rel0 : Distance{variability = parameter}

Modelica

For

mal

m

appi

ng

Reference implementation:Based on OMG QVT

Modelica abstract

XMI(SysML4

conforms toSysML+

SysML4Modelicametamodel

SysML Tool

XMI(Modelica)

conforms toModelica

metamodel

38MBSE2008-2011 Copyright © Georgia Tech. All Rights Reserved.

syntaxModelica)Tool

Modelica.mo file

Tool-Specific Repository

QVT(normative)

(Modelica)

OMC

QVT = Query / View / Transformation

Presentation Overview

� What is SysML?� What is Modelica?

� Motivating Example: Design & Analysis of Robot

39MBSE2008-2011 Copyright © Georgia Tech. All Rights Reserved.

� SysML-Modelica Transformation Specification� Transformations in Model-Based Systems Modeling� Summary

D

D

Model Transformations in MBSE

DD

DD

D

D

DD

Model Object

D Model Dependency

40MBSE2008-2011 Copyright © Georgia Tech. All Rights Reserved.

D

DD

DD

DDD

D

D

D

D

DD

D

D

DD

D

D

System Model

D

D

Model Transformations in MBSE:Federated Models

DD

DD

D

D

SysMLProfile

A

ProfileB

D

D

DD

Domain ATool B

Model Object

D Model Dependency

41MBSE2008-2011 Copyright © Georgia Tech. All Rights Reserved.

D

DD

DD

D

D

D DD

D

D

DD

D

D

SysMLA

ProfileC

Profile D

Tool D

Domain C

System Model

Model Transformations in MBSE

Requirements

FormalSystemModel

Stage-Gate Documents

Transformation

42MBSE2008-2011 Copyright © Georgia Tech. All Rights Reserved.

Project Management Metrics

Transformation

Verification & ConsistencyManagement

Model Transformations in MBSE:Reusable Models

Requirements

43MBSE2008-2011 Copyright © Georgia Tech. All Rights Reserved.

Revision by GIT; Original Source: OMG SysML Tutorial (June 2008). Reprinted with permission. Copyright © 2006-2008 by Object Management Group.

Creating Models is Expensive and Time-Consuming

Model Transformations in MBSE:Applying Reuse Patterns

� Physical components are reused� Portions of the system model repeat� Patterns for instantiating these portions

44MBSE2008-2011 Copyright © Georgia Tech. All Rights Reserved.

� Component models � Domain specific model libraries� Application of pattern = model transformations

Electric Motors

Model Transformations in MBSE:Applying Reuse Patterns

� When cylinder is used, other corresponding models are often used also

� Capture the reuse pattern

45MBSE2008-2011 Copyright © Georgia Tech. All Rights Reserved.

Model Transformations in MBSE:Applying Reuse Patterns

46MBSE2008-2011 Copyright © Georgia Tech. All Rights Reserved.

Model Transformations in MBSE:Descriptive to Analytical Transformation

SysMLDescriptive

SysML4Modelica

47MBSE2008-2011 Copyright © Georgia Tech. All Rights Reserved.

DescriptiveModels

CorrespondenceModels

AnalyticalModels

SysML4ModelicaAnalytical

SysML

Model Transformations in MBSE:Architecture Exploration

Problem Definition

Generate Architecture

ComponentsSysML

SysML Model exchanged in XMIMagicDraw SysML Editor

GAMS SolverTransformation Engine

Topology Analysis

Variable FidelityModel Selection

48MBSE2008-2011 Copyright © Georgia Tech. All Rights Reserved.

SysML

SysML

GenerateAlgebraic Design

Problem

SysMLAlgebraic Models

GenerateDynamic Design

Problem

SysMLDynamic Models

Problem Formulation Problem Solution

Analysis

Dynamic Analysis

Uncertainty Quantification

Mixed-IntegNonlin Solver

Algebraic Analysis

OptimizationSolver

Monte Carlo + KrigingDesign Explorer Modelica

GAMS

Summary

� Objective:– Leverage the strengths of both SysML and Modelica by

integrating them to create a more expressive and formal MBSE language.

49MBSE2008-2011 Copyright © Georgia Tech. All Rights Reserved.

Descriptive Modeling in SysML+

Formal Equation-Based Modeling forAnalyses and Trade Studies in Modelica

http://www.omg.org/spec/SyM/