Model Driven Engineering (MDE)Engineering (MDE) and Domain ... · pour la production,...

63
Model Model Driven Driven Engineering (MDE) Engineering (MDE) Model Model Driven Driven Engineering (MDE) Engineering (MDE) and Domain and Domain Specific Specific Languages Languages (DSLs DSLs) Jean Bézivin JBezivin@gmail com JBezivin@gmail.com AtlanMod (INRIA & EMN), Ecole des Mines de Nantes, France www.emn.fr/x-info/atlanmod/ Copyright © 2010 AtlanMod. All Rights Reserved 1 Forum TER@TEC, 16 juin 2010

Transcript of Model Driven Engineering (MDE)Engineering (MDE) and Domain ... · pour la production,...

Page 1: Model Driven Engineering (MDE)Engineering (MDE) and Domain ... · pour la production, l’évolution et l’exécution de sytèmes logiciels) Grands Eclipse ... W b/XML/SOAP SVG GML

ModelModel DrivenDriven Engineering (MDE)Engineering (MDE)Model Model DrivenDriven Engineering (MDE)Engineering (MDE)and Domain and Domain SpecificSpecific LanguagesLanguages ((DSLsDSLs))

Jean BézivinJBezivin@gmail [email protected]

AtlanMod (INRIA & EMN),Ecole des Mines de Nantes, France

www.emn.fr/x-info/atlanmod/

Copyright © 2010 AtlanMod. All Rights Reserved 1 Forum TER@TEC, 16 juin 2010

Page 2: Model Driven Engineering (MDE)Engineering (MDE) and Domain ... · pour la production, l’évolution et l’exécution de sytèmes logiciels) Grands Eclipse ... W b/XML/SOAP SVG GML

Schedule

1 Introduction1. Introduction

2. What is "Model Driven Engineering" (MDE)

3. The OMG vs. the Eclipse community and process

4. Zooms on AESIG and Tool cartography

5. Conclusions

Copyright © 2010 AtlanMod. All Rights Reserved 2 Forum TER@TEC, 16 juin 2010

Page 3: Model Driven Engineering (MDE)Engineering (MDE) and Domain ... · pour la production, l’évolution et l’exécution de sytèmes logiciels) Grands Eclipse ... W b/XML/SOAP SVG GML

Context of this work

Application Driven Research

An INRIA/MinesNantes joint

Application Driven Research(Pôles de compétitivité)

(Triangle vertueux)An INRIA/MinesNantes joint

research team in Model Driven Engineering (MDE).

Labosetc.

Modeling Technologies forSoftware Production,

Operation and EvolutionOMG

(Technologies de modélisationpour la production, l’évolution et l’exécution de sytèmes logiciels)

Grands

OMGEclipse

Systematic use of DSLs for separation or integration of

various concerns about systems

PME Grandscomptes

Copyright © 2010 AtlanMod. All Rights Reserved

various concerns about systemsetc. etc.

Forum TER@TEC, 16 juin 2010

Page 4: Model Driven Engineering (MDE)Engineering (MDE) and Domain ... · pour la production, l’évolution et l’exécution de sytèmes logiciels) Grands Eclipse ... W b/XML/SOAP SVG GML

MDE applies to major IT fields

2010+

ModelDriven

2010+ObjectTechnology

DrivenEngineering1980+

appliesTo

Software SystemData BusinessEngineering

yEngineeringEngineering Engineering

Copyright © 2010 AtlanMod. All Rights Reserved Forum TER@TEC, 16 juin 2010

Page 5: Model Driven Engineering (MDE)Engineering (MDE) and Domain ... · pour la production, l’évolution et l’exécution de sytèmes logiciels) Grands Eclipse ... W b/XML/SOAP SVG GML

Schedule

1 Introduction1. Introduction

2. What is "Model Driven Engineering" (MDE)

3. The OMG vs. the Eclipse community and process

4. Zooms on AESIG and Tool cartography

5. Conclusions

Copyright © 2010 AtlanMod. All Rights Reserved 5 Forum TER@TEC, 16 juin 2010

Page 6: Model Driven Engineering (MDE)Engineering (MDE) and Domain ... · pour la production, l’évolution et l’exécution de sytèmes logiciels) Grands Eclipse ... W b/XML/SOAP SVG GML

We need clear definitions

► MDEModel Driven Engineering► MEM d l E i i► MEModel Engineering► MDA™Model Driven Architecture► MDDModel Driven Development► MDSDModel Driven Software Development► MDSEModel Driven Software Engineering► MBDModel Based Developmentp► MMModel Management► ADM Architecture Driven Modernization► DSL Domain Specific Language► DSL Domain Specific Language► DSM Domain Specific Modeling► DDD Domain Driven Design► MDREModel Driven Reverse Engineering► MDREModel Driven Reverse Engineering► MD* (Markus Voelter)► etc.

Copyright © 2010 AtlanMod. All Rights Reserved Forum TER@TEC, 16 juin 2010

Page 7: Model Driven Engineering (MDE)Engineering (MDE) and Domain ... · pour la production, l’évolution et l’exécution de sytèmes logiciels) Grands Eclipse ... W b/XML/SOAP SVG GML

Influencing parties (some)

ResearchMDE is industry drivenNormalizationorganizations

Researchconferences

MODELS, ECMDA, ACM/SAC,ECOOP, TOOLS, ICMT, MOMPES,

MDE is industry-driven

OMG, W3Cetc.

MDEdefinition

Largecompanies

MS IBM

Internationalprojects

ModelWare ModelPlexMS, IBM& consultants

