Putting MDA to Work on Eclipse with the AMMA Tool Suite...

61

Transcript of Putting MDA to Work on Eclipse with the AMMA Tool Suite...

Putting MDA to Work on Eclipsewith the AMMA Tool Suite

Mikaël BarberoATLAS group, INRIA & LINA, France

Frederic JouaultUniversity of Alabama at Birmingham, CIS

1

© 2007 ATLAS NantesUAB

Putting MDA to Work on Eclipse Putting MDA to Work on Eclipse with the AMMA Tool Suitewith the AMMA Tool Suite

MODELS 2007MODELS 2007

Mikaël Barbero1

Frederic Jouault1,2

1 ATLAS group, INRIA & LINA, France2 University of Alabama at Birmingham, CIS

Putting MDA to Work on Eclipse with the AMMA Tool Suite

- 1 - © 2007 ATLAS NantesUAB

Schedule

1. Model Driven Engineering

2. The OMG vs. the Eclipse community and process

3. Presentation of some components of EMP (Eclipse

Modeling Project)

4. The philosophy behind AMMA

5. Conclusions

2

Putting MDA to Work on Eclipse with the AMMA Tool Suite

- 2 - © 2007 ATLAS NantesUAB

Schedule

1. Model Driven Engineering

2. The OMG process vs. the Eclipse process

3. Presentation of some components of EMP

(Eclipse Modeling Project)

4. Conclusions

Putting MDA to Work on Eclipse with the AMMA Tool Suite

- 3 - © 2007 ATLAS NantesUAB

MDA™: OMG's new vision

"OMG is in the ideal position to provide the model-based standards that are necessary to extend integration beyond the middleware approach… Now is the time to put this plan into effect. Now is the time for the Model Driven Architecture."

Richard Soley and the OMG staff, MDA Whitepaper Draft 3.2

November 27, 2000

3

Putting MDA to Work on Eclipse with the AMMA Tool Suite

- 4 - © 2007 ATLAS NantesUAB

L’ingénierie des modèles : origines

Putting MDA to Work on Eclipse with the AMMA Tool Suite

- 5 - © 2007 ATLAS NantesUAB

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

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

Applicant

+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

+AppStatus()+AppStatusInfo()

-statusCode : char-statusName : CString

AppStatus

+CourseRegistration()+CourseRegistrationInfo()

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

CourseRegistration

+Test()+TestInfo()

-testScore : unsigned longTest

+Application()+ApplicationInfo()

-productNr : unsigned long-certificationLevel : unsigned long-applicationDate : unsigned long

Application

+PermittedStatusChange()+StatusChangeInfo()

-fromStatus : char-toStatus : char

PermittedStatusChange

+ExamSession ()+ExamSessionInfo()

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

ExamSession

-gives0..* -is achieved1

-is made by

1

-makes

0..*

-allows change in

0..*

-has a

1..*

-is taken by1-takes0..*-is made by a1-made a1..*

-is in1

-is filled by0..*

-uses

1

-is used in

0..*

-applies to a0..*-is for a

1 +Exam()+ExamInfo()

-examID : unsigned long-certificationLevel : unsigned long

Exam

+Employee()+GetCurrentAge()+EmployeeInfo()

-jobType : CString-roomNr : unsigned long-department : CString-division : CString-jobTitle : CString-manager : unsigned long-headsDept : CString-headsDivision : CString-mobileNr : CString-birthDate : unsigned long

Employee

+registrationform()

RegistrationForm

-uses**

ApplicantApplicantList PersonList

findApplicant()

ApplicationRegForm

Applicant()

findPerson()

addPerson()

addApplication()

Application()

MakeApplication()

ApplicationList

Class Diagram

Sequence Diagram

JavaCode

XMI XMI

Central place of transformation.

4

Putting MDA to Work on Eclipse with the AMMA Tool Suite

- 6 - © 2007 ATLAS NantesUAB

Acronyms / Definitions• MDE Model Driven Engineering• ME Model Engineering• Model Based Data Engineering• MDA Model Driven Architecture• MDD Model Driven Development• MDSD Model Driven Software

Development• MDSE Model Driven Software

Engineering• MBD Model Based Development• MM Model Management• ADM Architecture Driven

Modernization• DSL Domain Specific Language• DSM Domain Specific Modeling• etc.

• MDE is a generic term; • ME and MDSE more or less synonyms of

MDE • MDA™ and MDD™ are OMG trademarks;

MDD is a protection trademark (no use as of today/just reserved by OMG for future use)

• MDSD, MBD like MDE are sometimes used instead of MDD when one does not wish to be associated to OMG-only technology, vocabulary and vision.

• ADM is another standard intended to be the reverse of MDA: MDA covering forward engineering while ADM covers backward engineering.

• MM mainly used in data engineering like MBDE

• DSM is more Microsoft marked but of increasing use by the academic and research community

Putting MDA to Work on Eclipse with the AMMA Tool Suite

- 7 - © 2007 ATLAS NantesUAB

Influencing parties (some)

Normalizationorganizations

OMG, W3C

MDEdefinition

Largecompanies

MS, IBM& consultants

End usercompanies

Airbus, Boeing, Ericcson

CASE Toolvendors

Open sourcegroups

Eclipse

Researchconferences

MODELS, ECMDA, ACM/SAC,ECOOP, TOOLS, ICSE,

ETAPS, MOMPES

Internationalprojects

ModelWare, ModelPlex

5

Putting MDA to Work on Eclipse with the AMMA Tool Suite

- 8 - © 2007 ATLAS NantesUAB

IBM MDA manifesto:Three complementary ideas

1. Direct representation 2. Automation 3. Standards

Putting MDA to Work on Eclipse with the AMMA Tool Suite

- 9 - © 2007 ATLAS NantesUAB

A definition of MDAOMG/ORMSC/2004-06-01 (The OMG MDA Guide): A Definition of MDA (The

following was approved unanimously at the ORMSC plenary session, meeting in Montreal on 23 August 26, 2004. The stated purpose of these two paragraphs was to provide principles to be followed in the revision of the MDA Guide.)

• MDA is an OMG initiative that proposes to define a set of non-proprietary standards that will specify interoperable technologies with which to realize model-driven development with automated transformations.

• MDA does not necessarily rely on the UML, but, as a specialized kind of MDD (Model Driven Development), MDA necessarily involves the use of model(s) in development, which entails that at least one modeling language must be used.

• Any modeling language used in MDA must be described in terms of the MOF language, to enable the metadata to be understood in a standard manner, which is a precondition for any ability to perform automated transformations.

6

Putting MDA to Work on Eclipse with the AMMA Tool Suite

- 10 - © 2007 ATLAS NantesUAB

Overview of Model-Driven Engineering (MDE)

Model-Driven Engineering (MDE)

EclipseEMP GME

