84
©2005 ATLAS Nantes Journées Académiques Microsoft 2005 - Paris Ingénierie des modèles : Ingénierie des modèles : des principes aux outils des principes aux outils Jean Bézivin & Marcos Didonet del Fabro [ Jean.Bezivin|Marcos.Didonet]{noSpamAt}univ-nantes.fr ATLAS Group (INRIA & LINA), University of Nantes, France http://www.sciences.univ-nantes.fr/lina/atl/

Ingénierie des modèles : des principes aux outils

  • Upload
    fred

  • View
    48

  • Download
    0

Embed Size (px)

DESCRIPTION

Ingénierie des modèles : des principes aux outils Jean Bézivin & Marcos Didonet del Fabro [Jean.Bezivin|Marcos.Didonet]{noSpamAt}univ-nantes.fr ATLAS Group (INRIA & LINA), University of Nantes, France http://www.sciences.univ-nantes.fr/lina/atl/. Schedule. Model Driven Engineering: - PowerPoint PPT Presentation

Citation preview

Page 1: Ingénierie des modèles : des principes aux outils

©2005 ATLAS NantesJournées Académiques Microsoft 2005 - Paris

Ingénierie des modèles :Ingénierie des modèles :des principes aux outilsdes principes aux outils

Jean Bézivin & Marcos Didonet del Fabro[Jean.Bezivin|Marcos.Didonet]{noSpamAt}univ-nantes.fr

ATLAS Group (INRIA & LINA),University of Nantes, France

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

Page 2: Ingénierie des modèles : des principes aux outils

©2005 ATLAS NantesJournées Académiques Microsoft 2005 - Paris

Schedule

• Model Driven Engineering:Model Driven Engineering:– Scope & ApplicabilityScope & Applicability– PrinciplesPrinciples– Deployment (AMMA)Deployment (AMMA)

• An example of MDE toolAn example of MDE tool– The ATLAS Model WeaverThe ATLAS Model Weaver

Page 3: Ingénierie des modèles : des principes aux outils

©2005 ATLAS NantesJournées Académiques Microsoft 2005 - Paris

The playground

Pri

ncip

les

Pri

ncip

les

Sta

nd

ard

sS

tan

dard

s

Tools

Tools

TeachingTeaching

sNets, 1990

UML, 1995

today, AMMA

MOF, 2000

tomorrow

Page 4: Ingénierie des modèles : des principes aux outils

©2005 ATLAS NantesJournées Académiques Microsoft 2005 - Paris

Principles, standards and tools

Model-Driven Engineering (MDE)

MDA™ Model-DrivenArchitecture

(OMG)

EclipseEMFGMF

MIC Model

IntegratedComputing

GME

SoftwareFactories

(MS)

MicrosoftVisual StudioTeam system

DSL Tools

OtherStandards

OtherTools

Principles

Standards

Tools

Page 5: Ingénierie des modèles : des principes aux outils

©2005 ATLAS NantesJournées Académiques Microsoft 2005 - Paris

IBM on MDA : Three complementary ideas

1.Direct representation 2.Automation 3.Standards

Direct representation => multiple languagesDanger of fragmentation

Need coordinationHow to coordinate?

Short answer: metametamodelBut what is a metametamodel?

Page 6: Ingénierie des modèles : des principes aux outils

©2005 ATLAS NantesJournées Académiques Microsoft 2005 - Paris

Agenda

Scope & Applicability

Page 7: Ingénierie des modèles : des principes aux outils

©2005 ATLAS NantesJournées Académiques Microsoft 2005 - Paris

Introduction

• The industrial evolution (OMG MDA™, IBM EMF, Microsoft Software Factories) and the MDE trend

• The need for sound principles (models as first class entities)

• Technology spaces or why MDE is not sufficient

Page 8: Ingénierie des modèles : des principes aux outils

©2005 ATLAS NantesJournées Académiques Microsoft 2005 - Paris

The initial move: from Middleware to Modelware

Page 9: Ingénierie des modèles : des principes aux outils

©2005 ATLAS NantesJournées Académiques Microsoft 2005 - Paris

