ModelBased Systems Engineering Center Model Transformations in ModelBased
Model-Based Systems Engineering Center Model Transformations in Model-Based Systems Engineering Chris Paredis Associate Director Model-Based Systems Engineering Center Georgia Tech chris. paredis@me. gatech. edu 2012 Copyright © Chris Paredis. All Rights Reserved. MBSE 1
Objective u u Provide enough information about model transformations so that you can envision where in your organization the use of model transformations can add value Examples are not meant to be an exhaustive review of the state of the art but only illustrations 2012 Copyright © Chris Paredis. All Rights Reserved. MBSE 2
Overview of Presentation u Background — Model Transformations – What is a model transformation? — some simple examples – Meta-modeling and Model transformations languages u Model Transformations in MBSE? – A taxonomy of usage scenarios – Examples and illustrations u u How to get started? Summary 2012 Copyright © Chris Paredis. All Rights Reserved. MBSE 3
What is a Model Transformation? u Model Transformation: Any operation on a model that produces another model u Very general: Almost anything you “do” with a model u Our primary interest: Automated model transformations 2012 Copyright © Chris Paredis. All Rights Reserved. MBSE 4
Example: Models Evolve Over Time (from: A Practical Guide to Sys. ML — Friedenthal, Moore, Steiner) 2012 Copyright © Chris Paredis. All Rights Reserved. MBSE 5
Example: Models Evolve Over Time We forgot to drain the residue… (from: A Practical Guide to Sys. ML — Friedenthal, Moore, Steiner) 2012 Copyright © Chris Paredis. All Rights Reserved. MBSE 6
Example: Models Evolve Over Time Hmm… we could make this a continuous process (from: A Practical Guide to Sys. ML — Friedenthal, Moore, Steiner) 2012 Copyright © Chris Paredis. All Rights Reserved. MBSE 7
Model Transformations u u A Sys. ML model is a snapshot… How are the snapshots connected to each other? Model Transformations A model transformation represents knowledge… The more sophisticated the knowledge, the more difficult the transformation is to automate 2012 Copyright © Chris Paredis. All Rights Reserved. MBSE 8
Examples of Model Transformations Transformation Stage-Gate Documents Transformation. pdf. html. pptx Source Model Endogenous Transformation 2012 Copyright © Chris Paredis. All Rights Reserved. Exogenous Transformation MBSE 9
Examples of Model Transformations Transformation Stage-Gate Documents Transformation Source Model . pdf. html. pptx Tr an sf or m at io Transformation n Project Management Metrics Simulation & Optimization 2012 Copyright © Chris Paredis. All Rights Reserved. MBSE 10
Some History: Model-Driven Architecture PIM PSM Code Platform. Independent Model CORBA Map Platform Specific Model to application interfaces, code, GUI descriptors, SQL queries, etc. Java/EJB Model XML/SOAP Model Other Model Java/EJB XML/SOAP Other MDA Tool generates all or most of the implementation code for deployment technology selected by the developer. (from: MDA, by R. Soley: www. omg. org/mda_files/MDA-Seminar-Soley 6. ppt) 2012 Copyright © Chris Paredis. All Rights Reserved. MBSE 11
Automated Transformations: A Closer Look… Source Modeling Language modeled in Target Modeling Language Models must be Formal Source Model Target Model Transformation 2012 Copyright © Chris Paredis. All Rights Reserved. modeled in MBSE . pdf. html. pptx 12
Automated Transformations: A Closer Look… Source Target Meta-Model defined by Source Modeling Language Meta-Model Formal Syntax and Semantics conforms to modeled in Target Modeling Language modeled in Source Model Target Model Transformation 2012 Copyright © Chris Paredis. All Rights Reserved. defined by MBSE . pdf. html. pptx 13
Modeling Languages are also Modeled Formally Part of the meta-model for UML u u UML is defined by a meta-model This meta-model is defined in a meta-modeling language: The MOF language (Meta-Object Facility) (from: A Practical Guide to Sys. ML — Friedenthal, Moore, Steiner) How is a meta-modeling language defined? 2012 Copyright © Chris Paredis. All Rights Reserved. MBSE 14
The OMG Meta-Model Infrastructure conforms to M 3 Meta-model MOF conforms to M 2 Meta-model UML conforms to M 1 User Model represented by M 0 2012 Copyright © Chris Paredis. All Rights Reserved. Reality System MBSE 15
Model Transformation Specification Source Meta-model refers to conforms to Source Model Transformation Specification refers to executes reads Transformation Engine Target Meta-model conforms to writes Target Model (Czarnecki, K. , & Hellen, S. , 2006) 2012 Copyright © Chris Paredis. All Rights Reserved. MBSE 16
Implementations of Model Transformation u Imperative – Conventional programming tools – Access models through API of modeling tools – Java, Python, Ruby u Declarative – Consist of multiple declarative model transformation rules » Left-hand side = applicability pattern » Right-hand side = model modification to apply – Transformation engine automatically determines which rules to apply – ATL, QVT, Moflon, GRe. AT, VIATRA 2, … 2012 Copyright © Chris Paredis. All Rights Reserved. MBSE 17
Generative Model Transformation for Hydraulic System u u Model Transformation rules to generate systems Generate random system alternatives by applying rules in randomized order (Example in MOFLON) 2012 Copyright © Chris Paredis. All Rights Reserved. MBSE 18
Generative Model Transformation for Hydraulic System u u Model Transformation rules to generate systems Generate random system alternatives by applying rules in randomized order (Example in MOFLON) 2012 Copyright © Chris Paredis. All Rights Reserved. MBSE 19
Decision Tree of Generation Process 2012 Copyright © Chris Paredis. All Rights Reserved. MBSE 20
Overview of Presentation u Context — Model Transformations – What is a model transformation? — some simple examples – Meta-modeling and Model transformations languages u How can model transformations be useful in MBSE? – A taxonomy of usage scenarios – Examples and illustrations u u How to get started? Summary 2012 Copyright © Chris Paredis. All Rights Reserved. MBSE 21
Taxonomy for Model Transformations in MBSE u Organized by the nature of the knowledge encoded in the transformation 1. Knowledge about Views » Take information from a model and represent it in a different (graphical) syntax 2. Knowledge about Analysis » Take a structural description of a system and generate a corresponding analysis model 3. Knowledge about Synthesis » Generate a (more detailed) structural description u From simple to sophisticated From specific to general 2012 Copyright © Chris Paredis. All Rights Reserved. MBSE 22
Why are Model Transformations Important? Collaboratively Developing Complex Systems Testing Software Analysis Project Management • • Manufacturing 2012 Copyright © Chris Paredis. All Rights Reserved. Fuselage Landing Gear Engines … CAD MBSE 23
Why are Model Transformations Important? Highly Interrelated Information & Knowledge Testing Software Analysis Relations / Dependencies Project Management • • Manufacturing 2012 Copyright © Chris Paredis. All Rights Reserved. Fuselage Landing Gear Engines … CAD MBSE 24
Why are Model Transformations Important? MBSE Allows for More Formal Communication Testing Software Analysis System Model Project Management • • Manufacturing 2012 Copyright © Chris Paredis. All Rights Reserved. Fuselage Landing Gear Engines … CAD MBSE 25
Why are Model Transformations Important? MBSE Allows for More Formal Communication Testing Software Analysis System Model Project Management • • Manufacturing 2012 Copyright © Chris Paredis. All Rights Reserved. Fuselage Landing Gear Engines … CAD MBSE 26
Example: Representing CAD parts in Creo as Sys. ML Blocks in Magic. Draw (from: Manas Bajaj, Inter. CAX) 2012 Copyright © Chris Paredis. All Rights Reserved. MBSE 27
Example: Representing Assembly Structures in Windchill as Sys. ML part properties in Magic. Draw Auto-generation and sync Sys. ML model block structure Part structure (BOM) in PLM systems (e. g. Windchill) (from: Manas Bajaj, Inter. CAX) 2012 Copyright © Chris Paredis. All Rights Reserved. MBSE 28
Document Generator by INCOSE SE 2 team (mbse. gfse. de) 2012 Copyright © Chris Paredis. All Rights Reserved. MBSE 29
Document Generator by INCOSE SE 2 team (mbse. gfse. de) 2012 Copyright © Chris Paredis. All Rights Reserved. MBSE 30
Document Generator by INCOSE SE 2 team (mbse. gfse. de) Transformation Doc. Book XML file XSLT Transformation Sys. ML + Profile. html. pdf. docx 2012 Copyright © Chris Paredis. All Rights Reserved. MBSE 31
Using Doc. Gen at JPL (Source: “Model Based Document and Report Generation for Systems Engineering, ” Delp, Lam, Fosse, Lee) 2012 Copyright © Chris Paredis. All Rights Reserved. MBSE 32
Taxonomy for Model Transformations in MBSE u Organized by the nature of the knowledge encoded in the transformation 1. Knowledge about Views » Take information from a model and represent it in a different (graphical) syntax 2. Knowledge about Analysis » Take a structural description of a system and generate a corresponding analysis model 3. Knowledge about Synthesis » Generate a (more detailed) structural description u From simple to sophisticated From specific to general 2012 Copyright © Chris Paredis. All Rights Reserved. MBSE 33
Why are Model Transformations Important? MBSE Allows for More Formal Communication Testing Software Analysis System Model Project Management • • Manufacturing 2012 Copyright © Chris Paredis. All Rights Reserved. Fuselage Landing Gear Engines … CAD MBSE 34
Execute Parametric Models in Model. Center Transformation System Properties Analysis Model 2012 Copyright © Chris Paredis. All Rights Reserved. u MBSE Syntactic transformation from parametrics to Model. Center 35
Sys. ML-Modelica Transformation Specification Sys. MLModelica Transformation follows the principles of Model-Driven Architecture (MDA) 36 2012 Copyright © Chris Paredis. All Rights Reserved. MBSE 36
Bi-directional Transformation Sys. ML 4 Modelica 37 2012 Copyright © Chris Paredis. All Rights Reserved. MBSE 37
Sys. ML 4 Modelica to Modelica Syntactical Mapping 38 2012 Copyright © Chris Paredis. All Rights Reserved. MBSE 38
Transform Structure into Analysis Model 2012 Copyright © Chris Paredis. All Rights Reserved. MBSE 39
Transform Structure into Analysis Model u 2012 Copyright © Chris Paredis. All Rights Reserved. MBSE Transformation requires deep analysis knowledge… 40
Model Transformations for Fluid Power u Transformation Rules: – If Cylinder in descriptive, then Modelica. Cylinder in analytical – If Pump in descriptive, then Modelica. Pump and Modelica. Filter in analytical –… – If connection between Pump and Valve, then Modelica. Connection between Modelica. Pump and Modelica. Valve –… Not a good idea! Too many rules… Too specific, brittle 2012 Copyright © Chris Paredis. All Rights Reserved. MBSE 41
Define Model Correspondences Correspondence Models 2012 Copyright © Chris Paredis. All Rights Reserved. MBSE 42
Structure to Analysis Mapping Sys. ML 4 Modelica Analysis Model Sys. ML Descriptive Model Transformation Only 2 rules One for components One for connections Modelica Model Transformation 2012 Copyright © Chris Paredis. All Rights Reserved. MBSE 43
Generation of Vehicle Analyses (Work with students B. Bailey, J. Branscomb & Ford Motor Company) u u u Reference model of logical vehicle architecture in Sys. ML Specialize the reference model into a variant for a specific vehicle program Specify the types of analyses needed 2012 Copyright © Chris Paredis. All Rights Reserved. MBSE 44
Generation of Vehicle Analyses (Work with students B. Bailey, J. Branscomb & Ford Motor Company) u Automatically generate templates for: Integrated Simulink. Modelica Model – Modelica (for physics-based modeling) – Simulink (for controls) u Subsystem modeling – SME fill in model details – Validate subsystem models u System-level model integration – Guaranteed compatibility – Modelica model integrated into Simulink Logical Vehicle Architecture in Sys. ML 2012 Copyright © Chris Paredis. All Rights Reserved. MBSE Automated Transformation 45
Taxonomy for Model Transformations in MBSE u Organized by the nature of the knowledge encoded in the transformation 1. Knowledge about Views » Take information from a model and represent it in a different (graphical) syntax 2. Knowledge about Analysis » Take a structural description of a system and generate a corresponding analysis model 3. Knowledge about Synthesis » Generate a (more detailed) structural description u From simple to sophisticated From specific to general 2012 Copyright © Chris Paredis. All Rights Reserved. MBSE 46
Synthesis Rules u u Capture heuristic synthesis knowledge: What are promising system architectures? Difficult to create a transparent “grammar” — which architectures are covered by the grammar? 2012 Copyright © Chris Paredis. All Rights Reserved. MBSE 47
Additional Example of Synthesis Knowledge u Variant modeling — constraint-based representation of a set of architectures (mbse. gfse. de) Transformation One variant Set of variations u F 6 program at JPL: Generation and analysis of fractionated satellite systems 2012 Copyright © Chris Paredis. All Rights Reserved. MBSE 48
Architecture Exploration Using Sys. ML & CPLEX (Work with former students Alek Kerzhner) SE Problem 1. Formulate Problem in Sys. ML 2. Transform to Superstructure 3. Transform to Introduce Behavior 4. Transform to Linearize 5. Transform to AIMMS syntax 6. Solve using CPLEX 7. Transform solutions into Sys. ML Generation of Mixed Integer Programming model through transformations 2012 Copyright © Chris Paredis. All Rights Reserved. AIMMS – CPLEX MBSE 49
Overview of Presentation u Context — Model Transformations – What is a model transformation? — some simple examples – Meta-modeling and Model transformations languages u How can model transformations be useful in MBSE? – A taxonomy of usage scenarios – Examples and illustrations u u How to get started? Summary 2012 Copyright © Chris Paredis. All Rights Reserved. MBSE 50
How to get started. . u Imperative modeling – Traditional programming languages: Java, Python, … – Direct use of the APIs of Sys. ML and Analysis tools u Declarative Model Transformation Languages – ATL, QVT, Moflon, VIATRA 2, … – All are Eclipse based – Integration of Model Transformation tools into current Sys. ML tools is not well supported… 2012 Copyright © Chris Paredis. All Rights Reserved. MBSE 51
Model Transformation Tools Eclipse MMT Sys. ML Tool Source Meta-model refers to conforms to Source Model Transformation Specification Analysis Tool refers to executes reads Transformation Engine Target Meta-model conforms to writes Target Model (Czarnecki, K. , & Hellen, S. , 2006) 2012 Copyright © Chris Paredis. All Rights Reserved. MBSE 52
So What? Should I use Model Transformations? It depends… u Costs – Knowledge capture, management is expensive – Requires “knowledge engineers” who understand how best to generalize knowledge and encode it in transformations – Infrastructure u Benefits – Improved consistency – Once the knowledge has been captured, the cost of applying it is very small – Eliminate tedious, non-value-added tasks in MBSE process 2012 Copyright © Chris Paredis. All Rights Reserved. MBSE 53
Model-Based Systems Engineering Center Key Take-Aways 1. Model Transformations – Any operation on a model that produces another model – Automated model transformations defined at meta-model level – Model transformation tools in Eclipse 2. Model Transformations in MBSE – Views: Synchronize views and maintain consistency – Analysis: Generate analysis models – Synthesis: Generate promising architectures 3. Cost-Benefit – Identify simple MBSE tasks that are tedious and error-prone 2012 Copyright © Chris Paredis. All Rights Reserved. MBSE 54
cser 13. gatech. edu
- Slides: 55