M B S E. Model Transformations in Model-Based Systems Engineering. Chris Paredis Associate Director. Model-Based Systems Engineering Center

Similar documents
SLIM for Model-Based Systems Engineering

An Overview of the SysML-Modelica Transformation Specification

Model driven Engineering & Model driven Architecture

Model-Based Systems Engineering

MDD with OMG Standards MOF, OCL, QVT & Graph Transformations

Research Overview. Chris Paredis

Enabling Multi-View Modeling With SysML Profiles and Model Transformations. Aditya A. Shah, Dirk Schaefer and Christiaan J.J.

Introduction to Dependable Systems: Meta-modeling and modeldriven

USING MODEL-BASED METHODS TO SUPPORT VEHICLE ANALYSIS PLANNING

An integrated framework for automated simulation of SysML models using DEVS

USING DOMAIN SPECIFIC LANGUAGES TO CAPTURE DESIGN KNOWLEDGE FOR MODEL-BASED SYSTEMS ENGINEERING

SysML Past, Present, and Future. J.D. Baker Sparx Systems Ambassador Sparx Systems Pty Ltd

Model Driven Architecture - The Vision

Syndeia 3.1 for MBSE. The Next Generation of Model-Based Systems Engineering Dr. Dirk Zwemer June 14, 2017

Knowledge Management in Simulation-based Design

Introduction to MDE and Model Transformation

The Model Driven Architecture. Dennis Wagelaar Viviane Jonckers Software Languages Lab

Project Proposal: OSLC4MBSE - OMG SE and OSLC working group as part of the OMG SE DSIG. OSLC for Model-Based Systems Engineering Interoperability

Tooled Process for Early Validation of SysML Models using Modelica Simulation

Computation Independent Model (CIM): Platform Independent Model (PIM): Platform Specific Model (PSM): Implementation Specific Model (ISM):

Available online at Procedia Computer Science 16 (2013 )

Future Directions for SysML v2 INCOSE IW MBSE Workshop January 28, 2017

Object Management Group Model Driven Architecture (MDA) MDA Guide rev. 2.0 OMG Document ormsc/

The Unified Modelling Language. Example Diagrams. Notation vs. Methodology. UML and Meta Modelling

System Modeling Environment

Raising the Level of Development: Models, Architectures, Programs

Object Security. Model Driven Security. Ulrich Lang, Rudolf Schreiner. Protection of Resources in Complex Distributed Systems

All you need are models Anneke Kleppe, Klasse Objecten

The Future of MBSE with MagicDraw Jason Wilson Director, Solution Architecture & Business Development

The Model-Driven Semantic Web Emerging Standards & Technologies

Model transformations. Overview of DSLE. Model transformations. Model transformations. The 4-layer architecture

challenges in domain-specific modeling raphaël mannadiar august 27, 2009

Sequence Diagram Generation with Model Transformation Technology

An Introduction to MDE

SysML-Modelica Transformation Specification

The Eclipse Modeling Framework and MDA Status and Opportunities

Software Architecture

COMBINING MATHEMATICAL PROGRAMMING AND SYSML FOR COMPONENT SIZING AS APPLIED TO HYDRAULIC SYSTEMS

MODEL-BASED PRODUCT LINE ENGINEERING ENABLING PRODUCT FAMILIES WITH VARIANTS

How to Harvest Reusable Components in Existing Software. Nikolai Mansurov Chief Scientist & Architect

Modelling in Enterprise Architecture. MSc Business Information Systems

Model Driven Architecture

TRANSITIONING PROJECTS TO A MODEL-BASED APPROACH

02291: System Integration

Modeling Requirements, Architectures, Behaviour...

Second OMG Workshop on Web Services Modeling. Easy Development of Scalable Web Services Based on Model-Driven Process Management

Integrating Models and Simulations of Continuous Dynamics into SysML

Model Driven Engineering (MDE)

Ontology-based Model Transformation

SysML, It s Coming Are You Prepared?

Model Driven Architecture

Metamodeling with Metamodels. Using. UML/MOF including OCL

Proceedings of the 4th International Workshop on Multi-Paradigm Modeling (MPM 2010)

UML 2.5: Specification Simplification

Integrating SysML and OWL

Compositional Model Based Software Development

Model Driven Development Unified Modeling Language (UML)

Christian Doppler Laboratory

On the link between Architectural Description Models and Modelica Analyses Models

* Corresponding Author

Towards Effective SysML Model Reuse

The rcos Modeler. ICTAC Summer School 2013 ECNU, Shanghai, China. Volker Stolz, Zhiming Liu. Friday, August 30, 13

