1 / 55

Model Transformations in Model-Based Systems Engineering

Learn about model transformations, their applications in Model-Based Systems Engineering (MBSE), automated transformations, modeling languages, transformation stages, and implementation methods. Explore examples and tools for efficient model transformations.

Download Presentation

Model Transformations in Model-Based Systems Engineering

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Model-BasedSystems EngineeringCenter Model Transformationsin Model-Based Systems Engineering Chris Paredis Associate DirectorModel-Based Systems Engineering Center Georgia Tech chris.paredis@me.gatech.edu

  2. Objective • 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

  3. Overview of Presentation • Background — Model Transformations • What is a model transformation? — some simple examples • Meta-modeling and Model transformations languages • Model Transformations in MBSE? • A taxonomy of usage scenarios • Examples and illustrations • How to get started? • Summary

  4. What is a Model Transformation? • Model Transformation: Any operation on a modelthat produces another model • Very general: Almost anything you “do” with a model • Our primary interest: Automated model transformations

  5. Example: Models Evolve Over Time (from: A Practical Guide to SysML — Friedenthal, Moore, Steiner)

  6. Example: Models Evolve Over Time We forgotto drain theresidue… (from: A Practical Guide to SysML — Friedenthal, Moore, Steiner)

  7. Example: Models Evolve Over Time Hmm… we could make this a continuous process (from: A Practical Guide to SysML — Friedenthal, Moore, Steiner)

  8. Model Transformations • A SysML 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

  9. Examples of Model Transformations Transformation Stage-Gate Documents Transformation Source Model Endogenous Transformation Exogenous Transformation .pdf .html .pptx

  10. Examples of Model Transformations Transformation Stage-Gate Documents Transformation Source Model Transformation Transformation Project Management Metrics Simulation &Optimization .pdf .html .pptx

  11. OtherModel XML/SOAPModel Java/EJBModel CORBA Model Other XML/SOAP Java/EJB CORBA Some History: Model-Driven Architecture MDA Tool generates all or most of the implementation code for deployment technology selected by the developer. Map Platform Specific Model to application interfaces, code, GUI descriptors, SQL queries, etc. Platform-Independent Model PIM PSM Code (from: MDA, by R. Soley: www.omg.org/mda/mda_files/MDA-Seminar-Soley6.ppt)

  12. Automated Transformations: A Closer Look… SourceModeling Language TargetModeling Language Models mustbe Formal modeled in modeled in Source Model Target Model Transformation .pdf .html .pptx

  13. Automated Transformations: A Closer Look… Formal Syntax and Semantics SourceModeling Language SourceMeta-Model TargetModeling Language TargetMeta-Model conforms to modeled in defined by modeled in defined by Source Model Target Model Transformation .pdf .html .pptx

  14. Modeling Languages are also Modeled Formally Part of the meta-model for UML • 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 SysML — Friedenthal, Moore, Steiner) How is a meta-modeling language defined?

  15. The OMG Meta-Model Infrastructure conforms to Meta-meta-model M3 MOF conforms to Meta-model M2 UML conforms to Model M1 User Model represented by System M0 Reality

  16. Model Transformation Specification SourceMeta-model TransformationSpecification TargetMeta-model refers to refers to conforms to executes conforms to SourceModel TransformationEngine TargetModel reads writes (Czarnecki, K., & Hellen, S., 2006)

  17. Implementations of Model Transformation • Imperative • Conventional programming tools • Access models through API of modeling tools • Java, Python, Ruby • 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, GReAT, VIATRA2,…

  18. Generative Model Transformation for HydraulicSystem • Model Transformation rules to generate systems • Generate random system alternatives by applying rules in randomized order (Example in MOFLON)

  19. Generative Model Transformation for HydraulicSystem • Model Transformation rules to generate systems • Generate random system alternatives by applying rules in randomized order (Example in MOFLON)

  20. Decision Tree of Generation Process

  21. Overview of Presentation • Context — Model Transformations • What is a model transformation? — some simple examples • Meta-modeling and Model transformations languages • How can model transformations be useful in MBSE? • A taxonomy of usage scenarios • Examples and illustrations • How to get started? • Summary

  22. Taxonomy for Model Transformations in MBSE • Organized by the nature of the knowledge encoded in the transformation • Knowledge about Views • Take information from a model and represent it in a different (graphical) syntax • Knowledge about Analysis • Take a structural description of a system and generate a corresponding analysis model • Knowledge about Synthesis • Generate a (more detailed) structural description • From simple to sophisticatedFrom specific to general

  23. Why are Model Transformations Important?Collaboratively Developing Complex Systems Software Analysis Manufacturing Testing ProjectManagement • Fuselage • Landing Gear • Engines • … CAD

  24. Why are Model Transformations Important?Highly Interrelated Information & Knowledge Software Analysis Relations / Dependencies Manufacturing Testing ProjectManagement • Fuselage • Landing Gear • Engines • … CAD

  25. Why are Model Transformations Important?MBSE Allows for More Formal Communication Software Analysis Manufacturing System Model Testing ProjectManagement • Fuselage • Landing Gear • Engines • … CAD

  26. Why are Model Transformations Important?MBSE Allows for More Formal Communication Software Analysis Manufacturing System Model Testing ProjectManagement • Fuselage • Landing Gear • Engines • … CAD

  27. Example: Representing CAD parts in Creo as SysML Blocks in MagicDraw (from: Manas Bajaj, InterCAX)

  28. Example: Representing Assembly Structures in Windchill as SysML part properties in MagicDraw Auto-generation and sync SysML model block structure Part structure (BOM) in PLM systems (e.g. Windchill) (from: Manas Bajaj, InterCAX)

  29. Document Generator by INCOSE SE2 team(mbse.gfse.de)

  30. Document Generator by INCOSE SE2 team(mbse.gfse.de)

  31. Document Generator by INCOSE SE2 team(mbse.gfse.de) DocBook XML file XSLTTransformation Transformation SysML +Profile .html .pdf .docx

  32. Using DocGen at JPL (Source: “Model Based Document and Report Generation for Systems Engineering,” Delp, Lam, Fosse, Lee)

  33. Taxonomy for Model Transformations in MBSE • Organized by the nature of the knowledge encoded in the transformation • Knowledge about Views • Take information from a model and represent it in a different (graphical) syntax • Knowledge about Analysis • Take a structural description of a system and generate a corresponding analysis model • Knowledge about Synthesis • Generate a (more detailed) structural description • From simple to sophisticatedFrom specific to general

  34. Why are Model Transformations Important?MBSE Allows for More Formal Communication Software Analysis Manufacturing System Model Testing ProjectManagement • Fuselage • Landing Gear • Engines • … CAD

  35. Execute Parametric Models in ModelCenter Transformation • Syntactic transformation from parametrics to ModelCenter System Properties Analysis Model

  36. SysML-Modelica Transformation Specification SysML-Modelica Transformation follows the principles of Model-Driven Architecture (MDA)

  37. SysML4Modelica Bi-directional Transformation Modelica

  38. SysML4Modelica to Modelica Syntactical Mapping

  39. Transform Structure into Analysis Model

  40. Transform Structure into Analysis Model • Transformation requires deep analysis knowledge…

  41. Model Transformations for Fluid Power • Transformation Rules: • If Cylinder in descriptive, then ModelicaCylinder in analytical • If Pump in descriptive, then ModelicaPump and ModelicaFilter in analytical • … • If connection between Pump and Valve, then ModelicaConnection between ModelicaPump and ModelicaValve • … Not a good idea! Too many rules… Too specific, brittle

  42. Define Model Correspondences CorrespondenceModels

  43. Structure to Analysis Mapping SysML4Modelica Analysis Model SysML Descriptive Model Only 2 rules One for components One for connections Modelica Model Transformation Transformation

  44. Generation of Vehicle Analyses(Work with students B. Bailey, J. Branscomb & Ford Motor Company) • Reference model of logical vehicle architecture in SysML • Specialize the reference model into a variant for a specific vehicle program • Specify the types of analyses needed

  45. Generation of Vehicle Analyses(Work with students B. Bailey, J. Branscomb & Ford Motor Company) Integrated Simulink-ModelicaModel • Automatically generate templates for: • Modelica (for physics-based modeling) • Simulink (for controls) • Subsystem modeling • SME fill in model details • Validate subsystem models • System-level model integration • Guaranteed compatibility • Modelica model integrated into Simulink AutomatedTransformation Logical Vehicle Architecture in SysML

  46. Taxonomy for Model Transformations in MBSE • Organized by the nature of the knowledge encoded in the transformation • Knowledge about Views • Take information from a model and represent it in a different (graphical) syntax • Knowledge about Analysis • Take a structural description of a system and generate a corresponding analysis model • Knowledge about Synthesis • Generate a (more detailed) structural description • From simple to sophisticatedFrom specific to general

  47. Synthesis Rules • Capture heuristic synthesis knowledge: What are promising system architectures? • Difficult to create a transparent “grammar” — which architectures are covered by the grammar?

  48. Additional Example of Synthesis Knowledge • Variant modeling — constraint-based representation of a set of architectures (mbse.gfse.de) • F6 program at JPL: Generation and analysis of fractionated satellite systems One variant Transformation Set of variations

  49. Architecture Exploration Using SysML & CPLEX(Work with former students AlekKerzhner) Formulate Problem in SysML Transform to Superstructure Transform to Introduce Behavior Transform to Linearize Transform to AIMMS syntax Solve using CPLEX Transform solutions into SysML SE Problem Generation of Mixed Integer Programming model through transformations AIMMS – CPLEX

  50. Overview of Presentation • Context — Model Transformations • What is a model transformation? — some simple examples • Meta-modeling and Model transformations languages • How can model transformations be useful in MBSE? • A taxonomy of usage scenarios • Examples and illustrations • How to get started? • Summary

More Related