Latest tentative to define MDA

Page 10: Ingénierie des modèles : des principes aux outils

©2005 ATLAS NantesJournées Académiques Microsoft 2005 - Paris

Steve Cook (OOPSLA 2004 panel)

Suggests that MDA proponents fall into the following three camps:

1. The UML PIM camp: MDA involves the use of UML to build Platform Independent Models (PIMs) which are transformed into Platform Specific Models (PSMs) from which code is generated.

2. The MOF camp: MDA does not involve the use of UML, but instead the crucial technology is MOF, and the definition of modelling languages and language transformations using MOF.

3. The Executable UML camp: MDA involves building a UML compiler, making it a first class programming language.

Ref: Steve Cook Blog @: http://blogs.msdn.com/stevecook

Page 11: Ingénierie des modèles : des principes aux outils

©2005 ATLAS NantesJournées Académiques Microsoft 2005 - Paris

OMG Proposal

metamodel

model

"the real world"

meta-metamodel

The MOF(Meta Object Facility)

The UML and a collection of metamodels

Some UML and other models.

Various usagesof these models

M0

M1

M2

M3

Page 12: Ingénierie des modèles : des principes aux outils

©2005 ATLAS NantesJournées Académiques Microsoft 2005 - Paris

MDA in a nutshell : PSM = f(PIM)

U n i v e r s i t é d e N A N T E S

M 1 , M 2 & M 3 s p a c e s

M 3

M 2

M 1

M 2

M 1

M 2

M 1 M 1M 1

- One unique Metametamodel (the MOF) - An important library of compatible Metamodels,each defining a DSL - Each of the models is defined in the language of its unique metamodel

M1

M2

M3

Page 13: Ingénierie des modèles : des principes aux outils

©2005 ATLAS NantesJournées Académiques Microsoft 2005 - Paris

The initial MDA conjecture : PSM = f(PIM)

PIMs(PlatformIndependentModels)

PSMs(PlatformSpecificModels)

MMerging phase

PDMs(PlatformDescriptionModels)

?weaving

PSM branch

PDM branchPIM branch

Page 14: Ingénierie des modèles : des principes aux outils

©2005 ATLAS NantesJournées Académiques Microsoft 2005 - Paris

Two missing links in the OMG architecture

PSM = f(PIM, PDM)or after currying:PSM = fPDM(PIM)

PIM PDM

PSM“numeric” values:PDM = DotNetPDM = EJB

Page 15: Ingénierie des modèles : des principes aux outils

©2005 ATLAS NantesJournées Académiques Microsoft 2005 - Paris

Microsoft Software Factories

• SDK (Team System) released in late 2004– First presentation at OOPSLA, Vancouver, Oct. 2004– See S. Cook, S. Kent, J. Greenfield and K. Short Blogs

• Aims to be closer to a metaCASE tool than Eclipse – (however follow GMF Borland)

• Not UML-based (nor MOF, nor XMI)• Models strongly tied to code

– Reverse engineering/synchronization– Reliance on Microsoft’s platforms (Visual studio)

… Modeling is the future …Bill Gates

Page 16: Ingénierie des modèles : des principes aux outils

©2005 ATLAS NantesJournées Académiques Microsoft 2005 - Paris

MDE@Microsoft

• Microsoft is releasing a suite of tools to make it easy to construct graphical designers hosted in Visual Studio for editing domain specific languages (DSL).

Page 17: Ingénierie des modèles : des principes aux outils

©2005 ATLAS NantesJournées Académiques Microsoft 2005 - Paris

Creating the Petri net DSL (Hillairet-Piers project)

Petri metamodel

Page 18: Ingénierie des modèles : des principes aux outils

©2005 ATLAS NantesJournées Académiques Microsoft 2005 - Paris

Creating the Petri net DSL (Hillairet-Piers project)

On lance un nouveau projet DSL.

On choisit le template Blank Language pour commencer notre métamodèle.

On nomme notre projet ReseaudePetri.

Page 19: Ingénierie des modèles : des principes aux outils

©2005 ATLAS NantesJournées Académiques Microsoft 2005 - Paris

