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
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
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
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
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
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
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
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
Modeling at large
• Production• Evolution• Operation
Copyright © 2010 AtlanMod. All Rights Reserved
Operation
Forum TER@TEC, 16 juin 2010
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
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
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
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
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
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
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
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
Classification/Unification
Copyright © 2010 AtlanMod. All Rights Reserved Forum TER@TEC, 16 juin 2010
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
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
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
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
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
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
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
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
KM3 as a pivot: a neutral metametamodel
Copyright © 2010 AtlanMod. All Rights Reserved Forum TER@TEC, 16 juin 2010
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
ATL: a model‐to‐model “HelloWorld” transformation
Copyright © 2010 AtlanMod. All Rights Reserved Forum TER@TEC, 16 juin 2010
30
Example: UML2Java
Copyright © 2010 AtlanMod. All Rights Reserved
UML Metamodel Java MetamodelForum TER@TEC, 16 juin 2010
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
32
Java and Table Metamodels
Copyright © 2010 AtlanMod. All Rights Reserved Forum TER@TEC, 16 juin 2010
From UML activity diagrams to MS Project
Copyright © 2010 AtlanMod. All Rights Reserved 33 Forum TER@TEC, 16 juin 2010
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
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
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
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
Megamodel: the principle
Metamodel
MMComplexS
SrepOf
M
MM
c2System
Copyright © 2010 AtlanMod. All Rights Reserved
repOf
Forum TER@TEC, 16 juin 2010
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
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
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
ZOOM ON AESIG AT OMG
Copyright © 2010 AtlanMod. All Rights Reserved Forum TER@TEC, 16 juin 2010
Multiple normative «silos»
Copyright © 2010 AtlanMod. All Rights Reserved 16/06/2010 43Forum TER@TEC, 16 juin 2010
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
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
Narrow vs. Whole System Perspective
Credit AESIG
Copyright © 2010 AtlanMod. All Rights Reserved Forum TER@TEC, 16 juin 2010
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
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
ZOOM ON TOOL INTEROPERABILITY
Copyright © 2010 AtlanMod. All Rights Reserved Forum TER@TEC, 16 juin 2010
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
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
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
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
Bugzilla <‐> Mantis
approximate correspondenceunmatched features
exact correspondence
approximate correspondence
Bugzilla Mantis
Copyright © 2010 AtlanMod. All Rights Reserved Forum TER@TEC, 16 juin 2010
Bugzilla metamodel (simplified)
Copyright © 2010 AtlanMod. All Rights Reserved Forum TER@TEC, 16 juin 2010
Mantis metamodel (simplified)
Copyright © 2010 AtlanMod. All Rights Reserved Forum TER@TEC, 16 juin 2010
Example: Bug Tracking Tools
Copyright © 2010 AtlanMod. All Rights Reserved Forum TER@TEC, 16 juin 2010
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
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
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
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
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
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