ModelWare, ModelPlex

End usercompanies

Airbus Boeing Ericcson Thales

CASE Toolvendors

Open sourcegroups

Eclipse

Copyright © 2010 AtlanMod. All Rights Reserved

Airbus, Boeing, Ericcson, Thales Eclipse

Forum TER@TEC, 16 juin 2010

Page 8: Model Driven Engineering (MDE)Engineering (MDE) and Domain ... · pour la production, l’évolution et l’exécution de sytèmes logiciels) Grands Eclipse ... W b/XML/SOAP SVG GML

Overview of Model‐Driven Engineering (MDE)

Model-Driven Engineering (MDE)Principles

MDA™ MIC Software OtherMDA Model-DrivenArchitecture

(OMG)

MIC Model

IntegratedComputing

SoftwareFactories

(MS)

OtherStandardsStandards

Eclipse GME Microsoft OtherEclipseEMFGMF

GME Visual StudioTeam system

DSL Tools

OtherToolsTools

Copyright © 2010 AtlanMod. All Rights Reserved 16/06/2010 Forum TER@TEC, 16 juin 2010

Page 9: Model Driven Engineering (MDE)Engineering (MDE) and Domain ... · pour la production, l’évolution et l’exécution de sytèmes logiciels) Grands Eclipse ... W b/XML/SOAP SVG GML

Modeling at large

• Production• Evolution• Operation

Copyright © 2010 AtlanMod. All Rights Reserved

Operation

Forum TER@TEC, 16 juin 2010

Page 10: Model Driven Engineering (MDE)Engineering (MDE) and Domain ... · pour la production, l’évolution et l’exécution de sytèmes logiciels) Grands Eclipse ... W b/XML/SOAP SVG GML

Three main types of MDE applications

► Three levels of complexity► S ⇐M (MD Software Development for development automation)

► S ⇒M (MD Reverse Engineering for legacy modernization)

► S⇔M⇔M⇔ S (Run Time Correspondances for systems interoperability)► S ⇔M ⇔M ⇔ S (Run Time Correspondances for systems interoperability)

MDE Applications

« Code » generation Model Discovery(e.g. from code)

System interoperability

Copyright © 2010 AtlanMod. All Rights Reserved Forum TER@TEC, 16 juin 2010

Page 11: Model Driven Engineering (MDE)Engineering (MDE) and Domain ... · pour la production, l’évolution et l’exécution de sytèmes logiciels) Grands Eclipse ... W b/XML/SOAP SVG GML

MDE is not just a transient light change

1980 1995 2010Proceduretechnology

Componenttechnology

Objecttechnology

Modelengineering

ObjectsProcedures Packages Models Meta-ModelsObjects,Classes,

Smalltalk, C++,

Procedures,Pascal,

C,

Packages,Frameworks,

Patterns,

Models, Meta-Models,UML, MOF,

XML, XMI, ATL,

…...... …

P d l

Obj t M d lProceduralrefinement

Objectcomposition

Modeltransformation

Copyright © 2010 AtlanMod. All Rights Reserved

It's about an important paradigm change: unification by objects -> by modelsForum TER@TEC, 16 juin 2010

Page 12: Model Driven Engineering (MDE)Engineering (MDE) and Domain ... · pour la production, l’évolution et l’exécution de sytèmes logiciels) Grands Eclipse ... W b/XML/SOAP SVG GML

From contemplative to productive approaches

+Person()+PersonInfo()

-personID : unsigned long-surname : CString-givenName : CString-middleInitial : char-streetAddress : CString-postCode : CString-countryname : CString-eMailAddress : CString

Person

-is taught by

1

-teaches

0..*+CourseSession()+CourseSessionInfo()

-courseSessionID : unsigned long-courseDate : unsigned long-courseID : unsigned long-courseLocation : CString

CourseSession

-is in1

-jobType : CString-roomNr : unsigned long-department : CString-division : CString-jobTitle : CString-manager : unsigned long-headsDept : CString-headsDivision : CString-mobileNr : CStringbi thD t i d l

Employee

class

+Applicant()+ApplicantInfo()+MakeApplication()

-companyName : CString-experience : CString-reference1 : CString-reference2 : CString-reference3 : CString

Applicant

+CourseRegistration()+CourseRegistrationInfo()

-registrationDate : unsigned long-completionFlag : bool-confirmedDate : unsigned long

CourseRegistration

+Test()+TestInfo()

-testScore : unsigned longTest

-productNr : unsigned longcertificationLevel : unsigned long

Application

-fromStatus : charPermittedStatusChange

gives0 *

-is made by

1

-makes

0..*

-allows change in -has a

-is taken by1

-takes0..*

-is made by a1

-made a1..*

-is filled by0..*+Employee()+GetCurrentAge()+EmployeeInfo()

-birthDate : unsigned long

+registrationform()

RegistrationForm

-uses**

sequenceJavaCode

+AppStatus()+AppStatusInfo()

-statusCode : char-statusName : CString

AppStatus

+Application()+ApplicationInfo()

-certificationLevel : unsigned long-applicationDate : unsigned long

+PermittedStatusChange()+StatusChangeInfo()

-toStatus : char

+ExamSession()+ExamSessionInfo()

-examSession : unsigned long-examlocation : CString-examDate : unsigned long

ExamSession

-gives0..*

-is achieved1

0..* 1..*

-uses

1

-is used in

0..*

-applies to a0..*

-is for a1

+Exam()+ExamInfo()

-examID : unsigned long-certificationLevel : unsigned long

Exam

