towards unified system modeling with the modelicaml uml
play

Towards Unified System Modeling with the ModelicaML UML Profile - PowerPoint PPT Presentation

Towards Unified System Modeling with the ModelicaML UML Profile Adrian Pop, David Akhvlediani, Peter Fritzson Programming Environments Laboratory, Department of Computer and Information Science Linkping University adrpo@ ida.liu.se


  1. 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 adrpo@ ida.liu.se EOLT’ 2007, 2007-07-30

  2. Outline � Introduction � S ystem Modeling Language (S ysML™ ) � Modelica � ModelicaML: a UML profile for Modelica � Overview and Purpose � Diagrams � Package Diagram � Class Diagram and Internal Class Diagram � Equation Diagram � S imulation Diagram � Conclusions and Future Work 2

  3. S ystem Modeling Language (S ysML™ ) � Graphical modeling language for S ystems 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, obj ect-oriented, etc. 3

  4. ysML™- Diagrams 4 S

  5. ysML™- Block Definitions 5 S

  6. Modelica – General Formalism to Model Complex S ystems � Robotics � Automotive � Aircrafts � S atellites � Biomechanics � Power plants � Hardware-in-the-loop, real-time simulation � etc 6

  7. Modelica – The Next Generation Modeling Language � Declarat ive language � Equations and mathematical functions allow acausal modeling, high level specification, increased correctness � Mult i-domain modeling � Combine electrical, mechanical, thermodynamic, hydraulic, biological, control, event, real-time, etc... � Everyt hing is a class � S trongly typed obj ect-oriented language with a general class concept, Java & Matlab like syntax � Visual component programming � Hierarchical system architecture capabilities � Efficient , nonpropriet ary � Efficiency comparable to C; advanced equation compilation, e.g. 300 000 equations 7

  8. Modelica Language Properties � Declarat ive and Obj ect -Orient ed � Equat ion-based ; continuous and discrete equations � Parallel process modeling of concurrent applications, according to synchronous data flow principle � Funct ions with algorithms without global side- effects (but local data updates allowed) � Type syst em inspired by Abadi/ Cardelli (Theory of Obj ects) � Everyt hing is a class –Real, Integer, models, functions, packages, parameterized classes.... 8

  9. Modelica Acausal Modeling S emantics � What is acausal modeling/ design? � Why does it increase reuse ? � The acausality makes Modelica classes more reusable than traditional classes containing assignment statements where the input-output causality is fixed. � Example: a resistor equat ion : R*i = v; � can be used in three ways: i := v/R; v := R*i; R := v/i; 9

  10. Connector Classes, Components and Connections Keyword flow indicates connector Pin that currents of Voltage v; connected pins sums to flow Current i; zero. end Pin; A connect statement in Modelica connect(Pin1,Pin2) corresponds to equations: Pin1.v = Pin2.v Pin1.i + Pin2.i = 0 Connection between Pin1 and Pin2 10

  11. Modelica - Reusable Class Libraries R= C= L= body= bodyBar= bar= Info Info G shaftS= inertial shaft3DS= shaft3D= Info S S cylBody= bodyShape= cylS= AC= DC= Vs Is S S S S S shaft= prismS= gear2= revS= screw S= sphereS univS planarS= freeS gear1= - planetary= S planet= S + V i S ring= S diff= prism= rev= D T Op sun= sphere cyl= univ planar= free : 1 bearing fixTooth S screw = E moveS move y sphereC barC= c= d= cSer= c= d= x torque C C barC2= fric= sensor force lineForce= lineSensor r fricTab clutch= s sd torque lineTorque= converter advanced drive translation w a t fixedBase Library Library Library S state 11

  12. Graphical Modeling - Drag and Drop Composition 12

  13. Hierarchical Composition Diagram for a Model of a Robot k2 i axis6 cut joint qddRef tn qdRef qRef k1 r3Control r3Drive1 r3Motor 1 1 i 1 S S qd axis5 l qdRef Kd S rel 0.03 Jmotor=J joint=0 spring=c S axis4 iRef qRef pSum Kv sum w Sum rate2 rate3 gear=i fric=Rv0 340.8 +1 b(s) 0.3 - - +1 a(s) S axis3 rate1 tacho2 tacho1 b(s) b(s) PT1 a(s) a(s) g5 axis2 q qd Rp2=50 Ra=250 C=0.004*D/w m Rp1=200 Rd1=100 axis1 La=(250/(2*D*w m)) Rd2=100 Ri=10 - - - Srel = n*n' + (identity(3) - n*n')*cos(q) - skew(n)*sin(q); + + diff + pow er wrela = n*qd; OpI zrela = n*qdd; Vs Rd4=100 Sb = Sa*Srel'; emf Rd3=100 y r0b = r0a; g3 x vb = Srel*va; inertial g1 wb = Srel*(wa + wrela); ab = Srel*aa; hall2 zb = Srel*(za + zrela + cross(wa, wrela)); hall1 w r fa = Srel'*fb; ta = Srel'*tb; g4 q qd 13 g2

  14. Multi-Domain Modelica Model - DCMotor � A DC motor can be thought of as an electrical circuit which also contains an electromechanical component. model DCMotor Resistor R(R=100); Inductor L(L=100); VsourceDC DC(f=10); Ground G; ElectroMechanicalElement EM(k=10,J=10, b=2); Inertia load; equation R L connect(DC.p,R.n); EM connect(R.p,L.n); DC connect(L.p, EM.n); connect(EM.p, DC.n); load connect(DC.n,G.p); connect(EM.flange,load.flange); G end DCMotor 14

  15. S ysML vs. Modelica � S ysML � Pros � Can model all aspects of complex system design � Cons � Precise behavior can be described but not simulated (executed) � Modelica � Pros � Precise behavior can be described and simulated � Cons � Cannot model all aspects of complex system design, i.e. requirements, inheritance diagrams, etc 15

  16. Outline so far � Introduction � S ystem Modeling Language (S ysML™ ) � Modelica � ModelicaML: a UML profile for Modelica � Overview and Purpose � Diagrams � Package Diagram � Class Diagram and Internal Class Diagram � Equation Diagram � S imulation Diagram � Conclusions and Future Work 16

  17. ModelicaML - a UML profile for Modelica � Supports 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. 17

  18. ModelicaML - Purpose � Targeted to Modelica and SysML users � Provide a SysML/UML view of Modelica for � Documentation purposes � Language understanding � To extend Modelica with additional design capabilities (requirements modeling, inheritance diagrams, etc) � To support translation between Modelica and SysML models via XMI 18

  19. ModelicaML - Overview 19

  20. ModelicaML – Package Diagram � The 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. 20

  21. ModelicaML – Class Diagram � ModelicaML provides extensions to S ysML 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. Class Diagram defines Modelica � Modelica specific restricted classes and relationships between classes are included because a modeling tool needs to classes, like generalizations, impose their semantic association and dependencies restrictions (for example a record cannot have equations, etc). 21

  22. ModelicaML - Internal Class Diagram � Internal Class Diagram shows the internal structure of a class in terms of parts and connections 22

  23. ModelicaML – Equation Diagram � behavior is specified using Equation Diagrams � all Modelica equations have their specific diagram: � initial, when, for, if equations 23

  24. ModelicaML – S imulation Diagram � Used to model, configure and document simulation parameters and results � S imulation diagrams can be integrated with any Modelica modeling and simulation environment (OpenModelica) 24

  25. Outline so far � Introduction � S ystem Modeling Language (S ysML™ ) � Modelica � ModelicaML: a UML profile for Modelica � Overview and Purpose � Diagrams � Package Diagram � Class Diagram and Internal Class Diagram � Equation Diagram � S imulation Diagram � Conclusions and Future Work 25

  26. Conclusions � ModelicaML – UML profile for Modelica � Targeted to Modelica and SysML users � Provides a SysML/UML view of Modelica for � Documentation purposes � Language understanding � extends Modelica with additional design capabilities (requirements modeling, inheritance diagrams, etc) � supports translation between Modelica and SysML models via XMI 26

  27. Future Work � integration with Modelica Development Tooling (MDT) and the OpenModelica Compiler � Translation between Modelica, ModelicaML and S ysML � Further improvements to ModelicaML specification 27

Download Presentation
Download Policy: The content available on the website is offered to you 'AS IS' for your personal information and use only. It cannot be commercialized, licensed, or distributed on other websites without prior consent from the author. To download a presentation, simply click this link. If you encounter any difficulties during the download process, it's possible that the publisher has removed the file from their server.

Recommend


More recommend