the omg sysml-modelica transformation specification · sysml-modelica transformation specification...
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)
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/