ApplicantApplicantList PersonList

findApplicant()

ApplicationRegForm

Applicant()

findPerson()

A li ti ()

MakeApplication()

ApplicationList

sequence

addPerson()

addApplication()

Application()

XMI XMI

From human-readable to computer-understandable.From hand-crafting (e. g. Design Patterns)

Copyright © 2010 AtlanMod. All Rights Reserved

to full automation (e. g. Model Transformation)

Forum TER@TEC, 16 juin 2010

Page 13: Model Driven Engineering (MDE)Engineering (MDE) and Domain ... · pour la production, l’évolution et l’exécution de sytèmes logiciels) Grands Eclipse ... W b/XML/SOAP SVG GML

Starting point : OMG definition of MDA™

Richard Soley and the OMG staff, MDA Whitepaper Draft 3.2

November 27 2000November 27, 2000

… At the core of MDA are the concepts of models, ofmetamodels defining the abstract languages in whichthe models are captured and of transformations thatthe models are captured, and of transformations thattake one or more models and produce one or moreother models from them. …

Copyright © 2010 AtlanMod. All Rights Reserved

other models from them. …

Forum TER@TEC, 16 juin 2010

Page 14: Model Driven Engineering (MDE)Engineering (MDE) and Domain ... · pour la production, l’évolution et l’exécution de sytèmes logiciels) Grands Eclipse ... W b/XML/SOAP SVG GML

Separating the platform dependent and independent parts of systems

We don't want anymore to pay such a high price for simply moving our information system to afor simply moving our information system to a new middleware platform (COM, CORBA, Java, HTML, XML, DotNet, etc.) when our business system stays stable.We are prepared to pay a last price for building the abstract models of our business and services that will guarantee us against technological obsolescenceobsolescence.From there, any platform provider will also have to provide the mapping solutions from standard business models before we buy.

November 2000November 2000

Copyright © 2010 AtlanMod. All Rights Reserved Forum TER@TEC, 16 juin 2010

Page 15: Model Driven Engineering (MDE)Engineering (MDE) and Domain ... · pour la production, l’évolution et l’exécution de sytèmes logiciels) Grands Eclipse ... W b/XML/SOAP SVG GML

MDA: Model Once, Generate Anywhere

Platform-Independent

PIM

Platform IndependentModel

vs.Multi-targetcode generation

Platform-SpecificModel

g

etc.

CORBA

Java/EJB

Data grid computingService based computingPervasive computingCluster computing

SMIL/Flash

Java/EJBC#/DotNet

W b/XML/SOAP SVG GML D l hi ASP M SQL PHP t

p gP2P computingCloud computing

AndroidiPhone

Copyright © 2010 AtlanMod. All Rights Reserved

15Web/XML/SOAP + SVG, GML, Delphi, ASP, MySQL, PHP, etc.

Forum TER@TEC, 16 juin 2010

Page 16: Model Driven Engineering (MDE)Engineering (MDE) and Domain ... · pour la production, l’évolution et l’exécution de sytèmes logiciels) Grands Eclipse ... W b/XML/SOAP SVG GML

Systems and Models

Squares and Circles

a model Ma system SrepOf

A situation or a phenomenon ofthe real or imagined world.

Copyright © 2010 AtlanMod. All Rights Reserved Forum TER@TEC, 16 juin 2010

Page 17: Model Driven Engineering (MDE)Engineering (MDE) and Domain ... · pour la production, l’évolution et l’exécution de sytèmes logiciels) Grands Eclipse ... W b/XML/SOAP SVG GML

Metamodeling

Metamodel

A metamodel is a simplified ontology,i.e. a set of concepts and relations betweenthese conceptsthese concepts.

conformsTo

TerminalModel

A model is a graph composed of elements(nodes and edges). Each such elementcorresponds to a concept in the metamodelcorresponds to a concept in the metamodel.

Copyright © 2010 AtlanMod. All Rights Reserved Forum TER@TEC, 16 juin 2010

Page 18: Model Driven Engineering (MDE)Engineering (MDE) and Domain ... · pour la production, l’évolution et l’exécution de sytèmes logiciels) Grands Eclipse ... W b/XML/SOAP SVG GML

Classification/Unification

Copyright © 2010 AtlanMod. All Rights Reserved Forum TER@TEC, 16 juin 2010

Page 19: Model Driven Engineering (MDE)Engineering (MDE) and Domain ... · pour la production, l’évolution et l’exécution de sytèmes logiciels) Grands Eclipse ... W b/XML/SOAP SVG GML

Interpretation

the MOF c2

Class Association

source

destination

M3 μ μ

the UML MetaModel

c2 μμ μ

Class Attribute*1M2

μ

a UML Model

c2 μμ

Client

Name : String

M1

Copyright © 2010 AtlanMod. All Rights Reserved Forum TER@TEC, 16 juin 2010

Page 20: Model Driven Engineering (MDE)Engineering (MDE) and Domain ... · pour la production, l’évolution et l’exécution de sytèmes logiciels) Grands Eclipse ... W b/XML/SOAP SVG GML

Schedule

1 Introduction1. Introduction

2. What is "Model Driven Engineering" (MDE)

3. The OMG vs. the Eclipse community and process

4. Zooms on AESIG and Tool cartography

5. Conclusions

Copyright © 2010 AtlanMod. All Rights Reserved 20 Forum TER@TEC, 16 juin 2010

Page 21: Model Driven Engineering (MDE)Engineering (MDE) and Domain ... · pour la production, l’évolution et l’exécution de sytèmes logiciels) Grands Eclipse ... W b/XML/SOAP SVG GML