MicrosoftVisual StudioTeam systemDSL Tools

MDA™Model-DrivenArchitecture

(OMG)

MIC Model

IntegratedComputing

SoftwareFactories

(Microsoft)Other

Standards

OtherTools

Principles

Standards

Tools

Putting MDA to Work on Eclipse with the AMMA Tool Suite

- 11 - © 2007 ATLAS NantesUAB

The OMG metamodeling stack

metamodel

model

"the real world"

metametamodel

M1

M2

M3

M0

7

Putting MDA to Work on Eclipse with the AMMA Tool Suite

- 12 - © 2007 ATLAS NantesUAB

Percentageof termite infestation

in France.

The System

Models

France in 1453 The cheesefrench map

Railroad mapin western

France

ModelrepOfSystem

Putting MDA to Work on Eclipse with the AMMA Tool Suite

- 13 - © 2007 ATLAS NantesUAB

Interpretation

the UML MetaModel

Class Attribute*1

a UML Model

Client

Name : String

M2

M1

the MOF

Class Association

source

destination

M3

c2

c2

c2

μμ μ

μ

μ μ

μ

μ

8

Putting MDA to Work on Eclipse with the AMMA Tool Suite

- 14 - © 2007 ATLAS NantesUAB

Each model conforms to its reference model

Putting MDA to Work on Eclipse with the AMMA Tool Suite

- 15 - © 2007 ATLAS NantesUAB

Structural definition of a model• Definition 1. A directed multigraph G = (NG, EG, ΓG) consists of a

set of distinct nodes NG, a set of edges EG and a mapping function ΓG: : EG→ NG x NG

• Definition 2. A model M = (G, ω, μ) is a triple where:• G = (NG, EG, ΓG) is a directed multigraph• ω is itself a model, called the reference model of M, associated

to a graph Gω = (Nω, Eω, Γω)• μ: NG ∪ EG → Nω is a function associating elements (nodes and

edges) of G to nodes of Gω (metaElements)

9

Putting MDA to Work on Eclipse with the AMMA Tool Suite

- 16 - © 2007 ATLAS NantesUAB

Three main kind of models

Putting MDA to Work on Eclipse with the AMMA Tool Suite

- 17 - © 2007 ATLAS NantesUAB

Additional definitions

• Definition 3. A metametamodel is a model that is its own reference model (i.e. it conforms to itself).

• Definition 4. A metamodel is a model such that its reference model is a metametamodel.

• Definition 5. A terminal model is a model such that its reference model is a metamodel.

10

Putting MDA to Work on Eclipse with the AMMA Tool Suite

- 18 - © 2007 ATLAS NantesUAB

repOf

representation of

System S Terminalmodel M

Putting MDA to Work on Eclipse with the AMMA Tool Suite

- 19 - © 2007 ATLAS NantesUAB

The big picture

origin

0..*

conformsTo (c2)

1

0..*

0..*

11

Putting MDA to Work on Eclipse with the AMMA Tool Suite

- 20 - © 2007 ATLAS NantesUAB

The central role of metamodels

repOfrepresentation of

system S terminalmodel M

metamodelMM

c2

Putting MDA to Work on Eclipse with the AMMA Tool Suite

- 21 - © 2007 ATLAS NantesUAB

The metametamodel defines the "technical space"

repOf

representation of

system S terminalmodel M

metamodelMM

c2

c2

metametamodelMMM

c2

MOF 1.4 … MOF 2.0 … ECORE … DSL.Tools …. KM3EMOF 2.0 … CMOF 2.0 … SMOF 2.0 …SMD/Turku…

12

Putting MDA to Work on Eclipse with the AMMA Tool Suite

- 22 - © 2007 ATLAS NantesUAB

Three basic concepts

Technical Space

System ModelrepOf

System: a group of interacting, interrelated, or interdependent elements forming a complex whole.

Model: an abstract representation of a system created for a specific purpose.

Technical Space (TS): a model management framework usually based on some algebraic structures (trees, graphs, hypergraphs, etc.).

MetaMetaModel

Putting MDA to Work on Eclipse with the AMMA Tool Suite

- 23 - © 2007 ATLAS NantesUAB

XML Technical Space

13

Putting MDA to Work on Eclipse with the AMMA Tool Suite

- 24 - © 2007 ATLAS NantesUAB

EBNF Technical Space

Putting MDA to Work on Eclipse with the AMMA Tool Suite

- 25 - © 2007 ATLAS NantesUAB

RDF Technical Space

14

Putting MDA to Work on Eclipse with the AMMA Tool Suite

- 26 - © 2007 ATLAS NantesUAB

OMG proposal for an MDA Foundation Model

• “MDA is an approach to system development…[that]… provides a means for using models to direct the course of understanding, design, construction, deployment, operation, maintenance and modification.” [MDA Guide omg/03-06-01]

• At the core of MDA are the concepts of models, of metamodels defining the abstract languages in which the models are captured, and of transformations that take one or more models and produce one or more other models from them. Figure 1 shows the relationships between these major concepts.

Putting MDA to Work on Eclipse with the AMMA Tool Suite

- 27 - © 2007 ATLAS NantesUAB

Homogeneous view• Everything is a model

• A λ-model• λ meaning the specific TS• An XML document is an XML-model • A Java source program is a Java-model• An UML model is a MDA-model • etc.

• Each TS is rooted in a metametamodel defining its representation scheme (representation ontology)

• Each is supposed to be organized in a 3-level architecture.• Distinguish between intra-space and inter-space transformations

15

Putting MDA to Work on Eclipse with the AMMA Tool Suite

- 28 - © 2007 ATLAS NantesUAB

Schedule

1. Model Driven Engineering

2. The OMG process vs. the Eclipse process

3. Presentation of some components of EMP

(Eclipse Modeling Project)

4. Conclusions

Putting MDA to Work on Eclipse with the AMMA Tool Suite

- 29 - © 2007 ATLAS NantesUAB

EMP: an Eclipse Top-level projectwith high momentum

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

16

Putting MDA to Work on Eclipse with the AMMA Tool Suite

- 30 - © 2007 ATLAS NantesUAB

The OMG ProcessOMG™ is an international, open membership, not-for-profit computer industry consortium. OMG Task Forces develop enterprise integration standards for a wide range of technologies, and an even wider range of industries. OMG’smodeling standards enable powerful visual design, execution and maintenance of software and other processes. OMG’smiddleware standards and profiles are based on the Common Object Request Broker Architecture (CORBA®) and support a wide variety of industries.

Our membership includes hundreds of organizations, with half being software end-users in over two dozen vertical markets, and the other half representing virtually every large organization in the computer industry and many smaller ones. Task Force

RFI RFP AB Review (Architecture Board)

Evaluation

Final AB Review

Board Approval

DTC or PTC Recommendation

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

