72
LSR ADELE Team www-adele.imag.fr/~jmfavre University of Grenoble IMAG ELISA, September 23, 2003, Amsterdam LSR ADELE Team University of Grenoble IMAG Meta-Model and Model co-evolution Jean-Marie Favre University of Grenoble

Meta-Model and Model co -evolutionsoft.vub.ac.be/FFSE/Workshops/ELISA-submissions/Favre-slides.pdfMMM Models Meta-models Meta-meta Models Java objects References to objects Appliware

  • Upload
    others

  • View
    27

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Meta-Model and Model co -evolutionsoft.vub.ac.be/FFSE/Workshops/ELISA-submissions/Favre-slides.pdfMMM Models Meta-models Meta-meta Models Java objects References to objects Appliware

LSR

ADELE Team

www-adele.imag.fr/~jmfavre

University of Grenoble

IMAG

ELISA, September 23, 2003, Amsterdam

LSR

ADELE TeamUniversity of Grenoble

IMAG

Meta-Model and Model co-evolution

Jean-Marie Favre University of Grenoble

Page 2: Meta-Model and Model co -evolutionsoft.vub.ac.be/FFSE/Workshops/ELISA-submissions/Favre-slides.pdfMMM Models Meta-models Meta-meta Models Java objects References to objects Appliware

LSR

ADELE Team

www-adele.imag.fr/~jmfavre

University of Grenoble

IMAG

ELISA, September 23, 2003, Amsterdam

OUTLINEOUTLINE

nn ConclusionConclusion

nn Motivation and backgroundMotivation and background : : IndustryIndustry

nn Software in 3DSoftware in 3Duu D1: meta dimensionD1: meta dimensionuu D2: engineering dimensionD2: engineering dimensionuu D3: representation dimensionD3: representation dimension

nn Evolution: entering the 4th dimension…Evolution: entering the 4th dimension…

Page 3: Meta-Model and Model co -evolutionsoft.vub.ac.be/FFSE/Workshops/ELISA-submissions/Favre-slides.pdfMMM Models Meta-models Meta-meta Models Java objects References to objects Appliware

LSR

ADELE Team

www-adele.imag.fr/~jmfavre

University of Grenoble

IMAG

ELISA, September 23, 2003, Amsterdam

LSR

ADELE TeamUniversity of Grenoble

IMAG

Part I :Part I :

Motivation and BackgroundMotivation and Background

Page 4: Meta-Model and Model co -evolutionsoft.vub.ac.be/FFSE/Workshops/ELISA-submissions/Favre-slides.pdfMMM Models Meta-models Meta-meta Models Java objects References to objects Appliware

LSR

ADELE Team

www-adele.imag.fr/~jmfavre

University of Grenoble

IMAG

ELISA, September 23, 2003, Amsterdam

Historical mistakes in Software Engineering Historical mistakes in Software Engineering

nn (1) Software is stable(1) Software is stable

nn (2) Software is made of programs(2) Software is made of programs

Everything evolve in complex industrial contextsEverything evolve in complex industrial contexts

Page 5: Meta-Model and Model co -evolutionsoft.vub.ac.be/FFSE/Workshops/ELISA-submissions/Favre-slides.pdfMMM Models Meta-models Meta-meta Models Java objects References to objects Appliware

LSR

ADELE Team

www-adele.imag.fr/~jmfavre

University of Grenoble

IMAG

ELISA, September 23, 2003, Amsterdam

Architecture and Code coArchitecture and Code co--evolution evolution

nn Explicit vs. implicit architectureExplicit vs. implicit architecturenn Architecture and code both evolveArchitecture and code both evolvenn Horizontal impactsHorizontal impactsnn Vertical impactsVertical impactsnn Synchronization and conformance issuesSynchronization and conformance issuesnn Risks of erosionRisks of erosionnn ArchitectureArchitecture--driven vs. codedriven vs. code--drivendriven

nn A "well identified" phenomenon nowadaysA "well identified" phenomenon nowadaysnn Initially neglected by academicsInitially neglected by academics

Code

Architecture

Page 6: Meta-Model and Model co -evolutionsoft.vub.ac.be/FFSE/Workshops/ELISA-submissions/Favre-slides.pdfMMM Models Meta-models Meta-meta Models Java objects References to objects Appliware

LSR

ADELE Team

www-adele.imag.fr/~jmfavre

University of Grenoble

IMAG

ELISA, September 23, 2003, Amsterdam

Architecture and Code coArchitecture and Code co--evolution evolution

nn Explicit vs. implicit architectureExplicit vs. implicit architecturenn Architecture and code both evolveArchitecture and code both evolvenn Horizontal impactsHorizontal impactsnn Vertical impactsVertical impactsnn ArchitectureArchitecture--driven vs. codedriven vs. code--drivendrivennn Synchronization and conformance issuesSynchronization and conformance issuesnn Risks of erosionRisks of erosion