Two periods of MDE

Board A l►The normative period

(1998‐2004)

►Th i d Final AB Review

Approval

DTC or PTC Recommendation

►The open source period(2004‐2010)

RFIRFP AB Review (Architecture Board)

Evaluation

Final AB Review

Task Force DTC = Domain Technical committee.PTC = Platform Technical committee.PTC Platform Technical committee.

MissionThe Eclipse Modeling Project will focus on the evolution and promotionevolution and promotionof model-based development technologies within the Eclipse community.It will unite projects falling into this classification to bring holistic model-based

Copyright © 2010 AtlanMod. All Rights Reserved

development capabilities to Eclipse.

Forum TER@TEC, 16 juin 2010

Page 22: Model Driven Engineering (MDE)Engineering (MDE) and Domain ... · pour la production, l’évolution et l’exécution de sytèmes logiciels) Grands Eclipse ... W b/XML/SOAP SVG GML

UML contribution : separation of concerns

b 1997

UML 1.3 - autumn99

S b i i f UML 1 0 t OMG

november 1997UML-RTF created

Submission of UML 1.0 to OMG for adoption (january 1997).

k

UML 0.9 & 0.91UML

UML 1.0

(june 96 - oct. 96)

c fe

edba

ck

OOPSLA’95 Unified Method O.8

UML partners expertise

publ

ic

Booch 93 OMT-2From Unified MethodTo Unified Language

Copyright © 2010 AtlanMod. All Rights Reserved

Other methods Booch 91 OOSEOMT-1

Forum TER@TEC, 16 juin 2010

Page 23: Model Driven Engineering (MDE)Engineering (MDE) and Domain ... · pour la production, l’évolution et l’exécution de sytèmes logiciels) Grands Eclipse ... W b/XML/SOAP SVG GML

Eclipse Modeling Projects (some)

► Abstract syntax development► Eclipse Modeling Framework (EMF) : The EMF project is a modeling framework 

and code generation facility for building tools and other applications based on a structured data model. From a model specification described in XMI, EMF provides tools and runtime support to produce a set of Java classes for the model, along with a set of adapter classes that enable viewing and command‐based editing of the model, and a basic editor.

► Concrete Syntax Development► Graphical Modeling Framework (GMF) : provides a generative component and 

runtime infrastructure for developing graphical editors based on EMF and GEF.runtime infrastructure for developing graphical editors based on EMF and GEF. 

► Textual Modeling Framework (TMF) (Xtext and TCS)

► Model Transformation► QVT

► ATL

► etc.

Copyright © 2010 AtlanMod. All Rights Reserved 16/06/2010 23Forum TER@TEC, 16 juin 2010

Page 24: Model Driven Engineering (MDE)Engineering (MDE) and Domain ... · pour la production, l’évolution et l’exécution de sytèmes logiciels) Grands Eclipse ... W b/XML/SOAP SVG GML

KM3 is a language for specifying metamodels 

►KM3 is a metamodel for specifying metamodels 

a metametamodel:►Similar to OMG/MOF and Eclipse/Ecore

►Relatively simple (i e 14 concepts where Ecore has 18 and MOF1 4 28)►Relatively simple (i.e. 14 concepts where Ecore has 18 and MOF1.4 28)

►Withsimple textual  and visual (concrete) syntaxes 

►With a formal definition

►Similar to EBNF in grammarware

►Core concepts:►Co e co cepts:►Class used for typing models nodes

►Reference used for typing models edges

Copyright © 2010 AtlanMod. All Rights Reserved Forum TER@TEC, 16 juin 2010

Page 25: Model Driven Engineering (MDE)Engineering (MDE) and Domain ... · pour la production, l’évolution et l’exécution de sytèmes logiciels) Grands Eclipse ... W b/XML/SOAP SVG GML

KM3 example

‐‐@name XML‐‐@version 1.0‐‐@domains‐‐@authors ATLAS Team‐‐@date April 2006‐‐@extends‐‐@description XML Metamodel‐‐@see

package XML {‐‐@begin XML_Metamodelabstract class Node {reference parent [0‐1] : Element oppositeOf children ;

}

class Element extends Node {reference children [*] container : Node oppositeOf parent ;

}

class Attribute extends Node {}

class Text extends Node {tt ib t t t St iattribute content : String ;

}

class Root extends Element {}@end XML Metamodel

XML metamodel(graphical syntax)

Copyright © 2010 AtlanMod. All Rights Reserved

‐‐@end XML_Metamodel}

Forum TER@TEC, 16 juin 2010

Page 26: Model Driven Engineering (MDE)Engineering (MDE) and Domain ... · pour la production, l’évolution et l’exécution de sytèmes logiciels) Grands Eclipse ... W b/XML/SOAP SVG GML

KM3: a metamodel specification DSL

KM3 is a DSL for defining metamodels;It is a M3-level notation (self-defined)

Copyright © 2010 AtlanMod. All Rights Reserved

( )

Forum TER@TEC, 16 juin 2010

Page 27: Model Driven Engineering (MDE)Engineering (MDE) and Domain ... · pour la production, l’évolution et l’exécution de sytèmes logiciels) Grands Eclipse ... W b/XML/SOAP SVG GML

KM3 as a pivot: a neutral metametamodel

Copyright © 2010 AtlanMod. All Rights Reserved Forum TER@TEC, 16 juin 2010

Page 28: Model Driven Engineering (MDE)Engineering (MDE) and Domain ... · pour la production, l’évolution et l’exécution de sytèmes logiciels) Grands Eclipse ... W b/XML/SOAP SVG GML

