+ All Categories
Home > Documents > Towards Unified System Modeling with the ModelicaML UML … · Graphical modeling language for...

Towards Unified System Modeling with the ModelicaML UML … · Graphical modeling language for...

Date post: 16-Oct-2020
Category:
Upload: others
View: 5 times
Download: 0 times
Share this document with a friend
28
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
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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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


Recommended