nn A "well identified" phenomenon nowadaysA "well identified" phenomenon nowadaysnn Initially neglected by academicsInitially neglected by academics

code

architecture

Page 7: Meta-Model and Model co -evolutionsoft.vub.ac.be/FFSE/Workshops/ELISA-submissions/Favre-slides.pdfMMM Models Meta-models Meta-meta Models Java objects References to objects Appliware

LSR

ADELE Team

www-adele.imag.fr/~jmfavre

University of Grenoble

IMAG

ELISA, September 23, 2003, Amsterdam

Architecture and Code coArchitecture and Code co--evolution evolution

nn Explicit vs. implicit architectureExplicit vs. implicit architecturenn Architecture and code both evolveArchitecture and code both evolvenn Horizontal impactsHorizontal impactsnn Vertical impactsVertical impactsnn Synchronization and conformance issuesSynchronization and conformance issuesnn Risks of erosionRisks of erosionnn ArchitectureArchitecture--driven vs. codedriven vs. code--drivendriven

nn A "well identified" phenomenon nowadaysA "well identified" phenomenon nowadaysnn Initially neglected by academicsInitially neglected by academics

Code

Architecture

Page 8: Meta-Model and Model co -evolutionsoft.vub.ac.be/FFSE/Workshops/ELISA-submissions/Favre-slides.pdfMMM Models Meta-models Meta-meta Models Java objects References to objects Appliware

LSR

ADELE Team

www-adele.imag.fr/~jmfavre

University of Grenoble

IMAG

ELISA, September 23, 2003, Amsterdam

Program / Language / Tool coProgram / Language / Tool co--evolutionevolution

program

Program/LanguageProgram/Languagecoco--evolutionevolution Language/CompilerLanguage/Compiler

coco--evolutionevolution

Program/CompilerProgram/Compilercoco--evolutionevolution

language

compilerprogram

language

Page 9: Meta-Model and Model co -evolutionsoft.vub.ac.be/FFSE/Workshops/ELISA-submissions/Favre-slides.pdfMMM Models Meta-models Meta-meta Models Java objects References to objects Appliware

LSR

ADELE Team

www-adele.imag.fr/~jmfavre

University of Grenoble

IMAG

ELISA, September 23, 2003, Amsterdam

Program / Language / Tool coProgram / Language / Tool co--evolutionevolution

program

Program/LanguageProgram/Languagecoco--evolutionevolution Language/CompilerLanguage/Compiler

coco--evolutionevolution

Program/CompilerProgram/Compilercoco--evolutionevolution

language

compiler

language

compiler

Page 10: Meta-Model and Model co -evolutionsoft.vub.ac.be/FFSE/Workshops/ELISA-submissions/Favre-slides.pdfMMM Models Meta-models Meta-meta Models Java objects References to objects Appliware

LSR

ADELE Team

www-adele.imag.fr/~jmfavre

University of Grenoble

IMAG

ELISA, September 23, 2003, Amsterdam

Program / Language / Tool coProgram / Language / Tool co--evolutionevolution

program

Program/LanguageProgram/Languagecoco--evolutionevolution Language/CompilerLanguage/Compiler

coco--evolutionevolution

Program/CompilerProgram/Compilercoco--evolutionevolution

language

compilerprogram compiler

Page 11: Meta-Model and Model co -evolutionsoft.vub.ac.be/FFSE/Workshops/ELISA-submissions/Favre-slides.pdfMMM Models Meta-models Meta-meta Models Java objects References to objects Appliware

LSR

ADELE Team

www-adele.imag.fr/~jmfavre

University of Grenoble

IMAG

ELISA, September 23, 2003, Amsterdam

Program / Language / Tool coProgram / Language / Tool co--evolutionevolution

program

language

compiler

Page 12: Meta-Model and Model co -evolutionsoft.vub.ac.be/FFSE/Workshops/ELISA-submissions/Favre-slides.pdfMMM Models Meta-models Meta-meta Models Java objects References to objects Appliware

LSR

ADELE Team

www-adele.imag.fr/~jmfavre

University of Grenoble

IMAG

ELISA, September 23, 2003, Amsterdam

Model / MetaModel / Meta--Model / Tool coModel / Tool co--evolutionevolution

model

Model/MetamodelModel/Metamodelcoco--evolutionevolution Metamodel/ToolMetamodel/Tool

coco--evolutionevolution

Model/ToolModel/Toolcoco--evolutionevolution

metamodel

tool

Page 13: Meta-Model and Model co -evolutionsoft.vub.ac.be/FFSE/Workshops/ELISA-submissions/Favre-slides.pdfMMM Models Meta-models Meta-meta Models Java objects References to objects Appliware

LSR

ADELE Team

www-adele.imag.fr/~jmfavre

University of Grenoble

IMAG

ELISA, September 23, 2003, Amsterdam

data

Conceptual schema

Implementationschema

Schema Evolution Schema Evolution