ATL and QVT

Model-to-Model transformation DSLsModel to Model transformation DSLs

• Each model conforms to a t d l KM3metamodel.

• A transformation builds a target model (Mb) from a

KM3

source model (Ma).• A transformation is a

model (Mt) conforming to a MMa MMbATL( ) gmetamodel (MMt).

Mtf T

Ma MbMtconformsTo

transformation

Copyright © 2010 AtlanMod. All Rights Reserved Forum TER@TEC, 16 juin 2010

Page 29: Model Driven Engineering (MDE)Engineering (MDE) and Domain ... · pour la production, l’évolution et l’exécution de sytèmes logiciels) Grands Eclipse ... W b/XML/SOAP SVG GML

ATL: a model‐to‐model “HelloWorld” transformation

Copyright © 2010 AtlanMod. All Rights Reserved Forum TER@TEC, 16 juin 2010

Page 30: Model Driven Engineering (MDE)Engineering (MDE) and Domain ... · pour la production, l’évolution et l’exécution de sytèmes logiciels) Grands Eclipse ... W b/XML/SOAP SVG GML

30

Example: UML2Java

Copyright © 2010 AtlanMod. All Rights Reserved

UML Metamodel Java MetamodelForum TER@TEC, 16 juin 2010

Page 31: Model Driven Engineering (MDE)Engineering (MDE) and Domain ... · pour la production, l’évolution et l’exécution de sytèmes logiciels) Grands Eclipse ... W b/XML/SOAP SVG GML

Static Method Calls

FirstClass.java SecondClasss.java

public class FirstClass {bli id

public class SecondClass {bli idpublic void

fc_m1(){}public void fc m2(){

public void sc_m1(){FirstClass a = new FirstClass();fc_m2(){

this.fc_m1();this.fc_m1();

}}

FirstClass();a.fc_m1();

}public void sc_m2(){_this.sc_m1();

}}

Copyright © 2010 AtlanMod. All Rights Reserved Forum TER@TEC, 16 juin 2010

Page 32: Model Driven Engineering (MDE)Engineering (MDE) and Domain ... · pour la production, l’évolution et l’exécution de sytèmes logiciels) Grands Eclipse ... W b/XML/SOAP SVG GML

32

Java and Table Metamodels

Copyright © 2010 AtlanMod. All Rights Reserved Forum TER@TEC, 16 juin 2010

Page 33: Model Driven Engineering (MDE)Engineering (MDE) and Domain ... · pour la production, l’évolution et l’exécution de sytèmes logiciels) Grands Eclipse ... W b/XML/SOAP SVG GML

From UML activity diagrams to MS Project 

Copyright © 2010 AtlanMod. All Rights Reserved 33 Forum TER@TEC, 16 juin 2010

Page 34: Model Driven Engineering (MDE)Engineering (MDE) and Domain ... · pour la production, l’évolution et l’exécution de sytèmes logiciels) Grands Eclipse ... W b/XML/SOAP SVG GML

Schedule

1 I t d ti1. Introduction

2 What is "Model Driven Engineering" (MDE)2. What is "Model Driven Engineering" (MDE)

3 The OMG vs the Eclipse community and3. The OMG vs. the Eclipse community and 

processprocess

4. MDE for Complex System Management4. MDE for Complex System Management

5. Conclusions

Copyright © 2010 AtlanMod. All Rights Reserved Forum TER@TEC, 16 juin 2010

Page 35: Model Driven Engineering (MDE)Engineering (MDE) and Domain ... · pour la production, l’évolution et l’exécution de sytèmes logiciels) Grands Eclipse ... W b/XML/SOAP SVG GML

Implementing the Macroscope vision

De Rosnay, J: The macroscope, Harper & Row, New York, 1979.

Copyright © 2010 AtlanMod. All Rights Reserved Forum TER@TEC, 16 juin 2010

Page 36: Model Driven Engineering (MDE)Engineering (MDE) and Domain ... · pour la production, l’évolution et l’exécution de sytèmes logiciels) Grands Eclipse ... W b/XML/SOAP SVG GML

Characteristics of complex systems

► CBCS: Computer‐Based Complex System► A complex system with a significant number of hardware/software components► A complex system with a significant number of hardware/software components► Compare with de Rosnay's biological or ecological complex systems

► A CBCS is composed of a large number of components► A CBCS is constantly in evolution► A CBCS is constantly in evolution

► Past, present, future► No stops when parts are added, removed or under maintenance

► A CBCS has a structure (static architecture) and a dynamic behavior► A CBCS is composed of components that may be also CBCSs (no limit in nesting)► A CBCS has a goal defining its purpose in the context in which it is operating

► The goal of a CBCS is part of its metadata► A CBCS h h t b d i i► A CBCS has a heterogeneous‐based engineering► A CBCS is a distributed system► A CBCS may not be understood by one unique human operator► The interactions between different parts of a CBCS follow specific patterns and may► The interactions between different parts of a CBCS follow specific patterns and may 

be characterized by the relations that hold between them► These relations may be implicitly or explicitly defined

Copyright © 2010 AtlanMod. All Rights Reserved 16/06/2010 36Forum TER@TEC, 16 juin 2010

Page 37: Model Driven Engineering (MDE)Engineering (MDE) and Domain ... · pour la production, l’évolution et l’exécution de sytèmes logiciels) Grands Eclipse ... W b/XML/SOAP SVG GML

MDE for complex system management

► Move from heterogeneous to homogeneous► Extract multiple, consistent and precise views of a system► Allow operations on these views: reasoning, combination, confrontation, 

