450 likes | 821 Views
SysML-Modelica Transformation Specification (SE DSIG Meeting, Jacksonville, 3/22/2010). Chris Paredis Georgia Tech On behalf of the SysML-Modelica Working Group. Presentation Overview. Objectives, Focus, Scope What is Modelica? Transformation Roadmap Current Status
E N D
SysML-Modelica Transformation Specification(SE DSIG Meeting, Jacksonville, 3/22/2010) Chris Paredis Georgia Tech On behalf of the SysML-Modelica Working Group
Presentation Overview • Objectives, Focus, Scope • What is Modelica? • Transformation Roadmap • Current Status • Details of Specification • Implementation: Demo • Summary • Active Working GroupMembers • Yves Bernard (EADS) • Roger Burkhart (Deere & Co) • Hans-Peter De Koning (ESA) • Sandy Friedenthal (Lockheed Martin) • Peter Fritzson (Linköping University) • NerijusJankevicius (NoMagic) • Alek Kerzhner (Georgia Tech) • Chris Paredis (Georgia Tech) • Axel Reichwein (Georgia Tech) • Nicolas Rouquette (JPL) • WladimirSchamai (EADS)
Working Group Focus and Scope • 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 and a mapping between Modelica and the profile • Scope: • Cover the Modelica constructs needed for the Modelica Standard Library to be used in SysML • Generate corresponding SysML constructs that fit within the profiling mechanism
What is Modelica? • State-of-the-art Modeling Languagefor System Dynamics • Differential Algebraic Equations (DAE) • Discrete Events • Formal, object-oriented language • Ports represent energy flow (undirected) orsignal flow (directed) • Acausal, equation-based, declarative • Multi-domain modeling • Standardized by the Modelica Association
Modelica: Standard Library motor torque
Other Modelica Libraries • Modelica association — 20+ free libs (www.modelica.org) • EUROSYSLIB project — 20+ libs under development(http://www.itea2.org/public/project_leaflets/EUROSYSLIB_profile_oct-07.pdf)
Current Status • Draft of Transformation Specification • Part I — Introduction final editing • Part II — SysML4Modelica profile final editing • Part III — Modelica meta-model final editing • Part IV — SysML-Modelica mappinga bidirectional mapping between the SysML4Modelica profile and the Modelica meta-model ongoing implementation, verification • Annex A – Robotic Sample Problem to be completed
Organization of Transformation SysML-Modelica Transformation follows MDA principles (ormsc/09-02-01: MDA Foundation Model - Santa Clara AB initial comments draft http://www.omg.org/members/cgi-bin/doc?ormsc/09-02-01.pdf)
Presentation Overview • Objectives, Focus, Scope • What is Modelica? • Transformation Roadmap • Current Status • Details of Specification • Classes, Components, Equations, Connections • Implementation: Demo • Summary
Two-Tank Example • Maintain levels at 0.25m and 0.4m • Source produces 0.02 m3/s,increasing to 0.06 m3/s at time=150s (From: Peter Fritzson, Principles of Object-Oriented Modeling and Simulation with Modelica 2.1, Wiley-IEEE Computer Society Press, 2003. )
Modelica Components = Properties • No distinction between types of properties • record, type «modelicaValueProperty» • connector «modelicaPort» • model, class, block «modelicaPart» • function, package no usage,only definition
Modelica Components = PropertiesSysML4Modelica Stereotypes • Several of these attributes are captured as opaque Modelica expressions
Modelica Components = PropertiesSysML4Modelica Stereotypes • Several of these attributes are captured as opaque Modelica expressions
Modelica Equations/Algorithms • Equations • Declarative • Must hold at all times • Algorithms • Imperative • Must hold at all times • Execute in zero simulation time
Modelica Connections • Alternative: Leave connect statements in equation section
Modelica Connections • parameter N is only known at compilation time O-Line
Modelica Simulation • May need to specify additional information: • Solver algorithm • Accuracy
Tough Issues • Typing • Structural vs. nominal typing • Local type modifications • Requires reification • Used extensively — no “instances” in Modelica • Expressions • Opaque
Presentation Overview • Objectives, Focus, Scope • What is Modelica? • Transformation Roadmap • Current Status • Details of Specification • Classes, Components, Equations, Connections • Implementation: Demo • Summary
Implementation Target 1 MOFLON TGG hand-codedJava OpenModelicaCompiler MagicDraw MOFLONgeneratedJava
Implementation Target 2 QVT hand-codedJava OpenModelicaCompiler MagicDraw /Papyrus Eclipse
Implementation 3 Acceleo hand-codedJava OpenModelicaCompiler Papyrus Eclipse
SysML4Modelica in Context SysMLDescriptive Model SysML4ModelicaAnalytical Model
SysML4Modelica in Context ModelicaModel SysML Descriptive Modelin Analysis Context SysML4ModelicaAnalytical Model
Current Status • Draft of Transformation Specification • Part I — Introduction final editing • Part II — SysML4Modelica profile final editing • Part III — Modelica meta-model final editing • Part IV — SysML-Modelica mappinga bidirectional mapping between the SysML4Modelica profile and the Modelica meta-model ongoing implementation, verification • Annex A – Robotic Sample Problem to be completed
Next Steps • Complete Reference Implementation • Are the vendors willing to help? • Final editing + Robot example • Working session on Thursday 9-5 in City Terrace 9 • Review of Spec Document • Workflow for how to use SysML4Modelica • Submission of RFC • Letters of Intent