Page 14: Meta-Model and Model co -evolutionsoft.vub.ac.be/FFSE/Workshops/ELISA-submissions/Favre-slides.pdfMMM Models Meta-models Meta-meta Models Java objects References to objects Appliware

LSR

ADELE Team

www-adele.imag.fr/~jmfavre

University of Grenoble

IMAG

ELISA, September 23, 2003, Amsterdam

Background :Background :A 7A 7--year case studyyear case study

Collaboration with industryCollaboration with industry

nn World leader in CAD/CAMWorld leader in CAD/CAMnn 19 000 clients, 180 000 seats19 000 clients, 180 000 seatsnn Clients: Boeing, Chrysler, …Clients: Boeing, Chrysler, …nn Main software: CATIAMain software: CATIA

Page 15: Meta-Model and Model co -evolutionsoft.vub.ac.be/FFSE/Workshops/ELISA-submissions/Favre-slides.pdfMMM Models Meta-models Meta-meta Models Java objects References to objects Appliware

LSR

ADELE Team

www-adele.imag.fr/~jmfavre

University of Grenoble

IMAG

ELISA, September 23, 2003, Amsterdam

CATIA: a very largeCATIA: a very largeSoftware Product LineSoftware Product Line

nn 1200+ software engineers1200+ software engineersnn 70 000+ classes C++70 000+ classes C++nn 8 000+ components8 000+ componentsnn 5 000+ interfaces5 000+ interfacesnn 3 000+ DLLs3 000+ DLLsnn 800+ frameworks800+ frameworksnn ……

Need to raise the levelNeed to raise the levelss of abstractionof abstractionnn ArchitectureArchitecturenn MetamodelMetamodel

Page 16: Meta-Model and Model co -evolutionsoft.vub.ac.be/FFSE/Workshops/ELISA-submissions/Favre-slides.pdfMMM Models Meta-models Meta-meta Models Java objects References to objects Appliware

LSR

ADELE Team

www-adele.imag.fr/~jmfavre

University of Grenoble

IMAG

ELISA, September 23, 2003, Amsterdam

A MetaA Meta--Model Driven Architecture Recovery ProcessModel Driven Architecture Recovery Process

Page 17: Meta-Model and Model co -evolutionsoft.vub.ac.be/FFSE/Workshops/ELISA-submissions/Favre-slides.pdfMMM Models Meta-models Meta-meta Models Java objects References to objects Appliware

LSR

ADELE Team

www-adele.imag.fr/~jmfavre

University of Grenoble

IMAG

ELISA, September 23, 2003, Amsterdam

LSR

ADELE TeamUniversity of Grenoble

IMAG

Part II :Part II :

The 3D Software SpaceThe 3D Software Space

Page 18: Meta-Model and Model co -evolutionsoft.vub.ac.be/FFSE/Workshops/ELISA-submissions/Favre-slides.pdfMMM Models Meta-models Meta-meta Models Java objects References to objects Appliware

LSR

ADELE Team

www-adele.imag.fr/~jmfavre

University of Grenoble

IMAG

ELISA, September 23, 2003, Amsterdam

The 3D Software spaceThe 3D Software space

Page 19: Meta-Model and Model co -evolutionsoft.vub.ac.be/FFSE/Workshops/ELISA-submissions/Favre-slides.pdfMMM Models Meta-models Meta-meta Models Java objects References to objects Appliware

LSR

ADELE Team

www-adele.imag.fr/~jmfavre

University of Grenoble

IMAG

ELISA, September 23, 2003, Amsterdam

The 3D Software spaceThe 3D Software space

Page 20: Meta-Model and Model co -evolutionsoft.vub.ac.be/FFSE/Workshops/ELISA-submissions/Favre-slides.pdfMMM Models Meta-models Meta-meta Models Java objects References to objects Appliware

LSR

ADELE Team

www-adele.imag.fr/~jmfavre

University of Grenoble

IMAG

ELISA, September 23, 2003, Amsterdam

The 3D Software spaceThe 3D Software space

Page 21: Meta-Model and Model co -evolutionsoft.vub.ac.be/FFSE/Workshops/ELISA-submissions/Favre-slides.pdfMMM Models Meta-models Meta-meta Models Java objects References to objects Appliware

LSR

ADELE Team

www-adele.imag.fr/~jmfavre

University of Grenoble

IMAG

ELISA, September 23, 2003, Amsterdam

The 3D Software spaceThe 3D Software space

Page 22: Meta-Model and Model co -evolutionsoft.vub.ac.be/FFSE/Workshops/ELISA-submissions/Favre-slides.pdfMMM Models Meta-models Meta-meta Models Java objects References to objects Appliware

LSR

ADELE Team

www-adele.imag.fr/~jmfavre

University of Grenoble

IMAG

ELISA, September 23, 2003, Amsterdam

A taxonomy of software artefactsA taxonomy of software artefacts

Page 23: Meta-Model and Model co -evolutionsoft.vub.ac.be/FFSE/Workshops/ELISA-submissions/Favre-slides.pdfMMM Models Meta-models Meta-meta Models Java objects References to objects Appliware