innoq Deutschland GmbH innoq Schweiz GmbH D Ratingen CH-6330 Cham Tel Tel

From Object Composition to Model Transformation with the MDA

Model-Based Techniques in the Development of Net-Centric Applications. Timothy A. Anderson Basil C. Krikeles. June 20, 2007

Heterogeneous systems co-simulation: a model-driven approach based on SysML State Machines and Simulink

Model Driven Engineering

!MDA$based*Teaching*and* Research*in*Software*Engineering*!

Model Driven, Component Based Development for CBDDS. IDL to C++11. Johnny Willemsen

Semantic Web Domain Knowledge Representation Using Software Engineering Modeling Technique

Modellierung operationaler Aspekte von Systemarchitekturen. Master Thesis presentation. October 2005 March Mirko Bleyh - Medieninformatik

developer.* The Independent Magazine for Software Professionals

Executive Summary. Round Trip Engineering of Space Systems. Change Log. Executive Summary. Visas

Improving Military Information Technology Through Common Conceptual Models

16 Evaluation Framework for Model-Driven Product Line Engineering Tools

ModelicaML: Getting Started Issue April 2012

3rd Lecture Languages for information modeling

Model-Driven Systems Engineering for Netcentric System of Systems With DEVS Unified Process

Index. business modeling syntax 181 business process modeling 57 business rule 40

Model-Driven Architecture

Towards Generating Domain-Specific Model Editors with Complex Editing Commands

FUSED Framework for System Engineering Hands-on Tutorial SAE AADL 19 April 2012

BLU AGE 2009 Edition Agile Model Transformation

Metamodeling. Janos Sztipanovits ISIS, Vanderbilt University

MDA & Semantic Web Services Integrating SWSF & OWL with ODM

PragmaDev. change request. Emmanuel Gaudin. PragmaDev ITU-T SG17 change request Grimstad June 24,

Lessons learned from building Eclipse-based add-ons for commercial modeling tools

INTEGRATION OF SYSTEM-LEVEL DESIGN AND MECHANICAL DESIGN MODELS IN THE DEVELOPMENT OF MECHANICAL SYSTEMS

A Taxonomy of Model Transformation

Graph-Based Digital Blueprint for Model Based Engineering of Complex Systems

ISO/IEC INTERNATIONAL STANDARD

Applying MDE Tools at Runtime: Experiments upon Runtime Models

USING PAPYRUS IN A DESIGN SPACE EXPLORATION TOOLCHAIN CURRENT DEVELOPMENTS AT FLANDERS MAKE

An MDD Process for IEC based Industrial Automation Systems

IMCE MOF2 / OWL2 Integration

Open Source egovernment Reference Architecture. Cory Casanave, President. Data Access Technologies, Inc.

Semantics-Based Integration of Embedded Systems Models

On Open Source Tools for Behavioral Modeling and Analysis with fuml and Alf

Integrating Simulation Capabilities in SysML using DEVS

Model-Driven QoS Provisioning Techniques for CCM DRE Systems

Transcription:

1 M B S E 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

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

Overview of Presentation Background Model Transformations What is a model transformation? some simple examples Meta-modeling and Model transformations languages Model Transformations in? A taxonomy of usage scenarios Examples and illustrations How to get started? Summary 2012 Copyright Chris Paredis. All Rights Reserved. 3

What is a Model Transformation? Model Transformation: Any operation on a model that produces another model Very general: Almost anything you do with a model Our primary interest: Automated model transformations 2012 Copyright Chris Paredis. All Rights Reserved. 4

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

6 Example: Models Evolve Over Time We forgot to drain the residue (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)

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 2012 Copyright Chris Paredis. All Rights Reserved. 8

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

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

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

12 Automated Transformations: A Closer Look Source Modeling Language modeled in Source Model Models must be Formal Target Modeling Language modeled in Target Model System Model Transformation.pdf.html.pptx

13 Automated Source Transformations: A Closer Target Look Meta-Model defined by Formal Syntax and Semantics Meta-Model defined by Source Modeling Language conforms to Target Modeling Language modeled in Source Model modeled in Target Model System Model Transformation.pdf.html.pptx

14 Modeling Languages are also Modeled Formally UML is defined by a meta-model Part of the meta-model for UML 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 M3 M2 M1 Meta-meta-model Meta-model Model conforms to conforms to MOF UML User Model M0 System represented by Reality

