towards unified system modeling with the modelicaml uml … · graphical modeling language for...
TRANSCRIPT
![Page 1: Towards Unified System Modeling with the ModelicaML UML … · Graphical modeling language for Systems Engineering constructed as a UML2 Profile Designed to provide simple but powerful](https://reader035.vdocument.in/reader035/viewer/2022081400/60526798cd836e1ca22fe4b4/html5/thumbnails/1.jpg)
Towards Unified System Modeling with the
ModelicaML UML Profile
Adrian Pop, David Akhvlediani, Peter Fritzson
Programming Environments Laboratory,Department of Computer and Information Science
Linköping University [email protected]
EOLT’2007, 2007-07-30
![Page 2: Towards Unified System Modeling with the ModelicaML UML … · Graphical modeling language for Systems Engineering constructed as a UML2 Profile Designed to provide simple but powerful](https://reader035.vdocument.in/reader035/viewer/2022081400/60526798cd836e1ca22fe4b4/html5/thumbnails/2.jpg)
2
Outline
IntroductionSystem Modeling Language (SysML™)Modelica
ModelicaML: a UML profile for ModelicaOverview and PurposeDiagrams
Package DiagramClass Diagram and Internal Class DiagramEquation Diagram Simulation Diagram
Conclusions and Future Work
![Page 3: Towards Unified System Modeling with the ModelicaML UML … · Graphical modeling language for Systems Engineering constructed as a UML2 Profile Designed to provide simple but powerful](https://reader035.vdocument.in/reader035/viewer/2022081400/60526798cd836e1ca22fe4b4/html5/thumbnails/3.jpg)
3
System Modeling Language (SysML™)
Graphical modeling language for Systems Engineering constructed as a UML2 Profile
Designed to provide simple but powerful constructs for modeling a wide range of systems engineering problems
Effective in specifying requirements, structure, behavior, allocations, and constraints on system properties to support engineering analysis
Intended to support multiple processes and methods such as structured, object-oriented, etc.
![Page 4: Towards Unified System Modeling with the ModelicaML UML … · Graphical modeling language for Systems Engineering constructed as a UML2 Profile Designed to provide simple but powerful](https://reader035.vdocument.in/reader035/viewer/2022081400/60526798cd836e1ca22fe4b4/html5/thumbnails/4.jpg)
4
SysML™ - Diagrams
![Page 5: Towards Unified System Modeling with the ModelicaML UML … · Graphical modeling language for Systems Engineering constructed as a UML2 Profile Designed to provide simple but powerful](https://reader035.vdocument.in/reader035/viewer/2022081400/60526798cd836e1ca22fe4b4/html5/thumbnails/5.jpg)
5
SysML™ - Block Definitions
![Page 6: Towards Unified System Modeling with the ModelicaML UML … · Graphical modeling language for Systems Engineering constructed as a UML2 Profile Designed to provide simple but powerful](https://reader035.vdocument.in/reader035/viewer/2022081400/60526798cd836e1ca22fe4b4/html5/thumbnails/6.jpg)
6
RoboticsAutomotiveAircraftsSatellitesBiomechanicsPower plantsHardware-in-the-loop, real-time simulationetc
Modelica – General Formalism to Model Complex Systems
![Page 7: Towards Unified System Modeling with the ModelicaML UML … · Graphical modeling language for Systems Engineering constructed as a UML2 Profile Designed to provide simple but powerful](https://reader035.vdocument.in/reader035/viewer/2022081400/60526798cd836e1ca22fe4b4/html5/thumbnails/7.jpg)
7
Modelica – The Next Generation Modeling Language
Declarative languageEquations and mathematical functions allow acausal modeling, high level specification, increasedcorrectness
Multi-domain modelingCombine electrical, mechanical, thermodynamic, hydraulic, biological, control, event, real-time, etc...
Everything is a classStrongly typed object-oriented language with a general class concept, Java & Matlab like syntax
Visual component programmingHierarchical system architecture capabilities
Efficient, nonproprietaryEfficiency comparable to C; advanced equationcompilation, e.g. 300 000 equations
![Page 8: Towards Unified System Modeling with the ModelicaML UML … · Graphical modeling language for Systems Engineering constructed as a UML2 Profile Designed to provide simple but powerful](https://reader035.vdocument.in/reader035/viewer/2022081400/60526798cd836e1ca22fe4b4/html5/thumbnails/8.jpg)
8
Modelica Language Properties
Declarative and Object-Oriented
Equation-based; continuous and discreteequations
Parallel process modeling of concurrentapplications, according to synchronous data flowprinciple
Functions with algorithms without global side-effects(but local data updates allowed)
Type system inspired by Abadi/Cardelli (Theory of Objects)
Everything is a class – Real, Integer, models, functions, packages, parameterized classes....
![Page 9: Towards Unified System Modeling with the ModelicaML UML … · Graphical modeling language for Systems Engineering constructed as a UML2 Profile Designed to provide simple but powerful](https://reader035.vdocument.in/reader035/viewer/2022081400/60526798cd836e1ca22fe4b4/html5/thumbnails/9.jpg)
9
Modelica Acausal Modeling Semantics
What is acausal modeling/design?Why does it increase reuse?
The acausality makes Modelica classes morereusable than traditional classes containing assignment statements where the input-output causality is fixed.
Example: a resistor equation:R*i = v;
can be used in three ways:i := v/R;v := R*i;R := v/i;
![Page 10: Towards Unified System Modeling with the ModelicaML UML … · Graphical modeling language for Systems Engineering constructed as a UML2 Profile Designed to provide simple but powerful](https://reader035.vdocument.in/reader035/viewer/2022081400/60526798cd836e1ca22fe4b4/html5/thumbnails/10.jpg)
10
Keyword flow indicates that currents of
connected pins sums to zero.
A connect statement in Modelica
corresponds to equations:
connector PinVoltage v;flow Current i;
end Pin;
connect(Pin1,Pin2)
Connection between Pin1 and Pin2
Pin1.v = Pin2.vPin1.i + Pin2.i = 0
Connector Classes, Components and Connections
![Page 11: Towards Unified System Modeling with the ModelicaML UML … · Graphical modeling language for Systems Engineering constructed as a UML2 Profile Designed to provide simple but powerful](https://reader035.vdocument.in/reader035/viewer/2022081400/60526798cd836e1ca22fe4b4/html5/thumbnails/11.jpg)
11
Modelica - Reusable Class Libraries
InfoR= C= L=
G
AC=
DC=
Vs Is
S
D T
-+
OpV i
E
: 1
Infoshaft3DS=
Sshaft3D= shaftS=
S
shaft=
gear1=
gear2=
planetary=diff=
sun=
planet=ring=
bearing fixTooth
SmoveS move
torque
c= d=
fric=
fricTab clutch=converter
r
w a tfixedBase
Sstate
Infoinertial
bar= body= bodyBar=
cylBody=bodyShape=
revS=S
prismS=S
screw S=
ScylS=
S
univS
SplanarS=
S
sphereS
S
freeS
Srev= prism=
screw =
cyl= univ planar= spherefree
C
barC=
barC2=x
y
C
sphereC c= d= cSer=
force
torque
lineForce=
lineTorque=
sensor
s sd
lineSensor
Library
advanced
Library
drive
Library
translation
![Page 12: Towards Unified System Modeling with the ModelicaML UML … · Graphical modeling language for Systems Engineering constructed as a UML2 Profile Designed to provide simple but powerful](https://reader035.vdocument.in/reader035/viewer/2022081400/60526798cd836e1ca22fe4b4/html5/thumbnails/12.jpg)
12
Graphical Modeling - Drag and Drop Composition
![Page 13: Towards Unified System Modeling with the ModelicaML UML … · Graphical modeling language for Systems Engineering constructed as a UML2 Profile Designed to provide simple but powerful](https://reader035.vdocument.in/reader035/viewer/2022081400/60526798cd836e1ca22fe4b4/html5/thumbnails/13.jpg)
13
inertialx
y
axis1
axis2
axis3
axis4
axis5
axis6r3Drive1
1r3Motor
r3ControlqdRef1
S
qRef1
S
k2
i
k1
i
qddRef cut joint
l
qd
tn
Jmotor=J
gear=i
spring=c
fric
=Rv0
Srel
joint=0
S
Vs
-
+diff
-
+pow er
emf
La=(250/(2*D*wm
))Ra=250
Rd2=100
C=0.004*D/w m
-
+OpI
Rd1=100
Ri=10
Rp1=200
Rp2=
50
Rd4=100
hall2
Rd3=
100
g1
g2
g3
hall1
g4
g5
rw
qd q
rate2
b(s)
a(s)
rate3
340.8
S
rate1
b(s)
a(s)
tacho1
PT1
Kd
0.03
w Sum
-
sum
+1
+1
pSum
-
Kv
0.3
tacho2
b(s)
a(s)
q qd
iRefqRef
qdRef
Srel = n*n' + (identity(3) - n*n')*cos(q) - skew(n)*sin(q);wrela = n*qd;zrela = n*qdd;Sb = Sa*Srel';r0b = r0a;vb = Srel*va;wb = Srel*(wa + wrela);ab = Srel*aa;zb = Srel*(za + zrela + cross(wa, wrela));fa = Srel'*fb;ta = Srel'*tb;
Hierarchical Composition Diagram for a Model of a Robot
![Page 14: Towards Unified System Modeling with the ModelicaML UML … · Graphical modeling language for Systems Engineering constructed as a UML2 Profile Designed to provide simple but powerful](https://reader035.vdocument.in/reader035/viewer/2022081400/60526798cd836e1ca22fe4b4/html5/thumbnails/14.jpg)
14
Multi-Domain Modelica Model - DCMotor
A DC motor can be thought of as an electrical circuit which also contains an electromechanical component.
model DCMotorResistor R(R=100);Inductor L(L=100);VsourceDC DC(f=10);Ground G;ElectroMechanicalElement EM(k=10,J=10, b=2);Inertia load;
equationconnect(DC.p,R.n);connect(R.p,L.n);connect(L.p, EM.n);connect(EM.p, DC.n);connect(DC.n,G.p);connect(EM.flange,load.flange);
end DCMotor
load
EM DC
G
R L
![Page 15: Towards Unified System Modeling with the ModelicaML UML … · Graphical modeling language for Systems Engineering constructed as a UML2 Profile Designed to provide simple but powerful](https://reader035.vdocument.in/reader035/viewer/2022081400/60526798cd836e1ca22fe4b4/html5/thumbnails/15.jpg)
15
SysML vs. Modelica
SysMLPros
Can model all aspects of complex system designCons
Precise behavior can be described but not simulated (executed)
ModelicaPros
Precise behavior can be described and simulatedCons
Cannot model all aspects of complex system design, i.e. requirements, inheritance diagrams, etc
![Page 16: Towards Unified System Modeling with the ModelicaML UML … · Graphical modeling language for Systems Engineering constructed as a UML2 Profile Designed to provide simple but powerful](https://reader035.vdocument.in/reader035/viewer/2022081400/60526798cd836e1ca22fe4b4/html5/thumbnails/16.jpg)
16
Outline so far
IntroductionSystem Modeling Language (SysML™)Modelica
ModelicaML: a UML profile for ModelicaOverview and PurposeDiagrams
Package DiagramClass Diagram and Internal Class DiagramEquation DiagramSimulation Diagram
Conclusions and Future Work
![Page 17: Towards Unified System Modeling with the ModelicaML UML … · Graphical modeling language for Systems Engineering constructed as a UML2 Profile Designed to provide simple but powerful](https://reader035.vdocument.in/reader035/viewer/2022081400/60526798cd836e1ca22fe4b4/html5/thumbnails/17.jpg)
17
ModelicaML - a UML profile for ModelicaSupports modeling with all Modelica constructs i.e. restricted classes, equations, generics, discrete variables, etc.
Multiple aspects of a system being designed are supported system development process phases such as requirements analysis, design, implementation, verification, validation and integration.
Supports mathematical modeling with equations (to specify system behavior). Algorithm sections are also supported.
Simulation diagrams are introduced to configure, model and document simulation parameters and results in a consistent and usable way.
The ModelicaML meta-model is consistent with SysML in order to provide SysML-to-ModelicaML conversion and back.
![Page 18: Towards Unified System Modeling with the ModelicaML UML … · Graphical modeling language for Systems Engineering constructed as a UML2 Profile Designed to provide simple but powerful](https://reader035.vdocument.in/reader035/viewer/2022081400/60526798cd836e1ca22fe4b4/html5/thumbnails/18.jpg)
18
ModelicaML - Purpose
Targeted to Modelica and SysML users
Provide a SysML/UML view of Modelica for Documentation purposesLanguage understanding
To extend Modelica with additional design capabilities (requirements modeling, inheritance diagrams, etc)
To support translation between Modelica and SysML models via XMI
![Page 19: Towards Unified System Modeling with the ModelicaML UML … · Graphical modeling language for Systems Engineering constructed as a UML2 Profile Designed to provide simple but powerful](https://reader035.vdocument.in/reader035/viewer/2022081400/60526798cd836e1ca22fe4b4/html5/thumbnails/19.jpg)
19
ModelicaML - Overview
![Page 20: Towards Unified System Modeling with the ModelicaML UML … · Graphical modeling language for Systems Engineering constructed as a UML2 Profile Designed to provide simple but powerful](https://reader035.vdocument.in/reader035/viewer/2022081400/60526798cd836e1ca22fe4b4/html5/thumbnails/20.jpg)
20
ModelicaML – Package DiagramThe Package Diagram groups logically connected user defined elements into packages. The primarily purpose of this diagram is to support the specifics of the Modelica packages.
![Page 21: Towards Unified System Modeling with the ModelicaML UML … · Graphical modeling language for Systems Engineering constructed as a UML2 Profile Designed to provide simple but powerful](https://reader035.vdocument.in/reader035/viewer/2022081400/60526798cd836e1ca22fe4b4/html5/thumbnails/21.jpg)
21
ModelicaML – Class Diagram ModelicaML provides extensions to SysML in order to support the full set of Modelica constructs.
ModelicaML defines unique class definition types ModelicaClass, ModelicaModel, ModelicaBlock, ModelicaConnector, ModelicaFunction and ModelicaRecord that correspond to class, model, block, connector, function and record restricted Modelica classes.
Modelica specific restricted classes are included because a modeling tool needs to impose their semantic restrictions (for example a record cannot have equations, etc).
Class Diagram defines Modelica classes and relationships between classes, like generalizations, association and dependencies
![Page 22: Towards Unified System Modeling with the ModelicaML UML … · Graphical modeling language for Systems Engineering constructed as a UML2 Profile Designed to provide simple but powerful](https://reader035.vdocument.in/reader035/viewer/2022081400/60526798cd836e1ca22fe4b4/html5/thumbnails/22.jpg)
22
ModelicaML - Internal Class Diagram
Internal Class Diagram shows the internal structure of a class in terms of parts and connections
![Page 23: Towards Unified System Modeling with the ModelicaML UML … · Graphical modeling language for Systems Engineering constructed as a UML2 Profile Designed to provide simple but powerful](https://reader035.vdocument.in/reader035/viewer/2022081400/60526798cd836e1ca22fe4b4/html5/thumbnails/23.jpg)
23
ModelicaML – Equation Diagram
behavior is specified using Equation Diagramsall Modelica equations have their specific diagram:
initial, when, for, if equations
![Page 24: Towards Unified System Modeling with the ModelicaML UML … · Graphical modeling language for Systems Engineering constructed as a UML2 Profile Designed to provide simple but powerful](https://reader035.vdocument.in/reader035/viewer/2022081400/60526798cd836e1ca22fe4b4/html5/thumbnails/24.jpg)
24
ModelicaML – Simulation Diagram
Used to model, configure and document simulation parameters and resultsSimulation diagrams can be integrated with any Modelica modeling and simulation environment (OpenModelica)
![Page 25: Towards Unified System Modeling with the ModelicaML UML … · Graphical modeling language for Systems Engineering constructed as a UML2 Profile Designed to provide simple but powerful](https://reader035.vdocument.in/reader035/viewer/2022081400/60526798cd836e1ca22fe4b4/html5/thumbnails/25.jpg)
25
Outline so far
IntroductionSystem Modeling Language (SysML™)Modelica
ModelicaML: a UML profile for ModelicaOverview and PurposeDiagrams
Package DiagramClass Diagram and Internal Class DiagramEquation DiagramSimulation Diagram
Conclusions and Future Work
![Page 26: Towards Unified System Modeling with the ModelicaML UML … · Graphical modeling language for Systems Engineering constructed as a UML2 Profile Designed to provide simple but powerful](https://reader035.vdocument.in/reader035/viewer/2022081400/60526798cd836e1ca22fe4b4/html5/thumbnails/26.jpg)
26
Conclusions
ModelicaML – UML profile for ModelicaTargeted to Modelica and SysML usersProvides a SysML/UML view of Modelica for
Documentation purposesLanguage understanding
extends Modelica with additional design capabilities (requirements modeling, inheritance diagrams, etc)supports translation between Modelica and SysML models via XMI
![Page 27: Towards Unified System Modeling with the ModelicaML UML … · Graphical modeling language for Systems Engineering constructed as a UML2 Profile Designed to provide simple but powerful](https://reader035.vdocument.in/reader035/viewer/2022081400/60526798cd836e1ca22fe4b4/html5/thumbnails/27.jpg)
27
Future Workintegration with Modelica Development Tooling (MDT) and the OpenModelica CompilerTranslation between Modelica, ModelicaML and SysMLFurther improvements to ModelicaML specification
![Page 28: Towards Unified System Modeling with the ModelicaML UML … · Graphical modeling language for Systems Engineering constructed as a UML2 Profile Designed to provide simple but powerful](https://reader035.vdocument.in/reader035/viewer/2022081400/60526798cd836e1ca22fe4b4/html5/thumbnails/28.jpg)
28
End
Thank You!Questions?
Modelica Development Tooling (MDT)http://www.ida.liu.se/~pelab/modelica/OpenModelica/MDT/
OpenModelica Projecthttp://www.ida.liu.se/~pelab/modelica/OpenModelica.html