LSR

ADELE Team

www-adele.imag.fr/~jmfavre

University of Grenoble

IMAG

ELISA, September 23, 2003, Amsterdam

D1: The Meta dimensionD1: The Meta dimension

nn The MetaThe Meta--towerstowersnn The MetaThe Meta--pyramidpyramidnn The Meta actor pyramidThe Meta actor pyramid

Page 24: Meta-Model and Model co -evolutionsoft.vub.ac.be/FFSE/Workshops/ELISA-submissions/Favre-slides.pdfMMM Models Meta-models Meta-meta Models Java objects References to objects Appliware

LSR

ADELE Team

www-adele.imag.fr/~jmfavre

University of Grenoble

IMAG

ELISA, September 23, 2003, Amsterdam

D1: The MetaD1: The Meta--towerstowers

Page 25: Meta-Model and Model co -evolutionsoft.vub.ac.be/FFSE/Workshops/ELISA-submissions/Favre-slides.pdfMMM Models Meta-models Meta-meta Models Java objects References to objects Appliware

LSR

ADELE Team

www-adele.imag.fr/~jmfavre

University of Grenoble

IMAG

ELISA, September 23, 2003, Amsterdam

D1: The MetaD1: The Meta--pyramidpyramid

Page 26: Meta-Model and Model co -evolutionsoft.vub.ac.be/FFSE/Workshops/ELISA-submissions/Favre-slides.pdfMMM Models Meta-models Meta-meta Models Java objects References to objects Appliware

LSR

ADELE Team

www-adele.imag.fr/~jmfavre

University of Grenoble

IMAG

ELISA, September 23, 2003, Amsterdam

D1: The MetaD1: The Meta--pyramidpyramid

APPLIWARE

Page 27: Meta-Model and Model co -evolutionsoft.vub.ac.be/FFSE/Workshops/ELISA-submissions/Favre-slides.pdfMMM Models Meta-models Meta-meta Models Java objects References to objects Appliware

LSR

ADELE Team

www-adele.imag.fr/~jmfavre

University of Grenoble

IMAG

ELISA, September 23, 2003, Amsterdam

D1: The MetaD1: The Meta--pyramidpyramid

METAWARE

Page 28: Meta-Model and Model co -evolutionsoft.vub.ac.be/FFSE/Workshops/ELISA-submissions/Favre-slides.pdfMMM Models Meta-models Meta-meta Models Java objects References to objects Appliware

LSR

ADELE Team

www-adele.imag.fr/~jmfavre

University of Grenoble

IMAG

ELISA, September 23, 2003, Amsterdam

D1: The MetaD1: The Meta--pyramidpyramid

SOFTWARE

Page 29: Meta-Model and Model co -evolutionsoft.vub.ac.be/FFSE/Workshops/ELISA-submissions/Favre-slides.pdfMMM Models Meta-models Meta-meta Models Java objects References to objects Appliware

LSR

ADELE Team

www-adele.imag.fr/~jmfavre

University of Grenoble

IMAG

ELISA, September 23, 2003, Amsterdam

D1: The Meta actor pyramidD1: The Meta actor pyramid

Page 30: Meta-Model and Model co -evolutionsoft.vub.ac.be/FFSE/Workshops/ELISA-submissions/Favre-slides.pdfMMM Models Meta-models Meta-meta Models Java objects References to objects Appliware

LSR

ADELE Team

www-adele.imag.fr/~jmfavre

University of Grenoble

IMAG

ELISA, September 23, 2003, Amsterdam

D2: The Engineering DimensionD2: The Engineering Dimension

nn The EngineeringThe Engineering--towertowernn The EngineeringThe Engineering--pyramidpyramidnn The Engineering actor pyramidThe Engineering actor pyramid

Page 31: Meta-Model and Model co -evolutionsoft.vub.ac.be/FFSE/Workshops/ELISA-submissions/Favre-slides.pdfMMM Models Meta-models Meta-meta Models Java objects References to objects Appliware

LSR

ADELE Team

www-adele.imag.fr/~jmfavre

University of Grenoble

IMAG

ELISA, September 23, 2003, Amsterdam

D2: The Engineering PyramidD2: The Engineering Pyramid

Page 32: Meta-Model and Model co -evolutionsoft.vub.ac.be/FFSE/Workshops/ELISA-submissions/Favre-slides.pdfMMM Models Meta-models Meta-meta Models Java objects References to objects Appliware

LSR

ADELE Team

www-adele.imag.fr/~jmfavre

University of Grenoble

IMAG

ELISA, September 23, 2003, Amsterdam

D3

D2Use caseActor

Requirement

Host Executable

Subsystem

Components

Connectors

Functional Req.

Non Funct. Req.

Feature

Class Association

AssociationEnd

JavaClass

Statement

Package

Expression

JavaMethodJavaField

MM