alignment, etc.g

► Help implementing various operations on these systems► Understand it► Understand it► Design it► Realize it► M it► Measure it► Control it► Maintain it► Etc.

► Model Based tools for  complex system management (megamodel based)

Copyright © 2010 AtlanMod. All Rights Reserved Forum TER@TEC, 16 juin 2010

Page 38: Model Driven Engineering (MDE)Engineering (MDE) and Domain ... · pour la production, l’évolution et l’exécution de sytèmes logiciels) Grands Eclipse ... W b/XML/SOAP SVG GML

Megamodel: the principle

Metamodel

MMComplexS

SrepOf

M

MM

c2System

Copyright © 2010 AtlanMod. All Rights Reserved

repOf

Forum TER@TEC, 16 juin 2010

Page 39: Model Driven Engineering (MDE)Engineering (MDE) and Domain ... · pour la production, l’évolution et l’exécution de sytèmes logiciels) Grands Eclipse ... W b/XML/SOAP SVG GML

Partial Correspondences (alignments)

1 11 1

2

32

1

2

11

23 2 2

3

1 H t t th ti l d ?1. How to represent the partial correspondances?2. How to compute the partial correspondances?3. How to use the partial correspondances?

Copyright © 2010 AtlanMod. All Rights Reserved Forum TER@TEC, 16 juin 2010

Page 40: Model Driven Engineering (MDE)Engineering (MDE) and Domain ... · pour la production, l’évolution et l’exécution de sytèmes logiciels) Grands Eclipse ... W b/XML/SOAP SVG GML

The Modisco Component (Model Discovery)

ModelDiscovery

ModelUnderstanding

Raw data InterpretationPresentationTransformation Presentation

AnalysisSynthesis

MoDiscoToolbox

Transformationor Weaving

Libraries

Copyright © 2010 AtlanMod. All Rights Reserved Forum TER@TEC, 16 juin 2010

Page 41: Model Driven Engineering (MDE)Engineering (MDE) and Domain ... · pour la production, l’évolution et l’exécution de sytèmes logiciels) Grands Eclipse ... W b/XML/SOAP SVG GML

Schedule

1 Introduction1. Introduction

2. What is "Model Driven Engineering" (MDE)

3. The OMG vs. the Eclipse community and process

4. Zooms on AESIG and Tool cartography

5. Conclusions

Copyright © 2010 AtlanMod. All Rights Reserved 41 Forum TER@TEC, 16 juin 2010

Page 42: Model Driven Engineering (MDE)Engineering (MDE) and Domain ... · pour la production, l’évolution et l’exécution de sytèmes logiciels) Grands Eclipse ... W b/XML/SOAP SVG GML

ZOOM ON AESIG AT OMG

Copyright © 2010 AtlanMod. All Rights Reserved Forum TER@TEC, 16 juin 2010

Page 43: Model Driven Engineering (MDE)Engineering (MDE) and Domain ... · pour la production, l’évolution et l’exécution de sytèmes logiciels) Grands Eclipse ... W b/XML/SOAP SVG GML

Multiple normative «silos»

Copyright © 2010 AtlanMod. All Rights Reserved 16/06/2010 43Forum TER@TEC, 16 juin 2010

Page 44: Model Driven Engineering (MDE)Engineering (MDE) and Domain ... · pour la production, l’évolution et l’exécution de sytèmes logiciels) Grands Eclipse ... W b/XML/SOAP SVG GML

Credit AESIG

Architecture Ecosystem Foundation (AEF) RFP

aesig/10‐05‐01

Draft RFP PresentationDraft RFP PresentationJune 2010

Copyright © 2010 AtlanMod. All Rights Reserved Forum TER@TEC, 16 juin 2010

Page 45: Model Driven Engineering (MDE)Engineering (MDE) and Domain ... · pour la production, l’évolution et l’exécution de sytèmes logiciels) Grands Eclipse ... W b/XML/SOAP SVG GML

Objectives of the AEF initiative

► Understanding and defining systems from many perspectives► We call this the “whole systems perspective” also called “macro modeling”► We call this the  whole systems perspective , also called  macro modeling► “Systems” are inclusive of the enterprise, business architectures, systems architectures, 

processes rules, services and information.► Systems are not islands they are composed of and interact with other systems► Today's models typically represent one perspective of one system and are difficult to 

combine with other perspectives so the whole system of systems can be understood► Different perspectives come from different stakeholders using different tools and 

different languages – but they all talk about the same systems and expressdifferent languages – but they all talk about the same systems and express overlapping (redundant) information

► Must be done in an open environment that can leverage a broad community

Copyright © 2010 AtlanMod. All Rights Reserved

Credit AESIG

Forum TER@TEC, 16 juin 2010

Page 46: Model Driven Engineering (MDE)Engineering (MDE) and Domain ... · pour la production, l’évolution et l’exécution de sytèmes logiciels) Grands Eclipse ... W b/XML/SOAP SVG GML

Narrow vs.  Whole System Perspective

Credit AESIG

Copyright © 2010 AtlanMod. All Rights Reserved Forum TER@TEC, 16 juin 2010

Page 47: Model Driven Engineering (MDE)Engineering (MDE) and Domain ... · pour la production, l’évolution et l’exécution de sytèmes logiciels) Grands Eclipse ... W b/XML/SOAP SVG GML

The Model Integration Problem

► The enterprise typically has many models for different parts of the enterprise expressing different areas of concern

► While the concerns may be different, the concepts being modeled are cross‐cuttingcutting