Putting MDA to Work on Eclipse with the AMMA Tool Suite

- 31 - © 2007 ATLAS NantesUAB

The Eclipse process• Eclipse - an open development platform

Eclipse is an open source community whose projects are focused on building an open development platform comprised of extensible frameworks, tools and runtimes for building, deploying and managing software across the lifecycle. A large and vibrant ecosystem of major technology vendors, innovative start-ups, universities, research institutions and individuals extend, complement and support the Eclipse platform.

17

Putting MDA to Work on Eclipse with the AMMA Tool Suite

- 32 - © 2007 ATLAS NantesUAB

http://adtf.omg.org/Analysis and Design Platform Task Force

• To enable developers to better understand how to develop applications, including large-scale distributed systems.

• To recommend architectures and technologies related to modeling and metamodeling to enable interchangeability of work products and interoperability of tools and repositories.

• To promote standard modeling techniques that increase rigor and consistency of specifications.

• To leverage and interoperate with other OMG specifications. • To liaise with related organizations with common goals.

Putting MDA to Work on Eclipse with the AMMA Tool Suite

- 33 - © 2007 ATLAS NantesUAB

Some OMG recommendations• UML 2.1.1, The Current Official Version• UML Profiles and Related Specifications:

• UML Profiles tailor the language to specific areas - some for business modeling; others for particular technologies.• Object Constraint Language (OCL 2.0) Specifies the Object Constraint Language (OCL), a formal

language used to describe expressions on UML models. These expressions typically specify invariant conditions that must hold for the system being modeled or queries over objects described in a model. Note that when the OCL expressions are evaluated, they do not have side effects (i.e., their evaluation cannot alter the state of the corresponding executing system).

• Ontology Definition Metamodel (ODM) ODM is applicable to knowledge representation, conceptual modeling, formal taxonomy development and ontology definition, and enables the use of a variety of enterprise models as starting points for ontology development through mappings to UML and MOF.

• Software Process Engineering Metamodel (SPEM 1.1) This metamodel is used to describe a concrete software development process or a family of related software development processes. Process enactment is outside the scope of SPEM, although some examples of enactment are included for explanatory purposes.

• UML Diagram Interchange (UML DI 1.1) This specification enables a smooth and seamless exchange of documents compliant to the UML standard (referred to as UML models) between different software tools.

• UML Human-Usable Textual Notation (HUTN) HUTN offers three main benefits. (1.) It is a generic specification that can provide a concrete HUTN language for any MOF model; (2.) The HUTN languages can be fully automated for both production and parsing; and (3.) The HUTN languages are designed to conform to human-usability criteria.

18

Putting MDA to Work on Eclipse with the AMMA Tool Suite

- 34 - © 2007 ATLAS NantesUAB

Some OMG recommendations• MOF Models to Text Transformation Language This specification addresses how to

translate a model to various text artifacts such as code, deployment specifications, reports, documents, etc. Essentially, it addresses how to transform a model into a linearized text representation using a template based approach wherein the text to be generated from models is specified as a set of text templates that are parameterized with model elements.

• MOF™ Query / Views / Transformations This specification is one of a series related to developing the 2.0 revision of the OMG Meta Object Facility specification, referred to as MOF 2.0. This specification addresses a technology neutral part of MOF and pertains to: 1.) queries on models; 2.) views on metamodels; and 3.) transformations of models.

• XML Metadata Interchange (XMI 2.1) XMI is a model driven XML Integration framework for defining, interchanging, manipulating and integrating XML data and objects. XMI-based standards are in use for integrating tools, repositories, applications and data warehouses. XMI provides rules by which a schema can be generated for any valid XMI-transmissible MOF-based metamodel. XMI provides a mapping from MOF to XML. As MOF and XML technology evolved, the XMI mapping is being updated to comply with the latest versions of these specifications. Updates to the XMI mapping have tracked these version changes in a manner consistent with the existing XMI Production of XML Schema specification (XMI Version 2).

Putting MDA to Work on Eclipse with the AMMA Tool Suite

- 35 - © 2007 ATLAS NantesUAB

http://adm.omg.org/Architecture Driven Modernization

Our Mission StatementCreate specifications and promote industry consensus on

modernization of existing applications. What are Existing Applications?

Existing application systems are defined as any production-enabled software, regardless of the platform it runs on, language it is written in, or length of time it has been in production. Existing application has entered the maintenance and evolution mode.

Our GoalsThe ultimate goal - Revitalization of Existing Applications Make existing applications more agile Leverage existing OMG modeling standards and the MDA initiative Consolidate best practices leading to successful modernization

19

Putting MDA to Work on Eclipse with the AMMA Tool Suite

- 36 - © 2007 ATLAS NantesUAB

OMG vs. Eclipse

• EMP is a rapidly moving Eclipse project,

• partially aligned on OMG standards,

• with different goals,• etc.

See "Eclipse Modeling Project and OMG standards" by Richard Gronback, Borland Software Corporation.Eclipse Europe, Modeling symposium, Esslingen, Germany, 2007.

Putting MDA to Work on Eclipse with the AMMA Tool Suite

- 37 - © 2007 ATLAS NantesUAB

Schedule

1. Model Driven Engineering

2. The OMG process vs. the Eclipse process

3. Presentation of some components of EMP

(Eclipse Modeling Project)

4. Conclusions

20

Putting MDA to Work on Eclipse with the AMMA Tool Suite

- 38 - © 2007 ATLAS NantesUAB

EMP

• EMP is a "technical space"organized on the ECORE metametamodel.

Putting MDA to Work on Eclipse with the AMMA Tool Suite

- 39 - © 2007 ATLAS NantesUAB

Eclipse Modeling Project

The Eclipse Modeling Project focuses on the evolution and promotion of model-based development technologies within the Eclipse community by providing a unified set of modeling frameworks, tooling, and standards implementations.1. Abstract Syntax Development2. Concrete Syntax Development3. Model Transformation4. Model Integration5. Technology and Research

21

Putting MDA to Work on Eclipse with the AMMA Tool Suite

- 40 - © 2007 ATLAS NantesUAB

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.

Putting MDA to Work on Eclipse with the AMMA Tool Suite

- 41 - © 2007 ATLAS NantesUAB

Concrete Syntax Development

• Graphical Modeling Framework (GMF) : provides a generative component and runtime infrastructure for developing graphical editors based on EMF and GEF.

• Textual Modeling Framework (TMF) : awaiting proposal.

Abstract MM Concrete visualMM

Abstract MM GrammarTCS

GMF

22

Putting MDA to Work on Eclipse with the AMMA Tool Suite

- 42 - © 2007 ATLAS NantesUAB

Model Development Tools• EMF Ontology Definition Metamodel (EODM) : an implementation of

RDF(S)/OWL metamodels of the Ontology Definition Metamodel (ODM)using EMF with additional parsing, inference, model transformation and editing functions.