class client implements Serializable {private String name ;private Vector Accounts ;public String getName( ) {

return this.name ;}public void setName( String name ) {

if (name == null) throws new NullPointerException() ;

this.name = name

Client*

accountsclient

name : string

1

balance : int

R1: all transfers must secured

CashMachine

<<tcpip>>BankServer

widthdraw

transferMoneyclient

R2: clients can transfer money either via cash machines and internet

Account

R3: withdraw requiresprevious identifiication

MInstances

D1

Symbol

Lines

Boxes

I

Tue 24 Dec, 10pmTom wants to withdraw 100€ from the cash machine located "12 rue de la monnaie" at Bruxelles

tom : client

The XB12 feature is running on the cash machine. The cash machine is connected to the ACME bank server executable XP23Serv via a secure connector.

balance= 24600

a231 : Account

balance= 300

a2204 : Account

name = "tom"

tom : Client

ACME bankserver

Cs29485

26400

300

"tom"

2

R

A

D

I

MMMModels Meta-models Meta-meta Models

Java objects References to objects

Appliware executionAppliware Metaware

Software

Cs292385 Cs291285

D1+D2: Meta + EngineeringD1+D2: Meta + Engineering

Page 33: Meta-Model and Model co -evolutionsoft.vub.ac.be/FFSE/Workshops/ELISA-submissions/Favre-slides.pdfMMM Models Meta-models Meta-meta Models Java objects References to objects Appliware

LSR

ADELE Team

www-adele.imag.fr/~jmfavre

University of Grenoble

IMAG

ELISA, September 23, 2003, Amsterdam

Page 34: Meta-Model and Model co -evolutionsoft.vub.ac.be/FFSE/Workshops/ELISA-submissions/Favre-slides.pdfMMM Models Meta-models Meta-meta Models Java objects References to objects Appliware

LSR

ADELE Team

www-adele.imag.fr/~jmfavre

University of Grenoble

IMAG

ELISA, September 23, 2003, Amsterdam

Page 35: Meta-Model and Model co -evolutionsoft.vub.ac.be/FFSE/Workshops/ELISA-submissions/Favre-slides.pdfMMM Models Meta-models Meta-meta Models Java objects References to objects Appliware

LSR

ADELE Team

www-adele.imag.fr/~jmfavre

University of Grenoble

IMAG

ELISA, September 23, 2003, Amsterdam

Page 36: Meta-Model and Model co -evolutionsoft.vub.ac.be/FFSE/Workshops/ELISA-submissions/Favre-slides.pdfMMM Models Meta-models Meta-meta Models Java objects References to objects Appliware

LSR

ADELE Team

www-adele.imag.fr/~jmfavre

University of Grenoble

IMAG

ELISA, September 23, 2003, Amsterdam

Page 37: Meta-Model and Model co -evolutionsoft.vub.ac.be/FFSE/Workshops/ELISA-submissions/Favre-slides.pdfMMM Models Meta-models Meta-meta Models Java objects References to objects Appliware

LSR

ADELE Team

www-adele.imag.fr/~jmfavre

University of Grenoble

IMAG

ELISA, September 23, 2003, Amsterdam

Page 38: Meta-Model and Model co -evolutionsoft.vub.ac.be/FFSE/Workshops/ELISA-submissions/Favre-slides.pdfMMM Models Meta-models Meta-meta Models Java objects References to objects Appliware

LSR

ADELE Team

www-adele.imag.fr/~jmfavre

University of Grenoble

IMAG

ELISA, September 23, 2003, Amsterdam

Page 39: Meta-Model and Model co -evolutionsoft.vub.ac.be/FFSE/Workshops/ELISA-submissions/Favre-slides.pdfMMM Models Meta-models Meta-meta Models Java objects References to objects Appliware

LSR

ADELE Team

www-adele.imag.fr/~jmfavre

University of Grenoble

IMAG

ELISA, September 23, 2003, Amsterdam

Page 40: Meta-Model and Model co -evolutionsoft.vub.ac.be/FFSE/Workshops/ELISA-submissions/Favre-slides.pdfMMM Models Meta-models Meta-meta Models Java objects References to objects Appliware

LSR

ADELE Team

www-adele.imag.fr/~jmfavre

University of Grenoble

IMAG

ELISA, September 23, 2003, Amsterdam

Page 41: Meta-Model and Model co -evolutionsoft.vub.ac.be/FFSE/Workshops/ELISA-submissions/Favre-slides.pdfMMM Models Meta-models Meta-meta Models Java objects References to objects Appliware

LSR

ADELE Team

www-adele.imag.fr/~jmfavre

University of Grenoble

IMAG

ELISA, September 23, 2003, Amsterdam

Page 42: Meta-Model and Model co -evolutionsoft.vub.ac.be/FFSE/Workshops/ELISA-submissions/Favre-slides.pdfMMM Models Meta-models Meta-meta Models Java objects References to objects Appliware

LSR

ADELE Team

www-adele.imag.fr/~jmfavre

University of Grenoble

IMAG

ELISA, September 23, 2003, Amsterdam

Page 43: Meta-Model and Model co -evolutionsoft.vub.ac.be/FFSE/Workshops/ELISA-submissions/Favre-slides.pdfMMM Models Meta-models Meta-meta Models Java objects References to objects Appliware

LSR

ADELE Team

www-adele.imag.fr/~jmfavre

University of Grenoble

IMAG

ELISA, September 23, 2003, Amsterdam

Page 44: Meta-Model and Model co -evolutionsoft.vub.ac.be/FFSE/Workshops/ELISA-submissions/Favre-slides.pdfMMM Models Meta-models Meta-meta Models Java objects References to objects Appliware

LSR

ADELE Team

www-adele.imag.fr/~jmfavre

University of Grenoble

IMAG

ELISA, September 23, 2003, Amsterdam

Page 45: Meta-Model and Model co -evolutionsoft.vub.ac.be/FFSE/Workshops/ELISA-submissions/Favre-slides.pdfMMM Models Meta-models Meta-meta Models Java objects References to objects Appliware

LSR

ADELE Team

www-adele.imag.fr/~jmfavre

University of Grenoble

IMAG

ELISA, September 23, 2003, Amsterdam

Page 46: Meta-Model and Model co -evolutionsoft.vub.ac.be/FFSE/Workshops/ELISA-submissions/Favre-slides.pdfMMM Models Meta-models Meta-meta Models Java objects References to objects Appliware

LSR

ADELE Team

www-adele.imag.fr/~jmfavre

University of Grenoble

IMAG

ELISA, September 23, 2003, Amsterdam

Page 47: Meta-Model and Model co -evolutionsoft.vub.ac.be/FFSE/Workshops/ELISA-submissions/Favre-slides.pdfMMM Models Meta-models Meta-meta Models Java objects References to objects Appliware

LSR

ADELE Team

www-adele.imag.fr/~jmfavre

University of Grenoble

IMAG

ELISA, September 23, 2003, Amsterdam

Page 48: Meta-Model and Model co -evolutionsoft.vub.ac.be/FFSE/Workshops/ELISA-submissions/Favre-slides.pdfMMM Models Meta-models Meta-meta Models Java objects References to objects Appliware

LSR

ADELE Team

www-adele.imag.fr/~jmfavre

University of Grenoble

IMAG

ELISA, September 23, 2003, Amsterdam

Page 49: Meta-Model and Model co -evolutionsoft.vub.ac.be/FFSE/Workshops/ELISA-submissions/Favre-slides.pdfMMM Models Meta-models Meta-meta Models Java objects References to objects Appliware

LSR

ADELE Team

www-adele.imag.fr/~jmfavre

University of Grenoble

IMAG

ELISA, September 23, 2003, Amsterdam

Page 50: Meta-Model and Model co -evolutionsoft.vub.ac.be/FFSE/Workshops/ELISA-submissions/Favre-slides.pdfMMM Models Meta-models Meta-meta Models Java objects References to objects Appliware

LSR

ADELE Team

www-adele.imag.fr/~jmfavre

University of Grenoble

IMAG

ELISA, September 23, 2003, Amsterdam

Page 51: Meta-Model and Model co -evolutionsoft.vub.ac.be/FFSE/Workshops/ELISA-submissions/Favre-slides.pdfMMM Models Meta-models Meta-meta Models Java objects References to objects Appliware

LSR

ADELE Team

www-adele.imag.fr/~jmfavre

University of Grenoble

IMAG

ELISA, September 23, 2003, Amsterdam

Page 52: Meta-Model and Model co -evolutionsoft.vub.ac.be/FFSE/Workshops/ELISA-submissions/Favre-slides.pdfMMM Models Meta-models Meta-meta Models Java objects References to objects Appliware

LSR

ADELE Team

www-adele.imag.fr/~jmfavre

University of Grenoble

IMAG

ELISA, September 23, 2003, Amsterdam

D3: The Representation DimensionD3: The Representation Dimension

nn The Representation TowersThe Representation Towersnn The Representation PyramidThe Representation Pyramidnn The Representation actorsThe Representation actors

Page 53: Meta-Model and Model co -evolutionsoft.vub.ac.be/FFSE/Workshops/ELISA-submissions/Favre-slides.pdfMMM Models Meta-models Meta-meta Models Java objects References to objects Appliware

LSR

ADELE Team

www-adele.imag.fr/~jmfavre

University of Grenoble

IMAG

ELISA, September 23, 2003, Amsterdam

D3: The Representation Towers D3: The Representation Towers

Page 54: Meta-Model and Model co -evolutionsoft.vub.ac.be/FFSE/Workshops/ELISA-submissions/Favre-slides.pdfMMM Models Meta-models Meta-meta Models Java objects References to objects Appliware

LSR

ADELE Team

www-adele.imag.fr/~jmfavre

University of Grenoble

IMAG

ELISA, September 23, 2003, Amsterdam

D3: The Representation Dimension D3: The Representation Dimension

Page 55: Meta-Model and Model co -evolutionsoft.vub.ac.be/FFSE/Workshops/ELISA-submissions/Favre-slides.pdfMMM Models Meta-models Meta-meta Models Java objects References to objects Appliware

LSR

ADELE Team

www-adele.imag.fr/~jmfavre

University of Grenoble

IMAG

ELISA, September 23, 2003, Amsterdam

Page 56: Meta-Model and Model co -evolutionsoft.vub.ac.be/FFSE/Workshops/ELISA-submissions/Favre-slides.pdfMMM Models Meta-models Meta-meta Models Java objects References to objects Appliware

LSR

ADELE Team

www-adele.imag.fr/~jmfavre

University of Grenoble

IMAG

ELISA, September 23, 2003, Amsterdam

Page 57: Meta-Model and Model co -evolutionsoft.vub.ac.be/FFSE/Workshops/ELISA-submissions/Favre-slides.pdfMMM Models Meta-models Meta-meta Models Java objects References to objects Appliware

LSR

ADELE Team

www-adele.imag.fr/~jmfavre

University of Grenoble

IMAG

ELISA, September 23, 2003, Amsterdam

Page 58: Meta-Model and Model co -evolutionsoft.vub.ac.be/FFSE/Workshops/ELISA-submissions/Favre-slides.pdfMMM Models Meta-models Meta-meta Models Java objects References to objects Appliware

LSR

ADELE Team

www-adele.imag.fr/~jmfavre

University of Grenoble

IMAG

ELISA, September 23, 2003, Amsterdam

Page 59: Meta-Model and Model co -evolutionsoft.vub.ac.be/FFSE/Workshops/ELISA-submissions/Favre-slides.pdfMMM Models Meta-models Meta-meta Models Java objects References to objects Appliware

LSR

ADELE Team

www-adele.imag.fr/~jmfavre

University of Grenoble

IMAG

ELISA, September 23, 2003, Amsterdam

Page 60: Meta-Model and Model co -evolutionsoft.vub.ac.be/FFSE/Workshops/ELISA-submissions/Favre-slides.pdfMMM Models Meta-models Meta-meta Models Java objects References to objects Appliware

LSR

ADELE Team

www-adele.imag.fr/~jmfavre

University of Grenoble

IMAG

ELISA, September 23, 2003, Amsterdam

Page 61: Meta-Model and Model co -evolutionsoft.vub.ac.be/FFSE/Workshops/ELISA-submissions/Favre-slides.pdfMMM Models Meta-models Meta-meta Models Java objects References to objects Appliware

LSR

ADELE Team

www-adele.imag.fr/~jmfavre

University of Grenoble

IMAG

ELISA, September 23, 2003, Amsterdam

Page 62: Meta-Model and Model co -evolutionsoft.vub.ac.be/FFSE/Workshops/ELISA-submissions/Favre-slides.pdfMMM Models Meta-models Meta-meta Models Java objects References to objects Appliware

LSR

ADELE Team

www-adele.imag.fr/~jmfavre

University of Grenoble

IMAG

ELISA, September 23, 2003, Amsterdam

Page 63: Meta-Model and Model co -evolutionsoft.vub.ac.be/FFSE/Workshops/ELISA-submissions/Favre-slides.pdfMMM Models Meta-models Meta-meta Models Java objects References to objects Appliware

LSR

ADELE Team

www-adele.imag.fr/~jmfavre

University of Grenoble

IMAG

ELISA, September 23, 2003, Amsterdam

Classifying Software ArtefactsClassifying Software Artefacts

nn Using the 3D Framework to classify software artefactsUsing the 3D Framework to classify software artefactsnn Coordinates in the reverse order D3Coordinates in the reverse order D3--D2D2--D1D1

nn Examples :Examples :nn CRCR--AA--MMMMnn ARAR--DD--MMnn ……

Page 64: Meta-Model and Model co -evolutionsoft.vub.ac.be/FFSE/Workshops/ELISA-submissions/Favre-slides.pdfMMM Models Meta-models Meta-meta Models Java objects References to objects Appliware

LSR

ADELE Team

www-adele.imag.fr/~jmfavre

University of Grenoble

IMAG

ELISA, September 23, 2003, Amsterdam

Classifying Software TransformationsClassifying Software Transformations

nn Transformations or processes as paths in 3DTransformations or processes as paths in 3Dnn Useful to classify SE tools and methodsUseful to classify SE tools and methods

nn Forward engineeringForward engineeringnn Reverse engineeringReverse engineeringnn Evolution & coEvolution & co--evolutionevolution

Page 65: Meta-Model and Model co -evolutionsoft.vub.ac.be/FFSE/Workshops/ELISA-submissions/Favre-slides.pdfMMM Models Meta-models Meta-meta Models Java objects References to objects Appliware

LSR

ADELE Team

www-adele.imag.fr/~jmfavre

University of Grenoble

IMAG

ELISA, September 23, 2003, Amsterdam

LSR

ADELE TeamUniversity of Grenoble

IMAG

EvolutionEvolution ::

Entering the fourth dimension…Entering the fourth dimension…

Page 66: Meta-Model and Model co -evolutionsoft.vub.ac.be/FFSE/Workshops/ELISA-submissions/Favre-slides.pdfMMM Models Meta-models Meta-meta Models Java objects References to objects Appliware

LSR

ADELE Team

www-adele.imag.fr/~jmfavre

University of Grenoble

IMAG

ELISA, September 23, 2003, Amsterdam

Evolution: Entering the Fourth Dimension (D4)Evolution: Entering the Fourth Dimension (D4)

Page 67: Meta-Model and Model co -evolutionsoft.vub.ac.be/FFSE/Workshops/ELISA-submissions/Favre-slides.pdfMMM Models Meta-models Meta-meta Models Java objects References to objects Appliware

LSR

ADELE Team

www-adele.imag.fr/~jmfavre

University of Grenoble

IMAG

ELISA, September 23, 2003, Amsterdam

CoCo--evolution along the engineering dimensionevolution along the engineering dimensionD2+D4D2+D4

Page 68: Meta-Model and Model co -evolutionsoft.vub.ac.be/FFSE/Workshops/ELISA-submissions/Favre-slides.pdfMMM Models Meta-models Meta-meta Models Java objects References to objects Appliware

LSR

ADELE Team

www-adele.imag.fr/~jmfavre

University of Grenoble

IMAG

ELISA, September 23, 2003, Amsterdam

CoCo--evolution along the meta dimensionevolution along the meta dimensionD1+D4D1+D4

Page 69: Meta-Model and Model co -evolutionsoft.vub.ac.be/FFSE/Workshops/ELISA-submissions/Favre-slides.pdfMMM Models Meta-models Meta-meta Models Java objects References to objects Appliware

LSR

ADELE Team

www-adele.imag.fr/~jmfavre

University of Grenoble

IMAG

ELISA, September 23, 2003, Amsterdam

nn Incremental definition of a proprietary component technologyIncremental definition of a proprietary component technologynn Incremental implementation of tools by the tool support teamIncremental implementation of tools by the tool support teamnn Production of componentProduction of component--based software at the same timebased software at the same time

nn MetaMeta--models should be versionnedmodels should be versionnednn Different variants of the metaDifferent variants of the meta--model usedmodel used

uu by different teams within DSby different teams within DSuu by partner companiesby partner companies

nn CoCo--evolution managed in adevolution managed in ad--hoc wayhoc waynn Manual or semiManual or semi--automatic transformationautomatic transformation

MetaMeta--model / model comodel / model co--evolution at DSevolution at DS

Page 70: Meta-Model and Model co -evolutionsoft.vub.ac.be/FFSE/Workshops/ELISA-submissions/Favre-slides.pdfMMM Models Meta-models Meta-meta Models Java objects References to objects Appliware

LSR

ADELE Team

www-adele.imag.fr/~jmfavre

University of Grenoble

IMAG

ELISA, September 23, 2003, Amsterdam

LSR

ADELE TeamUniversity of Grenoble

IMAG

ConclusionConclusion

Page 71: Meta-Model and Model co -evolutionsoft.vub.ac.be/FFSE/Workshops/ELISA-submissions/Favre-slides.pdfMMM Models Meta-models Meta-meta Models Java objects References to objects Appliware

LSR

ADELE Team

www-adele.imag.fr/~jmfavre

University of Grenoble

IMAG

ELISA, September 23, 2003, Amsterdam

Conclusion

nn Many academic issues related to metaMany academic issues related to meta--modeling / metamodeling / meta--programmingprogrammingnn More issues coming from industryMore issues coming from industrynn CoCo--evolution of metaevolution of meta--models and modelsmodels and modelsnn Reverse engineering metaReverse engineering meta--models models nn Tool support is requiredTool support is required

Supporting evolution at various levelSupporting evolution at various levelis an important requirement is an important requirement

for the success of for the success of modelmodel--driven approaches (e.g. MDA)driven approaches (e.g. MDA)

Meta-model for evolution vs. evolution of meta-models

Page 72: Meta-Model and Model co -evolutionsoft.vub.ac.be/FFSE/Workshops/ELISA-submissions/Favre-slides.pdfMMM Models Meta-models Meta-meta Models Java objects References to objects Appliware

LSR

ADELE Team

www-adele.imag.fr/~jmfavre

University of Grenoble

IMAG

ELISA, September 23, 2003, Amsterdam

Call For Papers

November 13, 2003, Victoria, BC, Canada www-adele.imag.fr/atem2003

With WCRE'2003

First International Workshop onMeta-models and Schemas

for Reverse Engineering

OrganizersJean-Marie Favre, University of Grenoble, FranceMike Godfrey, University of Waterloo, CanadaAndreas Winter, University Koblenz-Landau, Germany