16 Model Transformation Specification Source Meta-model refers to Transformation Specification refers to Target Meta-model conforms to executes conforms to Source Model reads Transformation Engine writes Target Model (Czarnecki, K., & Hellen, S., 2006)

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, 2012 Copyright Chris Paredis. All Rights Reserved. 17

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

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

A d d D i r e c t i o n a l [ f a i l u r e ] [ f a i l u r e ] A d d D i r e c t i o n a l V a l v e V a l v e [ f a i l u r e ] A d d D i r e c t i o n a l V a l v e A d d P u m p A d d T a n k A d d P u m p A d d T a n k [ f a i l u r e ] A d d D i r e c t i o n a l A d d P u m p V a l v e A d d T a n k A d d P u 20 Decision Tree of Generation Process t [Activity] Decision Tree[ Decision Tree ] ct [Activity] Decision Tree act [Activity] [ Decision Decision Tree Tree ] [ Decision Tree ] [success] [success] [success] Add Cylinder act [Activity] Add Cylinder Decision Tree Add [ Cylinder Decision Tree ] [succe [success] {probability [success] = ".7" } {probability = ".7" } [success] {probability = ".7" } [success] [success] {probability = ".3" } {probability = ".3" } [success] {probability = ".3" } Add Cylinder [failure] [failure] [failure] [success] {probability [success] [success] = ".7" } [success] {probability {probability = ".7" = ".7" } } {probability = ".7" } [success] [success] [success] {probability {probability = ".3" ".3" } } {probability = ".3" } {probability = ".3" } [failure] [failure] [failure] [success] {probability = ".7" } [success] {probability = ".3" }

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? A taxonomy of usage scenarios Examples and illustrations How to get started? Summary 2012 Copyright Chris Paredis. All Rights Reserved. 21

Taxonomy for Model Transformations in 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 From simple to sophisticated From specific to general 2012 Copyright Chris Paredis. All Rights Reserved. 22

Why are Model Transformations Important? Collaboratively Developing Complex Systems 2012 Copyright Chris Paredis. All Rights Reserved. 23 Testing Software Analysis Project Management Manufacturing CAD Fuselage Landing Gear Engines

Why are Model Transformations Important? Highly Interrelated Information & Knowledge 2012 Copyright Chris Paredis. All Rights Reserved. 24 Testing Software Analysis Relations / Dependencies Project Management Manufacturing CAD Fuselage Landing Gear Engines

Why are Model Transformations Important? Allows for More Formal Communication 2012 Copyright Chris Paredis. All Rights Reserved. 25 Testing Software Analysis System Model Project Management Manufacturing CAD Fuselage Landing Gear Engines

Why are Model Transformations Important? Allows for More Formal Communication 2012 Copyright Chris Paredis. All Rights Reserved. 26 Testing Software Analysis System Model Project Management Manufacturing CAD Fuselage Landing Gear Engines

Example: Representing CAD parts in Creo as SysML Blocks in MagicDraw 2012 Copyright Chris Paredis. All Rights Reserved. 27 Step 2: A surrogate SysML block element is generated with the Creo parameters. This block represents the Creo model for the system engineer. Step 3: The surrogate SysML block element (and corresponding instance) is connected to the Creo model. System engineer can sync parameter values. Values read from Creo (from: Manas Bajaj, InterCAX)

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

Document Generator by INCOSE SE2 team (mbse.gfse.de) 2012 Copyright Chris Paredis. All Rights Reserved. 29

Document Generator by INCOSE SE2 team (mbse.gfse.de) 2012 Copyright Chris Paredis. All Rights Reserved. 30

Document Generator by INCOSE SE2 team (mbse.gfse.de) 2012 Copyright Chris Paredis. All Rights Reserved. 31 Transformation DocBook XML file XSLT 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)

Taxonomy for Model Transformations in 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 From simple to sophisticated From specific to general 2012 Copyright Chris Paredis. All Rights Reserved. 33

Why are Model Transformations Important? Allows for More Formal Communication 2012 Copyright Chris Paredis. All Rights Reserved. 34 Testing Software Analysis System Model Project Management Manufacturing CAD Fuselage Landing Gear Engines

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

SysML-Modelica Transformation Specification SysML- Modelica Transformation follows the principles of Model- Driven Architecture (MDA) 2012 Copyright Chris Paredis. All Rights Reserved. 36 36