• Object Constraint Language (OCL) : defines APIs for OCL expression syntax for implementing queries and contraints.

• Unified Modeling Language 2.x (UML2) : an EMF-based implementation of the UML 2.x metamodel for the Eclipse platform.

• UML2 Tools : a set of GMF-based editors for viewing and editing UML models.

• XML Schema Infoset Model (XSD) : a reference library that provides an API for use with any code that examines, creates or modifies W3C XML Schema.

Putting MDA to Work on Eclipse with the AMMA Tool Suite

- 43 - © 2007 ATLAS NantesUAB

Model Transformation & Integration• Model to Model Transformation (M2M) : will deliver an extensible

framework for model-to-model transformation languages, with an exemplary implementation of the QVT Core language. • Atlas Transformation Language (ATL) : a model transformation language and

toolkit. • Model to Text Transformation (M2T) : focuses on technologies for

transforming models into text (typically language source code and the resources it consumes) • Java Emitter Templates (JET) : provides code generation framework &

facilities that are used by EMF. • JET Editor : leverages Eclipse text editor framework to provide this

capability via features like syntax coloring, error highlighting and code completion.

• Model Driven Development integration (MDDi) : produces an extensible framework and exemplary tools dedicated to integration of modeling tools in Eclipse.

23

Putting MDA to Work on Eclipse with the AMMA Tool Suite

- 44 - © 2007 ATLAS NantesUAB

Technology and Research• Generative Modeling Technologies (GMT) : research incubator project focused on producing prototypes in

the area of Model Driven Engineering (MDE). • Atlas MegaModel Management (AM3) : the goal is to provide a practical support for modeling in the large. The objective is

to deal with global resource management in a model-engineering environment. We base this activity on the concept of a "megamodel".

• Atlas Model Weaver (AMW) : a tool for representing correspondences between models. The correspondences are stored in a model, called weaving model. It is created conforming to a weaving metamodel.

• MOFScript : aims at developing tools and frameworks for supporting model to text transformations, e.g., to support generation of implementation code or documentation from models.

• openArchitecture Ware (oAW) : a suite of tools and components assisting with model driven software development built upon a modular MDA/MDD generator framework implemented in Java(TM) supporting arbitrary import (design) formats, meta models, and output (code) formats.

• UMLX : concrete graphical syntax to complement the OMG QVT model transformation language. • VIATRA2 : aims to provide a general-purpose support for the entire life-cycle of engineering model transformations

including the specification, design, execution, validation and maintenance of transformations within and between various modeling languages and domains.

• Epsilon : a metamodel-agnostic component for supporting model navigation, creation, and modification operations. • GEMS : aims to bridge the gap between the communities experienced with visual metamodeling tools, such as the Generic

Modeling Environment (GME), and those built around the Eclipse modeling technologies, such as the Eclipse Modeling Framework (EMF) and Graphical Modeling Framework (GMF).

• MoDisco : an Eclipse GMT component for model-driven reverse engineering. The objective is to allow practical extractions of models from legacy systems. As a GMT component, MoDisco will make good use of other GMT components or solutions available in the Eclipse Modeling Project (EMF, M2M, GMF, TMF, etc), and more generally of any plugin available in the Eclipse environment.

Putting MDA to Work on Eclipse with the AMMA Tool Suite

- 45 - © 2007 ATLAS NantesUAB

GMT• The goal of the Generative Modeling

Technologies (GMT) project is to produce a set of research prototypes in the area of Model Driven Engineering (MDE). GMT is the official research incubator project of the top-level Eclipse Modeling Project.

• Example: UMLX language UMLX is a concrete graphical syntax to complement the OMG QVTmodel transformation language. UMLX will conform to at least one of the QVT Export/XMI-Export Core/Relations conformance points, so that UMLX originated transformations can be used in any QVT execution environment. Much of UMLX corresponds closely to QVT relational, so the first releases will subset UMLX towards the shared capabilities.

• Example: GEMS The goal of the Generic Eclipse Modeling System (GEMS) is to bridge the gap between the communities experienced with visual metamodeling tools, such as the Generic Modeling Environment (GME), and those built around the Eclipse modeling technologies, such as the Eclipse Modeling Framework (EMF) and Graphical Modeling Framework (GMF). GEMS is being developed by the Distributed Object Computing (DOC) Group at Vanderbilt University’s Institute for Software Integrated Systems (ISIS) and other collaborators, such as Siemens Corporate Technology.

24

Putting MDA to Work on Eclipse with the AMMA Tool Suite

- 46 - © 2007 ATLAS NantesUAB

GMT a research incubator inside EMPEclipse

EMP

EMF

GMF

GMTM2M

M2T

GMT

AM3

AMW

Epsilon

GEMS MoDisco MOFScript

UMLx

oAW

OMCW

VIATRA2

Tiger TCS etc.

Putting MDA to Work on Eclipse with the AMMA Tool Suite

- 47 - © 2007 ATLAS NantesUAB

Open Model CourseWare (OMCW)

• Open Model CourseWare (OMCW) aims to provide a set of teaching and learning artifacts to the modeling community. The Model-Driven Engineering (MDE) approach suggests using transformational and generative techniques to produce running systems from very abstract models. MDE is still in its infancy and will probably much evolve in the coming years: as a consequence, the approach has yet to be made popular. This is why it is interesting to provide several levels of access to the corresponding courseware. Following the model courseware that was initially contributed to the ECESIS project, the teaching material intended to be made available in OMCW will address several different maturity levels and several needs for understanding the advantages, characteristics, and applicability conditions of MDE.

• The creation and the launch of the Open Model CourseWare component has been realized in the context of the IST European MODELPLEX project (MODELingsolution for comPLEX software systems, FP6-IP 34081).

25

Putting MDA to Work on Eclipse with the AMMA Tool Suite

- 48 - © 2007 ATLAS NantesUAB

AM3• The goal of AM3 (ATLAS MegaModel Management) is

to provide a practical support for modeling in the large. The objective is to deal with global resource management in a model-engineering environment. We base this activity on the concept of a "megamodel" i.e.a model which elements represents models.

• One important part of AM3 is a large structuredlibrary of metamodels (see later)

• These metamodels are expressed in various languages.• KM3 is the pivot (Kernel Meta Meta Model)

Putting MDA to Work on Eclipse with the AMMA Tool Suite

- 49 - © 2007 ATLAS NantesUAB

KM3 is a metamodel for specifying metamodels

• KM3 is a metamodel for specifying metamodels a metametamodel:

• Similar to MOF and Ecore• Relatively simple (i.e. 12 concepts where Ecore has 18 and MOF1.4 28)• With a simple textual (concrete) syntax (similar to Emfatic)• With a formalized definition

• Core concepts:• Class used for typing models nodes• Reference used for typing models edges

