An Overview of the SysML-Modelica Transformation Specification

advertisement
An Overview of the SysML-Modelica
Transformation Specification
Chris Paredis (Georgia Tech)
Y. Bernard (Airbus), R. Burkhart (Deere & Co),
H. de Koning (ESA/ESTEC), S. Friedenthal (Lockheed Martin Corp.),
P. Fritzson (Linköping University), N. Rouquette (JPL),
W. Schamai (EADS)
Presentation for the INCOSE Symposium 2010 Chicago, IL USA
1
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:
– 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 for the INCOSE Symposium 2010 Chicago, IL USA
2
Presentation Overview
What is SysML?
What is Modelica?
Motivating Example: Design & Analysis of Robot
SysML-Modelica Transformation Specification
Transformations in Systems Modeling
Timeline towards Specification Adoption
Summary
3
What is SysML?
(www.omgsysml.org)
1. Structure
2. Behavior
act PreventLockup [Swimlane Diagram]
ibd [block] Anti-LockController
[Internal Block Diagram]
satisfies
«requirement»
Anti-Lock
Performance
ibd [block] Anti-LockController
[Internal Block Diagram]
d1:TractionDetector
«allocate»
act PreventLockup
[Activity Diagram]
:TractionDetector
«allocate»
:BrakeModulator
allocatedFrom
«activity»DetectLos
d1:Traction
Of
Traction
OfTraction
Detector
c1:modulator
c1:modulator
Interface
Interface
c1:modulator
interface
DetectLossOf
Traction
m1:BrakeModulator
m1:Brake
Modulator
allocatedFrom
«activity»Modulate
BrakingForce
allocatedFrom
«ObjectNode»
TractionLoss:
TractionLoss:
allocatedTo
«connector»c1:modulatorInterface
values
DutyCycle: Percentage
satisfy
Modulate
Modulate
BrakingForce
BrakingForce
par [constraintBlock] StraightLineVehicleDynamics [Parametric Diagram]
req [package] VehicleSpecifications
[Requirements Diagram - Braking Requirements]
v.chassis.tire.
Friction:
v.brake.abs.m1.
DutyCycle:
v.brake.rotor.
BrakingForce:
v.Weight:
par [constraintBlock] StraightLineVehicleDynamics [Parametric Diagram]
Vehicle System
Specification
Braking Subsystem
Specification
«requirement»
StoppingDistance
«requirement»
Anti-LockPerformance
id=“102”
text=”The vehicle shall stop
from 60 mph within 150 ft
on a clean dry surface.”
id=”337"
text=”Braking subsystem
shall prevent wheel lockup
under all braking conditions.”
VerifiedBy
SatisfiedBy
«interaction»MinimumStopp
«block»Anti-LockController
«deriveReqt»
ingDistance
tf:
tl:
bf:
:BrakingForce
Equation
[f = (tf*bf)*(1-tl)]
c
m:
f:
F:
:Accelleration
Equation
[F = ma]
a:
a:
:DistanceEquation
[v = dx/dt]
v:
v:
:VelocityEquation
[a = dv/dt]
x:
«deriveReqt»
«deriveReqt»
4. Requirements
v.Position:
3. Parametrics
4
What is Modelica?
(www.modelica.org)
State-of-the-art Modeling Language
for System Dynamics
– Differential Algebraic Equations (DAE)
– Discrete Events
Formal, object-oriented language
Standardized by the Modelica Association
– Open language specification – tool independent
Multi-domain modeling
Ports represent energy flow (undirected) or
signal flow (directed)
Acausal, equation-based, declarative (f-m*a=0)
5
Modelica: Active and Mature Community
Modelica association — 20+ free libs (www.modelica.org)
6 commercial solvers, 3 open-source solvers
(Dymola, MapleSim, SimulationX, OpenModelica,…)
EUROSYSLIB project — 20+ libs under development
(http://www.itea2.org/public/project_leaflets/EUROSYSLIB_profile_oct-07.pdf)
6
motor torque
A Robot Example in Modelica
Modelica Semantics and Textual Syntax
m=1
spring1
fixed1
mass1
Graphical symbols
defined as
annotations in
textual models
Connections represent Kirchhoff semantics
– Across variables (voltage, pressure,…) are equal
– Through variables (current, flow rate,…) add to zero
8
Presentation Overview
What is SysML?
What is Modelica?
Motivating Example: Design & Analysis of Robot
SysML-Modelica Transformation Specification
Transformations in Systems Modeling
Timeline towards Specification Adoption
Summary
9
motor torque
A Robot Example in Modelica
10
SysML-Modelica Robot Example:
UseCases & Requirements
11
SysML-Modelica Robot Example:
Robot Domain BDD & IBD
12
SysML-Modelica Robot Example:
Robot BDD & IBD
Presentation for the INCOSE Symposium 2010 Chicago, IL USA
13
SysML-Modelica Robot Example:
Robot Arm BDD
14
SysML-Modelica Robot Example:
Analysis and Trade Study
Analysis models depend on descriptive models
15
SysML4Modelica Analytical Model:
Compose Model from SysML Standard Library
Drag and drop into
IBD [ModelicaModel]
16
SysML4Modelica Analytical Model:
Detailed IBD
17
SysML4Modelica Analytical Model:
Detailed IBD
18
SysML4Modelica Analytical Model:
Relation to Modelica Native Model
19
SysML4Modelica Analytical Model: Allocation
20
SysML-Modelica Robot Example:
Modelica model with simulation results
21
SysML-Modelica Robot Example:
Analysis and Trade Study
Analysis results are incorporated in Trade Study
22
Presentation Overview
What is SysML?
What is Modelica?
Motivating Example: Design & Analysis of Robot
SysML-Modelica Transformation Specification
Transformations in Systems Modeling
Timeline towards Specification Adoption
Summary
23
SysML-Modelica Transformation Specification
SysMLModelica
Transformation
follows the
principles
of ModelDriven
Architecture
(MDA)
24
SysML4Modelica Profile
25
bdd [Package] Components[
ModelOverview ]
<<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;}
SysML4Modelica
<<ModelicaValueProperty>>+s_rel : Distance
<<ModelicaValueProperty>>+f : Force
Formal
mapping
<<ModelicaPort>>
flange_a : Flange
<<ModelicaExtendsRelation>>
<<ModelicaPort>>
flange_b : Flange
<<ModelicaModel>>
ModelicaStandardLibrary::Mechanics::Translational::Components::
Spring
{f = c*(s_rel - s_rel0);}
<<ModelicaValueProperty>>+c : TranslationalSpringConstant{variability = parameter}
<<ModelicaValueProperty>>+s_rel0 : Distance{variability = parameter}
Modelica
26
Reference implementation:
Based on OMG QVT
conforms to
SysML+
SysML4Modelica
metamodel
XMI
(SysML4
Modelica)
SysML
Tool
Tool-Specific
Repository
conforms to
Modelica
metamodel
QVT
(normative)
XMI
(Modelica) handcoded
Java
codegenerator
Modelica
abstract
syntax
OMC
Modelica
.mo file
QVT = Query / View / Transformation
27
Transformations in Systems Modeling
Model Object
D Model Dependency
D
D
D
D
D
D
D
D
D
D
D
D
D
D
D
D
D
D
D
D
D
D
D
D
D
D
System Model
28
Transformations in Systems Modeling
Model Object
D Model Dependency
D
D
D
D
D
D
D
D
D
D
SysML
D
D
D
D
D
D
D
D
D
D
D
System Model
D
D
D
D
D
29
Transformations in Systems Modeling
Model Object
D Model Dependency
D
D
D
D
D
D
D
Profile
B
D
Domain A
Profile
A
D
Tool B
D
SysML
D
D
D
D
D
Profile
C
Domain C
D
D
D
D
D
D
D
D
Tool D
Profile D
System Model
D
D
D
30
Descriptive to Analytical Transformation
Correspondence
Models
Descriptive
Models
Analytical
Models
31
Timeline of Specification Adoption
SysML
– SysML RFP: March 2003
– 1.0 Specification: September 2007
– Currently: Revision Task Force 1.3
Modelica
– 1.0 Specification: September 1997
– 3.1 Specification: May 2009
SysML-Modelica
–
–
–
–
–
Initial idea: July 2005
INCOSE MBSE Challenge Project: August 2007 – now
OMG Working Group established: December 2008
Approved for public comment (RFC): June 2010
Future: Adoption as OMG Specification in September 2010 (?)
32
Summary
Objective:
– Leverage the strengths of both SysML and Modelica by
integrating them to create a more expressive and formal MBSE
language.
Descriptive Modeling in SysML
+
Formal Equation-Based Modeling for
Analyses and Trade Studies in Modelica
http://doc.omg.org/syseng/2010-6-8
33
Acknowledgements: Working Group Members
–
–
–
–
–
–
–
–
–
–
–
–
–
Yves Bernard (EADS)
Roger Burkhart (Deere & Co)
Wuzhu Chen (Univ. Braunschweig)
Hans-Peter De Koning (ESA)
Sandy Friedenthal (Lockheed 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)
http://doc.omg.org/syseng/2010-6-8
34
Download