Bi-directional Transformation < < M o d e l i c a M o d e l > > M o d e l i c a S t a n d a r d L i b r a r y : : M e c h a n i c s : : T r a n s l a t i o n a l : : C o m p o n e n t s : : bdd [Package] Components[ ModelOverview ] <<ModelicaPort>> flange_a : Flange <<ModelicaPort>> flange_b : Flange SysML4Modelica <<ModelicaModel>> ModelicaStandardLibrary::Mechanics::Translational::Interfaces:: PartialCompliant {s_rel = flange_b.s - flange_a.s; flange_b.f = f; flange_a.f = -f;} <<ModelicaValueProperty>>+s_rel : Distance <<ModelicaValueProperty>>+f : Force <<ModelicaPort>> flange_a : Flange <<ModelicaExtendsRelation>> <<ModelicaPort>> flange_b : Flange Spring {f = c*(s_rel - s_rel0);} <<ModelicaValueProperty>>+c : TranslationalSpringConstant{variability = parameter} <<ModelicaValueProperty>>+s_rel0 : Distance{variability = parameter} <<ModelicaPort>> flange_a : Flange <<ModelicaPort>> flange_b : Flange Modelica <<ModelicaModel>> ModelicaStandardLibrary::Mechanics::Translational::Interfaces:: PartialRigid {flange_a.s = s - L/2; flange_b.s = s + L/2;} 2012 Copyright Chris Paredis. All Rights Reserved. <<ModelicaValueProperty>>+s : Position <<ModelicaValueProperty>>+L : Length{variability = parameter} 37 37

SysML4Modelica to Modelica Syntactical Mapping 2012 Copyright Chris Paredis. All Rights Reserved. 38 38

39 Transform Structure into Analysis Model

40 Transform Structure into Analysis Model Transformation requires deep analysis knowledge

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 2012 Copyright Chris Paredis. All Rights Reserved. 41

42 Define Model Correspondences Correspondence Models

43 Structure to Analysis Mapping SysML Descriptive Model Transformation SysML4Modelica Analysis Model Modelica Model Only 2 rules One for components One for connections 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) 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 Integrated Simulink- Modelica Model Logical Vehicle Architecture in SysML Automated Transformation

Taxonomy for Model Transformations in 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 From simple to sophisticated From specific to general 2012 Copyright Chris Paredis. All Rights Reserved. 46

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) Transformation Set of variations One variant F6 program at JPL: Generation and analysis of fractionated satellite systems

Architecture Exploration Using SysML & CPLEX (Work with former students Alek Kerzhner) ibd [Block] Hydraulic Subsystem [ Hydraulic Subsystem] arm bucket booml boomr rotational : Rotational swing 2012 Copyright Chris Paredis. All Rights Reserved. rod rod rod A A A armcylinder : Cylinder B bucketcylinder : Cylinder boomcylinderright : Cylinder swingmotor : FixedDisplacementMotor T2 rod P : Hydraulic T : Hydraulic valveblock : ValveBlock [0..4] T1 P2 P1 A B boomcylinderleft : Cylinder A B B B housing housing housing housing P [1] fuel armhousing buckethousing boomlhousing boomrhousing powerunit : PowerUnit [1..4] T rotational : Rotational out : Rotational mover : PrimeMover [1..4] fuelin : Fuel 49 SE Problem 1.Formulate Problem in SysML 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 SysML Generation of Mixed Integer Programming model through transformations AIMMS CPLEX

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? A taxonomy of usage scenarios Examples and illustrations How to get started? Summary 2012 Copyright Chris Paredis. All Rights Reserved. 50

How to get started.. Imperative modeling Traditional programming languages: Java, Python, Direct use of the APIs of SysML and Analysis tools Declarative Model Transformation Languages ATL, QVT, Moflon, VIATRA2, All are Eclipse based Integration of Model Transformation tools into current SysML tools is not well supported 2012 Copyright Chris Paredis. All Rights Reserved. 51

52 Model Transformation Tools SysML Tool Eclipse MMT Analysis Tool Source Meta-model refers to Transformation Specification refers to Target Meta-model conforms to executes conforms to Source Model reads Transformation Engine writes Target Model (Czarnecki, K., & Hellen, S., 2006)

So What? Should I use Model Transformations? Costs It depends Knowledge capture, management is expensive Requires knowledge engineers who understand how best to generalize knowledge and encode it in transformations Infrastructure Benefits Improved consistency Once the knowledge has been captured, the cost of applying it is very small Eliminate tedious, non-value-added tasks in process 2012 Copyright Chris Paredis. All Rights Reserved. 53

54 M B S E 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 Views: Synchronize views and maintain consistency Analysis: Generate analysis models Synthesis: Generate promising architectures 3. Cost-Benefit Identify simple tasks that are tedious and error-prone