• KM3 is based upon our definitions of model, terminal model, metamodel and metametamodel

26

Putting MDA to Work on Eclipse with the AMMA Tool Suite

- 50 - © 2007 ATLAS NantesUAB

KM3: a metamodel specification DSL

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

Putting MDA to Work on Eclipse with the AMMA Tool Suite

- 51 - © 2007 ATLAS NantesUAB

KM3 as a pivot: a neutral metametamodel

27

Putting MDA to Work on Eclipse with the AMMA Tool Suite

- 52 - © 2007 ATLAS NantesUAB

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 {attribute content : String ;

}

class Root extends Element {}-- @end XML_Metamodel

}

XML metamodel(graphical syntax)

Putting MDA to Work on Eclipse with the AMMA Tool Suite

- 53 - © 2007 ATLAS NantesUAB

Model-to-Model transformation DSLs• Each model conforms to a

metamodel.• A transformation builds a

target model (Mb) from a source model (Ma).

• A transformation is a model (Mt) conforming to a metamodel (MMt).

MOF

MMa MMb

Ma MbMt

QVT

conformsTo

transformation

28

Putting MDA to Work on Eclipse with the AMMA Tool Suite

- 54 - © 2007 ATLAS NantesUAB

Model Transformation with ATL(ATLAS Transformation Language)

(moved from GMT to M2M)

conformsTo

transformation

MOF

MMa MMb

Ma Mbmma2mmb.atl

ATL

Putting MDA to Work on Eclipse with the AMMA Tool Suite

- 55 - © 2007 ATLAS NantesUAB

ATLAS NantesBorlandObeo

29

Putting MDA to Work on Eclipse with the AMMA Tool Suite

- 56 - © 2007 ATLAS NantesUAB

ATL overview• Source and target models are distinct:

• Source models are read-only (i.e. they can be navigated but not modified)• Target models are write-only (i.e. they cannot be navigated)

Simplified execution semantic, result independent from the rules execution’s order

• The language is hybrid between declarative and imperative• Declarative parts:

• Declarative rules with traceability automatic support• Navigation (and requesting) language without side effects: OCL 2.0

• Imperative parts:• Imperative rules (called like procedures)• Imperative blocks: sequences of instructions

• Recommended style: declarative

Putting MDA to Work on Eclipse with the AMMA Tool Suite

- 57 - © 2007 ATLAS NantesUAB

Model Transformation with ATL

G 2 PRule

R 2 BRule

Ma Mb

MMaGreenNode

RedNode

MMbBlueNode

PinkNode

Metametamodel

NodeNode

ATLRuleNode

MMa2MMb.atl

conformsTo conformsTo

conformsTo conformsTo

conformsTo

30

Putting MDA to Work on Eclipse with the AMMA Tool Suite

- 58 - © 2007 ATLAS NantesUAB

ATL: a model-to-model transformation DSL

Code sample

Putting MDA to Work on Eclipse with the AMMA Tool Suite

- 59 - © 2007 ATLAS NantesUAB

Hello World ATL

31

Putting MDA to Work on Eclipse with the AMMA Tool Suite

- 60 - © 2007 ATLAS NantesUAB

Example: UML2Java

UML Metamodel Java Metamodel

Putting MDA to Work on Eclipse with the AMMA Tool Suite

- 61 - © 2007 ATLAS NantesUAB

Static Method Calls

public class SecondClass {

public void sc_m1(){FirstClass a = new FirstClass();a.fc_m1();

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

}}

public class FirstClass {

public void fc_m1(){

}public void fc_m2(){

this.fc_m1();

this.fc_m1();

}}

SecondClasss.javaFirstClass.java

32

Putting MDA to Work on Eclipse with the AMMA Tool Suite

- 62 - © 2007 ATLAS NantesUAB

Java and Table Metamodels

JavaSource

+nameNamedElement

ClassDeclaration

MethodDefinition MethodInvocation

1

+classes*

0..1 +invocations *

+class0..1

+methods*

1

+method

*

Putting MDA to Work on Eclipse with the AMMA Tool Suite

- 63 - © 2007 ATLAS NantesUAB

KM3 to DOT

Note: interesting transformation pattern here (parameterized transfo)

33

Putting MDA to Work on Eclipse with the AMMA Tool Suite

- 64 - © 2007 ATLAS NantesUAB

Atlas Model Weaver (AMW)• The AMW (ATLAS Model Weaver) is a tool for establishing

relationships (i.e., links) between models. The links are stored in a model, called weaving model. It is created conforming to a weaving metamodel.

• Use casesThe establishment of links between model or metamodel elements is present in numerous application scenarios, such as metamodel comparison, traceability, model matching, model annotation, interoperability.

• The use cases section provides a set of key scenarios that use weaving models. The use cases contain a general overview, extra documentation and examples. AMW provides a base weaving metamodel enabling to create links between model elements and associations between links. The metamodel may be extended to add other mapping semantics. This way there is the possibility of creating variable mapping languages dedicated to specific application requirements.

Putting MDA to Work on Eclipse with the AMMA Tool Suite

- 65 - © 2007 ATLAS NantesUAB

Model WeavingEstablishing abstract correspondencesbetween model elements.

Ma Mb

Mw

34

Putting MDA to Work on Eclipse with the AMMA Tool Suite

- 66 - © 2007 ATLAS NantesUAB

Relationships as a model: the weaving technique

• To capture relationships between model elements• Relationships are "reified" in a weaving model

• The model elements represent the relationships and the related elements• As any kind of model, the weaving model can be saved, stored, transformed,

modified, etc.

a1 b1a2

a3b2

Ma Mbr1

Weaving model

r2

b1a1

b2

a2

a3

AMW

Putting MDA to Work on Eclipse with the AMMA Tool Suite

- 67 - © 2007 ATLAS NantesUAB

AMW

35

Putting MDA to Work on Eclipse with the AMMA Tool Suite

- 68 - © 2007 ATLAS NantesUAB

Some AMW use cases

Putting MDA to Work on Eclipse with the AMMA Tool Suite

- 69 - © 2007 ATLAS NantesUAB

Metamodel comparison

36

Putting MDA to Work on Eclipse with the AMMA Tool Suite

- 70 - © 2007 ATLAS NantesUAB

Metamodel comparison

Putting MDA to Work on Eclipse with the AMMA Tool Suite

- 71 - © 2007 ATLAS NantesUAB

Model diff and compose (EMF compare)

Ma Mb

δ = Mb - Ma

-

Ma δ

Mb

+

37

Putting MDA to Work on Eclipse with the AMMA Tool Suite

- 72 - © 2007 ATLAS NantesUAB

Typical application: tool interoperability

About 30 opensource toolsto choose amongfor bug tracking

Different data models and functionalities