Creating the Petri net DSL (Hillairet-Piers project)

Page 20: Ingénierie des modèles : des principes aux outils

©2005 ATLAS NantesJournées Académiques Microsoft 2005 - Paris

Creating the Petri net DSL (Hillairet-Piers project)

Une fois le métamodèle totalement défini, on effectue les opération suivantes

Generate all code : génère le code C# qui va être utilisé par l’éditeur de modèle, il est généré à partir des fichiers .dmd et .dd.

Build solution : compilation du code généré.

Start : lancement de l’éditeur de modèles.

Page 21: Ingénierie des modèles : des principes aux outils

©2005 ATLAS NantesJournées Académiques Microsoft 2005 - Paris

Creating the Petri net DSL (Hillairet-Piers project)

Page 22: Ingénierie des modèles : des principes aux outils

©2005 ATLAS NantesJournées Académiques Microsoft 2005 - Paris

Multiple technical spaces

Page 23: Ingénierie des modèles : des principes aux outils

©2005 ATLAS NantesJournées Académiques Microsoft 2005 - Paris

The notion of TS (Technology Space) as a tool for collaboration

• A Technology Space corresponds to:– A uniform representation system

• Syntactic trees • XML trees • Sowa graphs • UML graphs• MOF graphs• Categories• Graph Grammars

– A working context– A set of concepts– A shared knowledge and know

how– etc.

• It is usually related to a given community with an established expertise, know-how and research problems

• It has a set of associated tools and practices, etc.– Protégé, Rational Rose, …

CorbaC++

WWW

XMLdocumentware

etc.

RDBMS

Corba

Ontologies

Java

Graph Theory

MDAModelware

OOBMS

Linux

Description logic Prolog

Semantic WEB Grammarware

Page 24: Ingénierie des modèles : des principes aux outils

©2005 ATLAS NantesJournées Académiques Microsoft 2005 - Paris

Abstract Syntax Systems Compared

MOF

The UMLmeta-Model

A SpecificUML Model

A Specificphenomenon

corresponding toa UML Model

EBNF

Pascal LanguageGrammar

A specificPascal Program

A specificexecution

of a Pascal program

Technology #2(MOF + OCL)

Technology #3(XML Meta-Language)

M3

M2

M1

Technology #4(Ontology engineering)

Technology #1(formal grammars

attribute grammars,etc.)

etc.

Page 25: Ingénierie des modèles : des principes aux outils

©2005 ATLAS NantesJournées Académiques Microsoft 2005 - Paris

A technical space is organized around a set of conceptsSpaces may be connected via bridgesSpaces are often similarly organized

Program

Grammar

Data

Schema

Model

Meta-Model

Document

Schema

Ontology

Top Level O.

Syntax XML

MDA

DBMS Ontologyengineering

Page 26: Ingénierie des modèles : des principes aux outils

©2005 ATLAS NantesJournées Académiques Microsoft 2005 - Paris

But also: UML MM ~ Visio Stencil

Program

Grammar

Drawing

Stencil

Model

Meta-Model

Document

Schema

Content

FORM

Syntax XML

MDA

Visio InfoPath

Page 27: Ingénierie des modèles : des principes aux outils

©2005 ATLAS NantesJournées Académiques Microsoft 2005 - Paris

Models revisited

• Everything is a model– A -model meaning any specific TSpace– An XML document is an XML-model – A Java source program is a Java-model– An UML model is a MDA-model – etc.

• Each TSpace is rooted in a metametamodel defining a representation scheme and basic type system.

• Distinguish between intra-space and inter-space operations

Page 28: Ingénierie des modèles : des principes aux outils

©2005 ATLAS NantesJournées Académiques Microsoft 2005 - Paris

Technical Spaces and Working Contexts

• Technical Spaces– Examples: MDE, MDA, MS/SF, EBNF, XML, DBMS, ontologies, etc. – Conjecture:

• Each TS is represented by a metametamodel • Each TS is organized in a 3 metalevel architecture

• Working contexts– Local

• MM specific – Global

• TS specific, MM independent – Universal