► We need to be able to connect independently conceived models so that elements and relations can cross those models regardless of source, 

ti lperspective or language

► To do this we need to “connect the dots” between models

► Example: A process in BPMN may satisfy a requirement in BMM► Example: A process in BPMN may satisfy a requirement in BMM

Copyright © 2010 AtlanMod. All Rights Reserved

Credit AESIG

Forum TER@TEC, 16 juin 2010

Page 48: Model Driven Engineering (MDE)Engineering (MDE) and Domain ... · pour la production, l’évolution et l’exécution de sytèmes logiciels) Grands Eclipse ... W b/XML/SOAP SVG GML

Goals of Architecture Ecosystem Foundation 

► Model definition and integration► M d li l d fi i i d i i► Modeling language definition and integration► Support for viewpoints► Support for an open world► Semantic linking between viewpoints and languages► Improved Domain & Language Model Modularity ► Improved Reuse of Model & Language Concepts p g g p► Integration of Current Models & Languages ► “Alignments” as first class models including shared and linking concepts

Copyright © 2010 AtlanMod. All Rights Reserved

Credit AESIG

Forum TER@TEC, 16 juin 2010

Page 49: Model Driven Engineering (MDE)Engineering (MDE) and Domain ... · pour la production, l’évolution et l’exécution de sytèmes logiciels) Grands Eclipse ... W b/XML/SOAP SVG GML

ZOOM ON TOOL INTEROPERABILITY

Copyright © 2010 AtlanMod. All Rights Reserved Forum TER@TEC, 16 juin 2010

Page 50: Model Driven Engineering (MDE)Engineering (MDE) and Domain ... · pour la production, l’évolution et l’exécution de sytèmes logiciels) Grands Eclipse ... W b/XML/SOAP SVG GML

MDE and Tool Interoperability

► System engineering in general is highly “tool oriented”:► i / ifi i d i i l i d l i► Composite H/S system specification, design, implementation, deployment, maintenance, 

etc.

► Tools are ubiquitous in these contexts

► 100 t l i d t t 1000 t l i d t t ?► 100  tools in a department, 1000 tools in a department, more?

► 150.000 iPhone apps, 50.000 Android apps, more AppStores, etc.

► Tools have various characteristics► APIs & functionalities

► Features & services

► Human‐driven, semi‐automated or fully automated► , y

► Simple or composite

► Tool interoperability is becoming  a critical issue

► Tools on the cloud

► MDE seems to be the only realistic way to approach this huge integration problem

Copyright © 2010 AtlanMod. All Rights Reserved 6/28/2010 50Forum TER@TEC, 16 juin 2010

Page 51: Model Driven Engineering (MDE)Engineering (MDE) and Domain ... · pour la production, l’évolution et l’exécution de sytèmes logiciels) Grands Eclipse ... W b/XML/SOAP SVG GML

The «Village metaphor» by Antonio Vallecillo

The Prolog villageThe Petri net village

The Coloured Petri Net Village The Modelica villageThe Modelica villageThe SysML villageThe Autosar village

The Coq village

Copyright © 2010 AtlanMod. All Rights Reserved

etc.

Forum TER@TEC, 16 juin 2010

Page 52: Model Driven Engineering (MDE)Engineering (MDE) and Domain ... · pour la production, l’évolution et l’exécution de sytèmes logiciels) Grands Eclipse ... W b/XML/SOAP SVG GML

Tool Interoperability is Language/Data Integration

► E l f l► Examples of tools :► RequisitePro

► Reqtify

► BugzillaMMx MMy

► Bugzilla

► Mantis

► Matlab

► Simulink

► Excel

► Modelica

► MakeTool X Tool Y

► Ant

► Maven

► etc.

► Class level reusability vs Application► Class level reusability vs. Application Level reusability► A reservoir of economies

AMMA

ATL AMW AM3 ATP

Copyright © 2010 AtlanMod. All Rights Reserved Forum TER@TEC, 16 juin 2010

Page 53: Model Driven Engineering (MDE)Engineering (MDE) and Domain ... · pour la production, l’évolution et l’exécution de sytèmes logiciels) Grands Eclipse ... W b/XML/SOAP SVG GML

Language interoperability at work

Credit to Marco Didonet del Fabro,IBM/ILOG

Copyright © 2010 AtlanMod. All Rights Reserved

IBM/ILOG

Forum TER@TEC, 16 juin 2010

Page 54: Model Driven Engineering (MDE)Engineering (MDE) and Domain ... · pour la production, l’évolution et l’exécution de sytèmes logiciels) Grands Eclipse ... W b/XML/SOAP SVG GML

Bugzilla <‐> Mantis

approximate correspondenceunmatched features

exact correspondence

approximate correspondence

Bugzilla Mantis

Copyright © 2010 AtlanMod. All Rights Reserved Forum TER@TEC, 16 juin 2010

Page 55: Model Driven Engineering (MDE)Engineering (MDE) and Domain ... · pour la production, l’évolution et l’exécution de sytèmes logiciels) Grands Eclipse ... W b/XML/SOAP SVG GML

Bugzilla metamodel (simplified)

Copyright © 2010 AtlanMod. All Rights Reserved Forum TER@TEC, 16 juin 2010

Page 56: Model Driven Engineering (MDE)Engineering (MDE) and Domain ... · pour la production, l’évolution et l’exécution de sytèmes logiciels) Grands Eclipse ... W b/XML/SOAP SVG GML

Mantis metamodel (simplified)

Copyright © 2010 AtlanMod. All Rights Reserved Forum TER@TEC, 16 juin 2010