Putting MDA to Work on Eclipse with the AMMA Tool Suite

- 73 - © 2007 ATLAS NantesUAB

Bugzilla metamodel (simplified)

38

Putting MDA to Work on Eclipse with the AMMA Tool Suite

- 74 - © 2007 ATLAS NantesUAB

Mantis metamodel (simplified)

Putting MDA to Work on Eclipse with the AMMA Tool Suite

- 75 - © 2007 ATLAS NantesUAB

Bug control metamodel (pivot)

ControlsSequence-responsible[1] : String-component[1] : String-developmentPhase[1] : String-scope[1] : String-controlledElt[0..1] : String-eltRef[0..1] : String-eltAuthor[0..1] : String-formRef[0..1] : String

Control

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

Date

ControlType

BugTracking

-number[1] : Integer-componentVersion[1] : String-description[1] : String-status[1] : BugStatusType-originator[1] : String-responsible[0..1] : String-commentsAnswers[0..1] : String-openDate[1] : String-closeDate[0..1] : String

Bug

-controls

* -date

1

-type

1

-bugs*Several other types of control could be added by creating new classes that inherit of the abstract class "ControlType"...

39

Putting MDA to Work on Eclipse with the AMMA Tool Suite

- 76 - © 2007 ATLAS NantesUAB

AM3 Zoos = Libraries of models

• Atlantic zoo - A zoo of metamodels expressed in KM3• Mirrors:

• AtlantEcore zoo - An ATL-auto-generated mirror of Atlantic zoo expressed in EMF XMI 2.0, conforming to Ecore• Atlantic MOF/MDR zoo - An ATL-auto-generated mirror of Atlantic zoo expressed in MDR XMI 1.2, conforming to MOF

1.4• Atlantic UML zoo - An ATL-auto-generated mirror of Atlantic zoo expressed in MDR XMI 1.2, conforming to UML• Atlantic Raster zoo - An ATL-auto-generated mirror of Atlantic zoo expressed in PNG bitmaps • Atlantic SQL DDL zoo - An ATL-auto-generated mirror of Atlantic zoo expressed in SQL DDL, conforming to SQL • Atlantic Microsoft DSL Tools zoo - An ATL-auto-generated mirror of Atlantic zoo expressed in the DSL Tools specific

XML format (with a ".dsldm" extension). • Atlantic VB zoo - An ATL-auto-generated mirror of Atlantic zoo expressed in VB• Atlantic XASM zoo - An ATL-auto-generated mirror of Atlantic zoo expressed in XASM which is an open source compiler

for Abstract State Machines (ASMs) • Atlantic AsmL zoo - An ATL-auto-generated mirror of Atlantic zoo expressed in AsmL which is the Abstract State

Machine Language • Atlantic GME zoo - An ATL-auto-generated mirror of Atlantic zoo expressed in GME which is a configurable toolkit for

creating domain-specific modeling and program synthesis environments • Atlantic OWL zoo - An ATL-auto-generated mirror of Atlantic zoo expressed in OWL which is an ontology syntax defined

by the W3C • Atlantic XML zoo - An ATL-auto-generated mirror of Atlantic zoo expressed in XML

• ATL Transformation zoo - A zoo of ATL transformations using Atlantic zoo metamodels • AMW zoo - The AMW zoo is a zoo containing weaving metamodels and extensions of weaving metamodels

expressed in KM3.

Putting MDA to Work on Eclipse with the AMMA Tool Suite

- 77 - © 2007 ATLAS NantesUAB

The AtlantEcore Zoo

• The AtlantEcore Zoo is a mirror of the Atlantic Zoo. The metamodels are not expressed in KM3 but in EMF XMI 2.0.

• For each metamodel, an online tree-based visualization is available thanks to the Web 2.0 MetaModelbrowser (MMB). The Web 2.0 MetaModelbrowser offers to easily browse Ecore-based metamodels made available in online model repositories such as the AtlantEcore Zoo. With tree-based visualization of the metamodels' content users can zoom in and out of the details of arbitrarily sized metamodels as necessary.

• There are currently 241 metamodels in this zoo.• MetaModels Zoo

• Actor Concept: Source file, (view in Web 2.0 MMB)• Ant: Source file, (view in Web 2.0 MMB)• BibTeXML: Source file, (view in Web 2.0 MMB)• Book: Source file, (view in Web 2.0 MMB)• BPEL: Source file, (view in Web 2.0 MMB)• BPMN: Source file, (view in Web 2.0 MMB)• BQL (Bibtex Query Language): Source file, (view in Web 2.0 MMB)• Bugzilla: Source file, (view in Web 2.0 MMB)• DOT: Source file, (view in Web 2.0 MMB)• DotNET System Reflection: Source file, (view in Web 2.0 MMB)• OCCAM: Source file, (view in Web 2.0 MMB)• Etc.

40

Putting MDA to Work on Eclipse with the AMMA Tool Suite

- 78 - © 2007 ATLAS NantesUAB

Metrics are transformations

• UML class diagrams:• Package which contains classes.• Class which owns attributes and references

(composition or association relationship).• Could be any metamodel

• Business rules, service, data, process model, etc.• Reuse of OO-metrics is typical

• Measuring Java models and measuring UML modelsbears some similarities.

Putting MDA to Work on Eclipse with the AMMA Tool Suite

- 79 - © 2007 ATLAS NantesUAB

Sample List of Metrics

• TNP: Total Number of Packages• TNC: Total Number of Classes• TNA: Total Number of Attributes• TNAI: Total Number of Inherited Attributes • AIF: Attribute Inheritance Factor• DIT: Depth Inheritance Tree• NOC: Number of Children• TNR: Total Number of Relationships• TNRI: Total Number of Relationships Inherited

41

Putting MDA to Work on Eclipse with the AMMA Tool Suite

- 80 - © 2007 ATLAS NantesUAB

Sample List of Metrics

• Total Number of Classes• TNC is the total number of classes in a package or a

metamodel.• Depth Inheritance Tree

• In cases involving multiple inheritances, the DIT will be the maximum length from the node to the root of the tree.

• Number of Children• The Number of Children (NOC) is the number of immediate

subclasses subordinated to a class in the class hierarchy.

Putting MDA to Work on Eclipse with the AMMA Tool Suite

- 81 - © 2007 ATLAS NantesUAB

Presentation

• Different presentation formats for the measurement data collected:• Textual representation like HTML tables or Excel file.• Graphical representation like SVG charts.• Any other presentation adapted for measurement data.

legacy model measure presentation rendering

42

Putting MDA to Work on Eclipse with the AMMA Tool Suite

- 82 - © 2007 ATLAS NantesUAB

HTML presentation

This is the result of an ATL transformation,using a HTML output metamodel

Putting MDA to Work on Eclipse with the AMMA Tool Suite

- 83 - © 2007 ATLAS NantesUAB