• Across several TSs (extended MIME notation)– Mof1.4/UML/mymodel– MicrosoftDSL/PetriNet/MyNet– ECORE/PetriNet/MyNet– EBNF/Pascal/MyProg– XML/MusicML/MyMusic– M3/M2/M1

Page 29: Ingénierie des modèles : des principes aux outils

©2005 ATLAS NantesJournées Académiques Microsoft 2005 - Paris

Agenda

Applicability

Page 30: Ingénierie des modèles : des principes aux outils

©2005 ATLAS NantesJournées Académiques Microsoft 2005 - Paris

Some examples of transformations

• Classical– UML2Java– UML2RDBMS

• But also tool to tool (more important)– UML Activity Diagrams to MS Project

Page 31: Ingénierie des modèles : des principes aux outils

©2005 ATLAS NantesJournées Académiques Microsoft 2005 - Paris

The KM3 metamodel*

+name : String

ModelElement

Package

+package 1

+contents

*

Classifier

DataType

+isAbstract : Boolean

Class

+supertypes

*

+lower : Integer+upper : Integer+isOrdered : Boolean+isUnique : Boolean

StructuralFeature

Attribute

+isContainer : Boolean

Reference

+opposite

0..1

+owner

1

+structuralFeatures

*

+type

1

*The KM3 metamodel used in this presentation has been simplified.However, it still contains enough concepts to be usable.

Page 32: Ingénierie des modèles : des principes aux outils

©2005 ATLAS NantesJournées Académiques Microsoft 2005 - Paris