Page 57: Model Driven Engineering (MDE)Engineering (MDE) and Domain ... · pour la production, l’évolution et l’exécution de sytèmes logiciels) Grands Eclipse ... W b/XML/SOAP SVG GML

Example: Bug Tracking Tools

Copyright © 2010 AtlanMod. All Rights Reserved Forum TER@TEC, 16 juin 2010

Page 58: Model Driven Engineering (MDE)Engineering (MDE) and Domain ... · pour la production, l’évolution et l’exécution de sytèmes logiciels) Grands Eclipse ... W b/XML/SOAP SVG GML

Bug control metamodel (pivot)

ControlsSequence ControlControlsSequence-responsible[1] : String-component[1] : String-developmentPhase[1] : String-scope[1] : String-controlledElt[0..1] : String-eltRef[0..1] : StringeltAuthor[0 1] : String

Control

-day[1] : Integer-month[1] : Integer-year[1] : Integer

Date

-controls

* -date

1-eltAuthor[0..1] : String-formRef[0..1] : StringControlType

-type

1

BugTracking

-bugs*Several other types of control could be

-number[1] : Integer-componentVersion[1] : String-description[1] : String-status[1] : BugStatusType

Bug

bugsypadded by creating new classes that inherit of the abstract class "ControlType"...

[ ] g yp-originator[1] : String-responsible[0..1] : String-commentsAnswers[0..1] : String-openDate[1] : String-closeDate[0..1] : String

Copyright © 2010 AtlanMod. All Rights Reserved Forum TER@TEC, 16 juin 2010

Page 59: Model Driven Engineering (MDE)Engineering (MDE) and Domain ... · pour la production, l’évolution et l’exécution de sytèmes logiciels) Grands Eclipse ... W b/XML/SOAP SVG GML

Another example: Tool Evolution

MM i th

AUTOSAR 2.0 AUTOSAR 2.1

MMa MMbMMa is thesourcemetamodel

MMB is thetargetmetamodel

c2 c2MMa2MMb

Ma is the source model Mb is the target model

Ma Mb

AUTOSAR 2.0 Software Artefacts AUTOSAR 2.1 Software Artefacts

AUTOSAR 2.0 AUTOSAR 2.1

http://www.eclipse.org/gmt/amw/usecases/

CLASSES 700 1020

ATTRIBUTES 2262 3254

REFERENCES 1607 2086

Copyright © 2010 AtlanMod. All Rights Reserved

REFERENCES 1607 2086

Forum TER@TEC, 16 juin 2010

Page 60: Model Driven Engineering (MDE)Engineering (MDE) and Domain ... · pour la production, l’évolution et l’exécution de sytèmes logiciels) Grands Eclipse ... W b/XML/SOAP SVG GML

Schedule

1 Introduction1. Introduction

2. What is "Model Driven Engineering" (MDE)

3. The OMG vs. the Eclipse community and process

4. Zooms on AESIG and Tool cartography

5. Conclusions

Copyright © 2010 AtlanMod. All Rights Reserved 60 Forum TER@TEC, 16 juin 2010

Page 61: Model Driven Engineering (MDE)Engineering (MDE) and Domain ... · pour la production, l’évolution et l’exécution de sytèmes logiciels) Grands Eclipse ... W b/XML/SOAP SVG GML

Conclusions: Some Facts, Artifacts & Counter facts

► MDE is not about UML, is not about visual programming► MDE is about defining domain languages, writing domain code, generating 

platform code, and applying this to many different situations► In MDE, a model is written in a given language (DSL); The abstract syntax of a g g g ( ) y

DSL is provided by a metamodel► Most models are not executable, but they are always precise (cf. Ch. 

Simonyi)y )► Models are not always produced by humans► Models are not always models of the code, but also models of the data, etc.► Th t ti di i li f ti t b d l ll t► The systematic discipline of representing systems by models allows to move 

from an heterogeneous to an homogeneous operational vision of the world► Models may be transformed; Model transformation is the central  operation 

i d l i iin model engineering

Copyright © 2010 AtlanMod. All Rights Reserved Forum TER@TEC, 16 juin 2010

Page 62: Model Driven Engineering (MDE)Engineering (MDE) and Domain ... · pour la production, l’évolution et l’exécution de sytèmes logiciels) Grands Eclipse ... W b/XML/SOAP SVG GML

Conclusions: Key messages

►Models as first class entities: the new unification/integrationgparadigm

►Models of the hardware, of the software, of the architecture, of the code, of the legacy, of the assets portfolio, of the data, of the process, of the business, of the IT, etc.►M d l f h b i ( bj l )►Models of the business (objects, rules, process, events)

► Internalization (business model reappropriation)

►Business driven IT construction►Business driven IT construction

►Semantic maps of engineering tools available in a given context(behind each tool there is a metamodel hiding)(behind each tool there is a metamodel hiding)

Copyright © 2010 AtlanMod. All Rights Reserved 16/06/2010 62Forum TER@TEC, 16 juin 2010

Page 63: Model Driven Engineering (MDE)Engineering (MDE) and Domain ... · pour la production, l’évolution et l’exécution de sytèmes logiciels) Grands Eclipse ... W b/XML/SOAP SVG GML

Thanks

► Questions?► Comments?► Comments?

www.emn.fr/x‐info/atlanmod/

Jean Bé[email protected]

AtlanMod, INRIA & EMN, Nantes, France

Copyright © 2010 AtlanMod. All Rights Reserved Forum TER@TEC, 16 juin 2010