SVG Pie chart presentation for a set of metamodels

This is the result of an ATL transformation,using a SVG output metamodel

43

Putting MDA to Work on Eclipse with the AMMA Tool Suite

- 84 - © 2007 ATLAS NantesUAB

SVG bar chart presentation for a set of metamodels

This is the result of an ATL transformation,using a SVG output metamodel

Putting MDA to Work on Eclipse with the AMMA Tool Suite

- 85 - © 2007 ATLAS NantesUAB

Library of QVT-like transformations.

• Open-source• transformations that

everybody may use.

• But also everybody is invited to contribute.

• Look at the AM3 Eclipse component.

44

Putting MDA to Work on Eclipse with the AMMA Tool Suite

- 86 - © 2007 ATLAS NantesUAB

Raw data InterpretationPresentation

AnalysisSynthesis

ModelDiscovery

ModelUnderstanding

MoDiscoToolbox

Transformationor WeavingLibraries

Putting MDA to Work on Eclipse with the AMMA Tool Suite

- 87 - © 2007 ATLAS NantesUAB

MoDisco

• MoDisco for “Model Discovery”

• Mining legacy to discover EMF/Ecore based models

• Extraction of models from legacy systems• Multiple types of such legacy systems

• A generic and extensible metamodel driven approach to model discovery

45

Putting MDA to Work on Eclipse with the AMMA Tool Suite

- 88 - © 2007 ATLAS NantesUAB

Rationale for the MoDisco initiative.