KM3 definition of the KM3 metamodelpackage KM3 {

abstract class ModelElement extends LocatedElement { attribute name : String; reference "package" : Package oppositeOf contents; }

class Package extends ModelElement { reference contents[*] ordered container : ModelElement oppositeOf "package"; }

class Classifier extends ModelElement {}

class DataType extends Classifier {}

class Class extends Classifier { attribute isAbstract : Boolean; reference supertypes[*] : Class; reference structuralFeatures[*] ordered container : StructuralFeature

oppositeOf owner; }

-- continued on next slide

NOT XMI

Page 33: Ingénierie des modèles : des principes aux outils

©2005 ATLAS NantesJournées Académiques Microsoft 2005 - Paris

Java to Excel Transformation (call graph)

FirstClass.java SecondClasss.java

public class FirstClass {public void fc_m1(){}public void fc_m2(){

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

}}

public class SecondClass {public void sc_m1(){

FirstClass a = new FirstClass();

a.fc_m1();}public void sc_m2(){

this.sc_m1();}

}

Page 34: Ingénierie des modèles : des principes aux outils

©2005 ATLAS NantesJournées Académiques Microsoft 2005 - Paris

Java and Table Metamodels

JavaSource

+name

NamedElement

ClassDeclaration

MethodDefinition MethodInvocation

1

+classes*

0..1 +invocations *

+class0..1

+methods*

1

+method

*

Table

Row

+content

Cell

1

+rows*

1

+cells

*

Page 35: Ingénierie des modèles : des principes aux outils

©2005 ATLAS NantesJournées Académiques Microsoft 2005 - Paris

UMLDI2SVG

Semantic Preserving Transformation?

Page 36: Ingénierie des modèles : des principes aux outils

©2005 ATLAS NantesJournées Académiques Microsoft 2005 - Paris

Tool Interoperability

• Tool interoperability

• Build a metamodel of each tool

• Write a transformation

• Two kinds of Metamodels

• Data stream oriented

• Event orientedAMMA

AMMA

ATLATL

AMWAMW

AM3AM3 ATP

ATP

Tool X Tool Y

Page 37: Ingénierie des modèles : des principes aux outils

©2005 ATLAS NantesJournées Académiques Microsoft 2005 - Paris

Agenda

Principles

Page 38: Ingénierie des modèles : des principes aux outils

©2005 ATLAS NantesJournées Académiques Microsoft 2005 - Paris

What about the stability of MDA?

• Missing foundations may cause big problems ahead

Page 39: Ingénierie des modèles : des principes aux outils

©2005 ATLAS NantesJournées Académiques Microsoft 2005 - Paris

Just an academic issue anyway?

Page 40: Ingénierie des modèles : des principes aux outils

©2005 ATLAS NantesJournées Académiques Microsoft 2005 - Paris

Enter the "metamuddle"

Page 41: Ingénierie des modèles : des principes aux outils

©2005 ATLAS NantesJournées Académiques Microsoft 2005 - Paris

Model of a model

Page 42: Ingénierie des modèles : des principes aux outils

©2005 ATLAS NantesJournées Académiques Microsoft 2005 - Paris

The MDA metamuddle

• A very rapidly growing industrial application field since november 2000,

• … but …

• We badly need a unifying theory of models

Page 43: Ingénierie des modèles : des principes aux outils

©2005 ATLAS NantesJournées Académiques Microsoft 2005 - Paris

Credits and MDA compliance

Languageengineering

Ontologyengineering

MDE

Page 44: Ingénierie des modèles : des principes aux outils

©2005 ATLAS NantesJournées Académiques Microsoft 2005 - Paris

The "representation" relation

repOf

System and System elements Model and Model elements

Simple set interpretation of the repOf relationis probably as correct as simple set interpretationof the instanceOf relation in object technology.

?

Page 45: Ingénierie des modèles : des principes aux outils

©2005 ATLAS NantesJournées Académiques Microsoft 2005 - Paris

the UML MetaModel

Class Attribute*

1

a UML Model

Client

Name : String

The "conformance" relation

M2

M1

the MOF

Class Association

source

destination

M3

c2

c2

c2

metameta meta

metameta

metamodel

model

"the real world"

meta-metamodel

The MOF

The UML metamodel

Some UML Models

Various usagesof these modelsM0

M1

M2

M3

meta

meta

Page 46: Ingénierie des modèles : des principes aux outils

©2005 ATLAS NantesJournées Académiques Microsoft 2005 - Paris

Research agenda: Everything is a model

• What is a model?– A model is a representation of a system– A model is written in the language of its unique

metamodel– A metamodel is written in the language of its

unique metametamodel• The unique MMM of the MDA is the MOF• MS/DSLTools has an implicit MMM

– A model is a constrained directed labeled graph – A model may have a visual representation

• Where do models come from?• What are the various kinds of models?

Page 47: Ingénierie des modèles : des principes aux outils

©2005 ATLAS NantesJournées Académiques Microsoft 2005 - Paris

Transformations as models (QVT)

Page 48: Ingénierie des modèles : des principes aux outils

©2005 ATLAS NantesJournées Académiques Microsoft 2005 - Paris

Uniform access to models and metamodels

Ma Mt Mb

TransformationEngine

MMa MMt MMb

Page 49: Ingénierie des modèles : des principes aux outils

©2005 ATLAS NantesJournées Académiques Microsoft 2005 - Paris

Summary

• The definition of a model is TSpace-dependent• Generally a model is a graph• Which kind of graph is defined by the

metametamodel (M3) of the technical space.– For MOF-models it is non oriented graphs with labeled end

of edges– For ECORE-models it is slightly different– For Microsoft-DSL-models it is completely different

• It is thus possible to cope with different M3– Then it will be important to distinguish between M2 level

transformations and M3 level transformations

Page 50: Ingénierie des modèles : des principes aux outils

©2005 ATLAS NantesJournées Académiques Microsoft 2005 - Paris

Agenda

Deployment

Page 51: Ingénierie des modèles : des principes aux outils

©2005 ATLAS NantesJournées Académiques Microsoft 2005 - Paris

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• Model-based interoperability and not Middelware-based interoperability• Four basic blocks:

AMMAAMMA

ATLATL AMWAMW AM3AM3 ATPATP

Page 52: Ingénierie des modèles : des principes aux outils

©2005 ATLAS NantesJournées Académiques Microsoft 2005 - Paris

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.

Page 53: Ingénierie des modèles : des principes aux outils

©2005 ATLAS NantesJournées Académiques Microsoft 2005 - Paris

ATL: a model transformation language, engine and IDE

• ATL: a MOF/QVT compliant model transformation language

• For more info see: http://www.sciences.univ-nantes.fr/lina/atl/

Page 54: Ingénierie des modèles : des principes aux outils

©2005 ATLAS NantesJournées Académiques Microsoft 2005 - Paris

ATL editor (part of ATL Integrated Development Environment)

Page 55: Ingénierie des modèles : des principes aux outils

©2005 ATLAS NantesJournées Académiques Microsoft 2005 - Paris

The standard OMG model transformation language

ATL is a QVT-like language

Page 56: Ingénierie des modèles : des principes aux outils

©2005 ATLAS NantesJournées Académiques Microsoft 2005 - Paris

The Model Weaver: principles

OperationPort mapsTo OperationType

Left MM Weaving MM Right MM

Stub MM

Weaving model

extends

c2- Fixed mapping metamodelsare not sufficient

- We need support forextensible variable metamodels

Page 57: Ingénierie des modèles : des principes aux outils

©2005 ATLAS NantesJournées Académiques Microsoft 2005 - Paris

AM3: ATLAS MegaModel Management Tool

• Megamodel: a model with elements corresponding to models, metamodels, services, tools and more generally to any global resource available in the scope of an AMMA session.

• A registry for model engineering resources as well as a metadata repository

• Megamodel with different metamodels

• Megamodels beyond typing systems

MM

M

typeOf

MM’versionOf

MM’

extensionOf

Tool

Service

implements

Parameter

typeOf

input

output

TM

output

intputetc.

Page 58: Ingénierie des modèles : des principes aux outils

©2005 ATLAS NantesJournées Académiques Microsoft 2005 - Paris

Some fragments of the Megamodel’s Metamodel

Page 59: Ingénierie des modèles : des principes aux outils

©2005 ATLAS NantesJournées Académiques Microsoft 2005 - Paris

Initial Metamodel Proposal for AMMA Megamodel Components

Page 60: Ingénierie des modèles : des principes aux outils

©2005 ATLAS NantesJournées Académiques Microsoft 2005 - Paris

Megamodel Resource Navigator for model components

• Extension of Resource View• According to metadata, tools may be

available for an element

Page 61: Ingénierie des modèles : des principes aux outils

©2005 ATLAS NantesJournées Académiques Microsoft 2005 - Paris

ATP: TS and projectors

TSpace #1 MDA

TSpace #2 EBNF

TSpace #3 XML

TSpace #4 SQLπ1

π3

π2 JavaCorbaSVGNLP,etc.

XMIJMICMIetc.

model

mmodel

grammar

program

document

XMLschema

dataSchema

data

ATLASTechnicalProjectors

MS/OfficeSimulinkMatlabetc.

Page 62: Ingénierie des modèles : des principes aux outils

©2005 ATLAS NantesJournées Académiques Microsoft 2005 - Paris

Conclusions: AMMA on top of Eclipse and MS/DSL tools

Eclipse

EMF

AMMA

Visual Studio

Team System

AMMA

Eclipse

EMF

ATL IDE

ATL engine ATP

AM3 AMW

Eclipse

EMF

ATL IDE

ATL engineATL engine ATPATP

AM3 AMWATL MTF

KM3 Emfatic

etc. etc.

Page 63: Ingénierie des modèles : des principes aux outils

©2005 ATLAS NantesJournées Académiques Microsoft 2005 - Paris

Conclusions

• Transformations are models• Weavings (correspondences) are models• Megamodels are models

• (meta-)Models everywhere– A file format– A tool internal data– A Visio stencil– An Infopath Form– An API– etc.

• Pragmatics of model transformation are important• EMF and MS/DSL may be considered as two TSpaces, based

on different M3

Page 64: Ingénierie des modèles : des principes aux outils

©2005 ATLAS NantesJournées Académiques Microsoft 2005 - Paris

ATLAS Model WeaverATLAS Model WeaverUsing weaving to define generic model correspondencesUsing weaving to define generic model correspondences

Marcos Didonet Del Fabromarcos.didonet-del-fabro @ univ-nantes.fr

PhD student (2004 - 07)Supervisors: Jean Bézivin and Patrick Valduriez

Page 65: Ingénierie des modèles : des principes aux outils

©2005 ATLAS NantesJournées Académiques Microsoft 2005 - Paris

Overview

• Model weaving – Models– Use cases

• Data mapping– Weaving as models

• Model Weaver workbench– Common weaving core– Representations

• DSL Tools, Eclipse EMF

Page 66: Ingénierie des modèles : des principes aux outils

©2005 ATLAS NantesJournées Académiques Microsoft 2005 - Paris

• Model – set of elements and associations

• Associations (intra model relationships)

– Correspondences (inter model relationships)

Models

E1hasA

references

E2

E3

Model

E1 E2

E3

Model 1

E1 E2

Model 2

isA

E3 E4isA

E4

inherits Semantic defined in the metamodel

Semantics undefined

Page 67: Ingénierie des modèles : des principes aux outils

©2005 ATLAS NantesJournées Académiques Microsoft 2005 - Paris

Model weaving

• Model weaving– Establishes correspondences with semantics

• Use cases– Transformation specifications– Data exchange– Heterogeneous data integration – Schema integration

Library (RDBMS)Books

ISBNTitleAuthorIDPublisher

AuthorAIDName

Library (XML)Books

ISBNTitlePublisherIDAuthors AID Name

PublisherPIDName

Data mapping

Page 68: Ingénierie des modèles : des principes aux outils

©2005 ATLAS NantesJournées Académiques Microsoft 2005 - Paris

Data mapping today

• SQL- View integration- SQL statements- SQL-like queries- Matching algorithms (SemInt,

Similarity Flooding, etc)

• XSLT

• Ontology mapping– Ontology bridges– Ontologies for business integration

• Generic model management– Morphisms

• Model weaving– Creates a weaving model

Requirements:

Expressiveness,Performance,Adaptability,Matching, …

Application X: which is the most adapted solution?

Page 69: Ingénierie des modèles : des principes aux outils

©2005 ATLAS NantesJournées Académiques Microsoft 2005 - Paris

• Use of same model management primitives!– Add, delete, update, navigation.

• Expressiveness – Attach semantics – Foreign keys, nested constraints, ordering, etc.

• Hard to express with 1-1 correspondences

Weaving as models

Library (RDBMS)Books

ISBNTitleSubjectIDPublisher

SubjectsSIDDescription

Library (XML)Books

ISBNTitlePublisherIDSubjects SID Description

PublisherPIDName

Weavingmodel

FKConstraint

NestedConstraint

New ID

Page 70: Ingénierie des modèles : des principes aux outils

©2005 ATLAS NantesJournées Académiques Microsoft 2005 - Paris

• Performance– Weaving (mapping) definition, not execution

• Same weaving to produce: – ATL –> model transformation language– XSLT –> XML– SQL –> relational databases– Morphisms -> generic model management– etc.

• Adaptability• Minimal metamodel + extensions• Matching based extensions

Weaving as models

Page 71: Ingénierie des modèles : des principes aux outils

©2005 ATLAS NantesJournées Académiques Microsoft 2005 - Paris

Weaving metamodel

• Minimal weaving metamodel– links and correspondences– extended to be used in different applications

-name : String-description : String

WElement

WModel-ref : StringWRef

WLinkEndWModelRef WElementRef

WLink

mod

el

ownedElement (1-*)

ownedElementRef(0-*)modelRef

end (1-*)

link

element

parent

child

(0-*

)

wovenModel (1-*)

Page 72: Ingénierie des modèles : des principes aux outils

©2005 ATLAS NantesJournées Académiques Microsoft 2005 - Paris

Metamodel extensions

• Several mapping DSLs (Domain Specific Languages)

• Adding extra semantics– Concatenation, foreign keys, nested, ordered, equals,

containment,supplier/consumer, etc.

• Weaving model + ( 1 – N ) woven models

E1

E2

E2

Model 1

E1 E2

Model 2

E3 E4

Equals

Concat

String

Page 73: Ingénierie des modèles : des principes aux outils

©2005 ATLAS NantesJournées Académiques Microsoft 2005 - Paris

Model weaving implementation

• DSL tools, Eclipse EMF– DSL metametamodel

• Concepts, role, relationships• Object model (a single .dmd file)

– EMF metametamodel• Ecore

• EMF Injectors <-> DSL Tool Extractor• DSL Tool Injector <-> EMF Extractor

Page 74: Ingénierie des modèles : des principes aux outils

©2005 ATLAS NantesJournées Académiques Microsoft 2005 - Paris

Textual representation weaver.dmd and mwcore.ecore

Page 75: Ingénierie des modèles : des principes aux outils

©2005 ATLAS NantesJournées Académiques Microsoft 2005 - Paris

Weaving metamodel Visualization (DSL tools and EMF)

Page 76: Ingénierie des modèles : des principes aux outils

©2005 ATLAS NantesJournées Académiques Microsoft 2005 - Paris

AMW example: RDBMS to XML

• Metamodel extensions

Extension de base:correspondences,models, links

Extension DBMXML:FK, nested, equals

Weaving metamodel represented in KM3

Page 77: Ingénierie des modèles : des principes aux outils

©2005 ATLAS NantesJournées Académiques Microsoft 2005 - Paris

AMW example: RDBMS to XML

Semantics

SQL schema represented in Ecore

XML schema represented in Ecore

Page 78: Ingénierie des modèles : des principes aux outils

©2005 ATLAS NantesJournées Académiques Microsoft 2005 - Paris

Same weaving, many representations ATL and XSLT

Page 79: Ingénierie des modèles : des principes aux outils

©2005 ATLAS NantesJournées Académiques Microsoft 2005 - Paris

ATL XMI and ATL text

Page 80: Ingénierie des modèles : des principes aux outils

©2005 ATLAS NantesJournées Académiques Microsoft 2005 - Paris

XSLT Ecore and XSLT text

Page 81: Ingénierie des modèles : des principes aux outils

©2005 ATLAS NantesJournées Académiques Microsoft 2005 - Paris

AMW example result

IN: RDBMS representation in XMI

<?xml version="1.0" encoding="UTF-8"?><Root:Database xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI"

xmlns:Root="http://relationalMetaSchema.ecore" xmi:id="Database1">

<books xmi:id="Books6"> <bookRcds xmi:id="BookRcd7"

ISBN="4455:33446:FR" Title="Model Weaving" Author="Myself"

SID="1"/> <bookRcds xmi:id="BookRcd8"

ISBN="44:55:66:US" Title="Data mapping" Author="Ralf"

SID="2"/> </books></Root:Database>

<subjects xmi:id="Subjects2"> <subjectRcd xmi:id="SubjectRcd3" SID="1"

Description="MDD"/> <subjectRcd xmi:id="SubjectRcd4" SID="2"

Description="Data mapping"/> <subjectRcd xmi:id="SubjectRcd5" SID="3"

Description="Computer Science"/> </subjects>

OUT: XML document

<?xml version="1.0" encoding="ASCII"?><Root:Root xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI"

xmlns:Root="Root">

<books ISBN="4455:33446:FR" Title="Model Weaving" Author="Myself">

<subjects SubjectID="1" Description="MDD"/> </books>

<books ISBN="44:55:66:US" Title="Data mapping" Author="Ralf"> <subjects SubjectID="2" Description="Data mapping"/> </books></Root:Root>

Page 82: Ingénierie des modèles : des principes aux outils

©2005 ATLAS NantesJournées Académiques Microsoft 2005 - Paris

Conclusion

MOF ECore MMM/MS/DSLM3

M2

M1

Eclipse

EMF/GMF

AMMA

Visual Studio

Team System

AMMA

Page 83: Ingénierie des modèles : des principes aux outils

©2005 ATLAS NantesJournées Académiques Microsoft 2005 - Paris

A first attempt to reverse engineer the DSL Metametamodel

Page 84: Ingénierie des modèles : des principes aux outils

©2005 ATLAS NantesJournées Académiques Microsoft 2005 - Paris

Thanks

Questions?Comments?

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