• Bring together producers and consumers, (industrials and academics, of open source solutions in the domain of software modernization (Eclipse).

• Apply common principles and tools to the extraction and further management of models from legacy data.

• Use as much as possible OMG standards in the SM process.

Legacy

MM

Model

Putting MDA to Work on Eclipse with the AMMA Tool Suite

- 89 - © 2007 ATLAS NantesUAB

Several possibilities

Legacy

UML

Model

Legacy

KDM

Model

Legacy

GASTM

Model

46

Putting MDA to Work on Eclipse with the AMMA Tool Suite

- 90 - © 2007 ATLAS NantesUAB

Discovery Principles

• Step 1:• Define the

metamodel

• Step 2:• Create the

“discoverer”

• Step 3:• Run the

discoverer to extract model Mifrom system S

Model Mi

Discovery

System S

Metamodel MMi

c2(c

onfo

rms

To)

repOf(representation of)

Real World Modeling World

Metam

odel Driven

Discoverer

Putting MDA to Work on Eclipse with the AMMA Tool Suite

- 91 - © 2007 ATLAS NantesUAB

Example

• Example of the Unix users’ actions

• Study of the dynamicdynamic behavior of the system• Execution trace of

the systemDynamic behavior of a Unix system

Model MiDiscoverySystem S

A Metamodel for Unix Systems

c2(c

onfo

rms

To)

who, login, logout, etc

Discoverer

timeEvent

LogoutLogin

User0..* 1

47

Putting MDA to Work on Eclipse with the AMMA Tool Suite

- 92 - © 2007 ATLAS NantesUAB

Modisco Project Description

MoDisco

Extension A Extension B Extension C

Met

amod

el E

xten

sion

Met

amod

el E

xten

sion

Met

amod

el E

xten

sion

Plu

gin

Plu

gin

Plu

gin

Base metamodel(KDM Core)

Putting MDA to Work on Eclipse with the AMMA Tool Suite

- 93 - © 2007 ATLAS NantesUAB

MoDisco

• A unified model-based approach and a metamodel-driven methodology:• Work in the homogeneous world of the models • Match different requirements

• Systems modernization & migration, data integration, tools interoperability, etc

• Use models operations and facilities• Transformations, weavings, extractions, etc

• A wide user community• A common toolbox for MDRE

48

Putting MDA to Work on Eclipse with the AMMA Tool Suite

- 94 - © 2007 ATLAS NantesUAB

MoDisco Use Cases

Putting MDA to Work on Eclipse with the AMMA Tool Suite

- 95 - © 2007 ATLAS NantesUAB

MoDisco use cases

49

Putting MDA to Work on Eclipse with the AMMA Tool Suite

- 96 - © 2007 ATLAS NantesUAB

MoDisco Use Case

Putting MDA to Work on Eclipse with the AMMA Tool Suite

- 97 - © 2007 ATLAS NantesUAB

Please visit, join and contribute

The project is looking for various situations, evolution, code or data from any parts of the Eclipse galaxy that could be expressed as models, in order to be later processed by generic modeling technology like model transformation tools (e.g. QVT/ATL).

50

Putting MDA to Work on Eclipse with the AMMA Tool Suite

- 98 - © 2007 ATLAS NantesUAB

Schedule

1. Model Driven Engineering

2. The OMG process vs. the Eclipse process

3. Presentation of some components of EMP (Eclipse

Modeling Project)

4. The philosophy behind AMMA

5. Conclusions

Putting MDA to Work on Eclipse with the AMMA Tool Suite

- 99 - © 2007 ATLAS NantesUAB

The philosophy behind AMMA

• Simple is beautiful• Simple is efficient

51

Putting MDA to Work on Eclipse with the AMMA Tool Suite

- 100 - © 2007 ATLAS NantesUAB

ModelTransformation

GlobalModel

Management

ModelWeaving

TechnicalProjectors

Putting MDA to Work on Eclipse with the AMMA Tool Suite

- 101 - © 2007 ATLAS NantesUAB

AMMA: A Lightweight Architectural Style for for Generic Model Management Platforms

• ATLAS Model Management Architecture• Build around a minimal set of sound principles• Defines the conventions for the various connected tools to interoperate• Lightweight : Not reinventing CORBA or PCTE• Model-based interoperability and not Middelware-based

interoperability• Four basic blocks:

AMMAAMMA

ATLATL AMWAMW AM3AM3 ATPATP

52

Putting MDA to Work on Eclipse with the AMMA Tool Suite

- 102 - © 2007 ATLAS NantesUAB

Four basic Blocks

• AMMA architectural principles are implemented in four basic blocks:• ATL for model transformation• AMW for model weaving• AM3 for global model management• ATP for communication with other technical spaces

• All basic principles are captured by one of theseblocks

• Many other tools will be available in the environment

Putting MDA to Work on Eclipse with the AMMA Tool Suite

- 103 - © 2007 ATLAS NantesUAB

Tool Interoperability is Data Integration• Examples of tools :

• RequisitePro• Reqtify• Bugzilla• Mantis• Matlab• Simulink• Excel• Prolog• Make• Ant• Maven• etc.

• Class level reusability vs. Application Level reusability• A reservoir of savings

AMMAAMMA

ATLATL AMWAMW AM3AM3 ATPATP

Tool X Tool Y

MMx MMy

53

Putting MDA to Work on Eclipse with the AMMA Tool Suite

- 104 - © 2007 ATLAS NantesUAB

Atlas Model Management Architecture• Modeling in the small

• Working at the level of model and metamodel elements

• Modeling in the large• Working with models and metamodels as global entities, for what they represent, and their mutual

relations, independently of their content• A megamodel is a model which elements represents models, metamodels and other global entities (ako

model registry with metadata on models and metamodels). A megamodel has a metamodel.

Putting MDA to Work on Eclipse with the AMMA Tool Suite

- 105 - © 2007 ATLAS NantesUAB

Models @ Run Time

System S Model M

Forward engineering

Reverse engineering

Models at Runtime

54

Putting MDA to Work on Eclipse with the AMMA Tool Suite

- 106 - © 2007 ATLAS NantesUAB

Multiple concurrent views on an evolving system

System

DSLs

DesignerDSLs

AdministratorDSLs

User

Putting MDA to Work on Eclipse with the AMMA Tool Suite

- 107 - © 2007 ATLAS NantesUAB

ModelingModeling, in the broadest sense, is the cost-effective use of something in place of something else for some cognitive purpose. It allows us to use something that is simpler, safer or cheaper thanreality instead of reality for some purpose. A model representsreality for the given purpose; the model is an abstraction of reality in the sense that it cannot represent all aspects of reality. This allows us to deal with the world in a simplified manner, avoiding the complexity, danger and irreversibility of reality.

Jeff Rothenberg.

Simulation models are models, but there are plenty of other models

55

Putting MDA to Work on Eclipse with the AMMA Tool Suite

- 108 - © 2007 ATLAS NantesUAB

The Bernstein’s Problem: united world of models

By model we mean a complex structure that represents a design artifact, such as a relational schema, object-oriented interface, UML model, XML DTD, web-site schema, semantic network, complex document, or software configuration. Many uses of models involve managing changes in models and transformations of data from one model into another. These uses require an explicit representation of mappings between models. We propose to make database systems easier to use for these applications by making model and model mapping first-class objects with special operations that simplify their use. We call this capacity model management

P.A. Bernstein, A.L. Levy & R.A. PottingerMSR-TR-2000-53

MDE does not impact only the SE community

Putting MDA to Work on Eclipse with the AMMA Tool Suite

- 109 - © 2007 ATLAS NantesUAB

Principle of limited substitutability according to Minsky

"If a creature can answer a question about a hypothetical experiment without actually performing it, then it has demonstrated some knowledge about the world. …We use the term "model" in the following sense: To an observer B, an object A* is a model of an object A to the extent that B can use A* to answer questions that interest him about A. …It is understood that B's use of a model entails the use of encodings for input and output, both for A and A*.If A is the world, questions for A are experiments. ...A* is a good model of A, in B's view, to the extent that A*'s answers agree with those of A's, on the whole, with respect to the questions important to B. …"

Marvin L. MinskyMatter, Mind and Models Semantic Information Processing, MIT Press, 1968

Structural and functional definition of a model

56

Putting MDA to Work on Eclipse with the AMMA Tool Suite

- 110 - © 2007 ATLAS NantesUAB

The Towers of models (Robin Milner)• A more thorough science-based approach to informatics and ubiquitous

computing is both necessary and possible. We often think in terms of models, whether formal or not. These models, each involving a subset of the immense range of concepts needed for ubiquitous computer systems, should form the structure of our science. Even more importantly, the relationships (either formal or informal) among them are the cement that will hold our towers of models together. For example, how do we derive a model for senior executives from one used by engineers in designing aplatform for business processes, or by theoreticians in analyzing it?

• A model consists of concepts and a set of permitted activities in terms of these concepts. Models can be combined and can be realized (e.g., models can be implemented, or explained, or refined by other models).

• The essence of software engineering and informatics is formulating, managing, and realizing models. For realistic software engineering, we will need towers of models, built using complex combinations of models. Models vary from very formal to very informal, but this is independent of their usefulness. By looking at relationships between models, we get a chance to relate the less formal to the more formal – and thus bring users/engineers/theorists closer to each other. Many examples of such relationships exist; we need to base our methodologies on them.

TOWERS'2007 Workshop, TOOLS, Zurich, June 2007

Putting MDA to Work on Eclipse with the AMMA Tool Suite

- 111 - © 2007 ATLAS NantesUAB

Milner's Towerof Models Proposal

57

Putting MDA to Work on Eclipse with the AMMA Tool Suite

- 112 - © 2007 ATLAS NantesUAB

An Algebra for Model Management

Putting MDA to Work on Eclipse with the AMMA Tool Suite

- 113 - © 2007 ATLAS NantesUAB

Tools

ATL(3)

85%

KM3(3)

75%

TCS(2)

65%

AMW(3)

75%

AM3(5)

50%

BCS(2)

35%

XCS(2)

15%MoDisco

(1)

25%

58

Putting MDA to Work on Eclipse with the AMMA Tool Suite

- 114 - © 2007 ATLAS NantesUAB

Schedule

1. Model Driven Engineering

2. The OMG process vs. the Eclipse process

3. Presentation of some components of EMP

(Eclipse Modeling Project)

4. Conclusions

Putting MDA to Work on Eclipse with the AMMA Tool Suite

- 115 - © 2007 ATLAS NantesUAB

Risk #1

• Model Portability• Will EMF models still be usable in 5, 10, 15

years?• How to guarantee the interoperability of EMF

models with GME, with MS Tools, etc.

59

Putting MDA to Work on Eclipse with the AMMA Tool Suite

- 116 - © 2007 ATLAS NantesUAB

Risk #2

• Huge models• Huge number of models• Scalability• Collaborative work

Putting MDA to Work on Eclipse with the AMMA Tool Suite

- 117 - © 2007 ATLAS NantesUAB

Conclusions

• MDE is about working with a lot of open an explicit metamodels (precise metamodeling).

• OMG provides several standard metamodels but we need many more.• In a given TS, there is one metametamodel and a library of metamodels; any

model conforms to a metamodel. • In a model engineering TS all artifacts are models. A metamodel is a model. A

transformation is a model. A verification is a transformation. A measure is a transformation, etc.

• In a given TS, there are also other operations between models like weaving.• There is an additional need to ensure coordination: controlling the metadata and

the mutual relations between all model of interests in a given context.• Synergy between organizations like OMG and Eclipse will become essential in the

future.• AMMA aims to provide the minimal working blocks to make the MDE vision fully

operational• Long term commitment

60

Putting MDA to Work on Eclipse with the AMMA Tool Suite

- 118 - © 2007 ATLAS NantesUAB

Thanks

• Questions?• Comments?

http://www.sciences.univ-nantes.fr/lina/atl/

[email protected]@univ-nantes.fr

ATLAS group, INRIA & LINA, Nantes, France