Meta-Model and Model co-evolution Jean-Marie Favre University of - - PowerPoint PPT Presentation

meta model and model co evolution
SMART_READER_LITE
LIVE PREVIEW

Meta-Model and Model co-evolution Jean-Marie Favre University of - - PowerPoint PPT Presentation

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


slide-1
SLIDE 1

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

slide-2
SLIDE 2

LSR

ADELE Team

www-adele.imag.fr/~jmfavre

University of Grenoble

IMAG ELISA, September 23, 2003, Amsterdam

OUTLINE OUTLINE

I I Conclusion

Conclusion

I I Motivation and background

Motivation and background :

: Industry

Industry

I I Software in 3D

Software in 3D

N D1: meta dimension

D1: meta dimension

N D2: engineering dimension

D2: engineering dimension

N D3: representation dimension

D3: representation dimension I I Evolution: entering the 4th dimension…

Evolution: entering the 4th dimension…

slide-3
SLIDE 3

LSR

ADELE Team

www-adele.imag.fr/~jmfavre

University of Grenoble

IMAG ELISA, September 23, 2003, Amsterdam LSR

ADELE Team University of Grenoble

IMAG

Part I : Part I :

Motivation and Background Motivation and Background

slide-4
SLIDE 4

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

I

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

I

(2) Software is made of programs (2) Software is made of programs Everything evolve in complex industrial contexts Everything evolve in complex industrial contexts

slide-5
SLIDE 5

LSR

ADELE Team

www-adele.imag.fr/~jmfavre

University of Grenoble

IMAG ELISA, September 23, 2003, Amsterdam

Architecture and Code co Architecture and Code co-

  • evolution

evolution

I

Explicit vs. implicit architecture Explicit vs. implicit architecture

I

Architecture and code both evolve Architecture and code both evolve

I

Horizontal impacts Horizontal impacts

I

Vertical impacts Vertical impacts

I

Synchronization and conformance issues Synchronization and conformance issues

I

Risks of erosion Risks of erosion

I

Architecture Architecture-

  • driven vs. code

driven vs. code-

  • driven

driven

I

A "well identified" phenomenon nowadays A "well identified" phenomenon nowadays

I

Initially neglected by academics Initially neglected by academics Code

Architecture

slide-6
SLIDE 6

LSR

ADELE Team

www-adele.imag.fr/~jmfavre

University of Grenoble

IMAG ELISA, September 23, 2003, Amsterdam

Architecture and Code co Architecture and Code co-

  • evolution

evolution

I

Explicit vs. implicit architecture Explicit vs. implicit architecture

I

Architecture and code both evolve Architecture and code both evolve

I

Horizontal impacts Horizontal impacts

I

Vertical impacts Vertical impacts

I

Architecture Architecture-

  • driven vs. code

driven vs. code-

  • driven

driven

I

Synchronization and conformance issues Synchronization and conformance issues

I

Risks of erosion Risks of erosion

I

A "well identified" phenomenon nowadays A "well identified" phenomenon nowadays

I

Initially neglected by academics Initially neglected by academics

code

architecture

slide-7
SLIDE 7

LSR

ADELE Team

www-adele.imag.fr/~jmfavre

University of Grenoble

IMAG ELISA, September 23, 2003, Amsterdam

Architecture and Code co Architecture and Code co-

  • evolution

evolution

I

Explicit vs. implicit architecture Explicit vs. implicit architecture

I

Architecture and code both evolve Architecture and code both evolve

I

Horizontal impacts Horizontal impacts

I

Vertical impacts Vertical impacts

I

Synchronization and conformance issues Synchronization and conformance issues

I

Risks of erosion Risks of erosion

I

Architecture Architecture-

  • driven vs. code

driven vs. code-

  • driven

driven

I

A "well identified" phenomenon nowadays A "well identified" phenomenon nowadays

I

Initially neglected by academics Initially neglected by academics Code

Architecture

slide-8
SLIDE 8

LSR

ADELE Team

www-adele.imag.fr/~jmfavre

University of Grenoble

IMAG ELISA, September 23, 2003, Amsterdam

Program / Language / Tool co Program / Language / Tool co-

  • evolution

evolution

program Program/Language Program/Language co co-

  • evolution

evolution Language/Compiler Language/Compiler co co-

  • evolution

evolution Program/Compiler Program/Compiler co co-

  • evolution

evolution language compiler program language

slide-9
SLIDE 9

LSR

ADELE Team

www-adele.imag.fr/~jmfavre

University of Grenoble

IMAG ELISA, September 23, 2003, Amsterdam

Program / Language / Tool co Program / Language / Tool co-

  • evolution

evolution

program Program/Language Program/Language co co-

  • evolution

evolution Language/Compiler Language/Compiler co co-

  • evolution

evolution Program/Compiler Program/Compiler co co-

  • evolution

evolution language compiler language compiler

slide-10
SLIDE 10

LSR

ADELE Team

www-adele.imag.fr/~jmfavre

University of Grenoble

IMAG ELISA, September 23, 2003, Amsterdam

Program / Language / Tool co Program / Language / Tool co-

  • evolution

evolution

program Program/Language Program/Language co co-

  • evolution

evolution Language/Compiler Language/Compiler co co-

  • evolution

evolution Program/Compiler Program/Compiler co co-

  • evolution

evolution language compiler program compiler

slide-11
SLIDE 11

LSR

ADELE Team

www-adele.imag.fr/~jmfavre

University of Grenoble

IMAG ELISA, September 23, 2003, Amsterdam

Program / Language / Tool co Program / Language / Tool co-

  • evolution

evolution

program language compiler

slide-12
SLIDE 12

LSR

ADELE Team

www-adele.imag.fr/~jmfavre

University of Grenoble

IMAG ELISA, September 23, 2003, Amsterdam

Model / Meta Model / Meta-

  • Model / Tool co

Model / Tool co-

  • evolution

evolution

model Model/Metamodel Model/Metamodel co co-

  • evolution

evolution Metamodel/Tool Metamodel/Tool co co-

  • evolution

evolution Model/Tool Model/Tool co co-

  • evolution

evolution metamodel tool

slide-13
SLIDE 13

LSR

ADELE Team

www-adele.imag.fr/~jmfavre

University of Grenoble

IMAG ELISA, September 23, 2003, Amsterdam

data

Conceptual schema Implementation schema

Schema Evolution Schema Evolution

slide-14
SLIDE 14

LSR

ADELE Team

www-adele.imag.fr/~jmfavre

University of Grenoble

IMAG ELISA, September 23, 2003, Amsterdam

Background : Background : A 7 A 7-

  • year case study

year case study

Collaboration with industry Collaboration with industry

I

World leader in CAD/CAM World leader in CAD/CAM

I

19 000 clients, 180 000 seats 19 000 clients, 180 000 seats

I

Clients: Boeing, Chrysler, … Clients: Boeing, Chrysler, …

I

Main software: CATIA Main software: CATIA

slide-15
SLIDE 15

LSR

ADELE Team

www-adele.imag.fr/~jmfavre

University of Grenoble

IMAG ELISA, September 23, 2003, Amsterdam

CATIA: a very large CATIA: a very large Software Product Line Software Product Line

I

1200+ software engineers 1200+ software engineers

I

70 000+ classes C++ 70 000+ classes C++

I

8 000+ components 8 000+ components

I

5 000+ interfaces 5 000+ interfaces

I

3 000+ DLLs 3 000+ DLLs

I

800+ frameworks 800+ frameworks

I

… … Need to raise the level Need to raise the levels s of abstraction

  • f abstraction

I Architecture

Architecture

I Metamodel

Metamodel

slide-16
SLIDE 16

LSR

ADELE Team

www-adele.imag.fr/~jmfavre

University of Grenoble

IMAG ELISA, September 23, 2003, Amsterdam

A Meta A Meta-

  • Model Driven Architecture Recovery Process

Model Driven Architecture Recovery Process

slide-17
SLIDE 17

LSR

ADELE Team

www-adele.imag.fr/~jmfavre

University of Grenoble

IMAG ELISA, September 23, 2003, Amsterdam LSR

ADELE Team University of Grenoble

IMAG

Part II : Part II :

The 3D Software Space The 3D Software Space

slide-18
SLIDE 18

LSR

ADELE Team

www-adele.imag.fr/~jmfavre

University of Grenoble

IMAG ELISA, September 23, 2003, Amsterdam

The 3D Software space The 3D Software space

slide-19
SLIDE 19

LSR

ADELE Team

www-adele.imag.fr/~jmfavre

University of Grenoble

IMAG ELISA, September 23, 2003, Amsterdam

The 3D Software space The 3D Software space

slide-20
SLIDE 20

LSR

ADELE Team

www-adele.imag.fr/~jmfavre

University of Grenoble

IMAG ELISA, September 23, 2003, Amsterdam

The 3D Software space The 3D Software space

slide-21
SLIDE 21

LSR

ADELE Team

www-adele.imag.fr/~jmfavre

University of Grenoble

IMAG ELISA, September 23, 2003, Amsterdam

The 3D Software space The 3D Software space

slide-22
SLIDE 22

LSR

ADELE Team

www-adele.imag.fr/~jmfavre

University of Grenoble

IMAG ELISA, September 23, 2003, Amsterdam

A taxonomy of software artefacts A taxonomy of software artefacts

slide-23
SLIDE 23

LSR

ADELE Team

www-adele.imag.fr/~jmfavre

University of Grenoble

IMAG ELISA, September 23, 2003, Amsterdam

D1: The Meta dimension D1: The Meta dimension

I

The Meta The Meta-

  • towers

towers

I

The Meta The Meta-

  • pyramid

pyramid

I

The Meta actor pyramid The Meta actor pyramid

slide-24
SLIDE 24

LSR

ADELE Team

www-adele.imag.fr/~jmfavre

University of Grenoble

IMAG ELISA, September 23, 2003, Amsterdam

D1: The Meta D1: The Meta-

  • towers

towers

slide-25
SLIDE 25

LSR

ADELE Team

www-adele.imag.fr/~jmfavre

University of Grenoble

IMAG ELISA, September 23, 2003, Amsterdam

D1: The Meta D1: The Meta-

  • pyramid

pyramid

slide-26
SLIDE 26

LSR

ADELE Team

www-adele.imag.fr/~jmfavre

University of Grenoble

IMAG ELISA, September 23, 2003, Amsterdam

D1: The Meta D1: The Meta-

  • pyramid

pyramid

APPLIWARE

slide-27
SLIDE 27

LSR

ADELE Team

www-adele.imag.fr/~jmfavre

University of Grenoble

IMAG ELISA, September 23, 2003, Amsterdam

D1: The Meta D1: The Meta-

  • pyramid

pyramid

METAWARE

slide-28
SLIDE 28

LSR

ADELE Team

www-adele.imag.fr/~jmfavre

University of Grenoble

IMAG ELISA, September 23, 2003, Amsterdam

D1: The Meta D1: The Meta-

  • pyramid

pyramid SOFTWARE

slide-29
SLIDE 29

LSR

ADELE Team

www-adele.imag.fr/~jmfavre

University of Grenoble

IMAG ELISA, September 23, 2003, Amsterdam

D1: The Meta actor pyramid D1: The Meta actor pyramid

slide-30
SLIDE 30

LSR

ADELE Team

www-adele.imag.fr/~jmfavre

University of Grenoble

IMAG ELISA, September 23, 2003, Amsterdam

D2: The Engineering Dimension D2: The Engineering Dimension

I

The Engineering The Engineering-

  • tower

tower

I

The Engineering The Engineering-

  • pyramid

pyramid

I

The Engineering actor pyramid The Engineering actor pyramid

slide-31
SLIDE 31

LSR

ADELE Team

www-adele.imag.fr/~jmfavre

University of Grenoble

IMAG ELISA, September 23, 2003, Amsterdam

D2: The Engineering Pyramid D2: The Engineering Pyramid

slide-32
SLIDE 32

LSR

ADELE Team

www-adele.imag.fr/~jmfavre

University of Grenoble

IMAG ELISA, September 23, 2003, Amsterdam

D3 D2

Use case Actor Requirement Host Executable Subsystem Components Connectors Functional Req. Non Funct. Req. Feature Class Association AssociationEnd JavaClass Statement Package Expression JavaMethod JavaField

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 * accounts client name : string 1 balance : int

R1: all transfers must secured

Cash Machine <<tcpip>> Bank Server widthdraw transferMoney client

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

Account

R3: withdraw requires previous identifiication

M Instances

D1

Symbol Lines Boxes

I

Tue 24 Dec, 10pm Tom 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 bank server

Cs29485

26400 300 "tom" 2

R A D I MMM Models Meta-models Meta-meta Models

Java objects References to objects

Appliware execution Appliware Metaware Software

Cs292385 Cs291285

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

slide-33
SLIDE 33

LSR

ADELE Team

www-adele.imag.fr/~jmfavre

University of Grenoble

IMAG ELISA, September 23, 2003, Amsterdam

slide-34
SLIDE 34

LSR

ADELE Team

www-adele.imag.fr/~jmfavre

University of Grenoble

IMAG ELISA, September 23, 2003, Amsterdam

slide-35
SLIDE 35

LSR

ADELE Team

www-adele.imag.fr/~jmfavre

University of Grenoble

IMAG ELISA, September 23, 2003, Amsterdam

slide-36
SLIDE 36

LSR

ADELE Team

www-adele.imag.fr/~jmfavre

University of Grenoble

IMAG ELISA, September 23, 2003, Amsterdam

slide-37
SLIDE 37

LSR

ADELE Team

www-adele.imag.fr/~jmfavre

University of Grenoble

IMAG ELISA, September 23, 2003, Amsterdam

slide-38
SLIDE 38

LSR

ADELE Team

www-adele.imag.fr/~jmfavre

University of Grenoble

IMAG ELISA, September 23, 2003, Amsterdam

slide-39
SLIDE 39

LSR

ADELE Team

www-adele.imag.fr/~jmfavre

University of Grenoble

IMAG ELISA, September 23, 2003, Amsterdam

slide-40
SLIDE 40

LSR

ADELE Team

www-adele.imag.fr/~jmfavre

University of Grenoble

IMAG ELISA, September 23, 2003, Amsterdam

slide-41
SLIDE 41

LSR

ADELE Team

www-adele.imag.fr/~jmfavre

University of Grenoble

IMAG ELISA, September 23, 2003, Amsterdam

slide-42
SLIDE 42

LSR

ADELE Team

www-adele.imag.fr/~jmfavre

University of Grenoble

IMAG ELISA, September 23, 2003, Amsterdam

slide-43
SLIDE 43

LSR

ADELE Team

www-adele.imag.fr/~jmfavre

University of Grenoble

IMAG ELISA, September 23, 2003, Amsterdam

slide-44
SLIDE 44

LSR

ADELE Team

www-adele.imag.fr/~jmfavre

University of Grenoble

IMAG ELISA, September 23, 2003, Amsterdam

slide-45
SLIDE 45

LSR

ADELE Team

www-adele.imag.fr/~jmfavre

University of Grenoble

IMAG ELISA, September 23, 2003, Amsterdam

slide-46
SLIDE 46

LSR

ADELE Team

www-adele.imag.fr/~jmfavre

University of Grenoble

IMAG ELISA, September 23, 2003, Amsterdam

slide-47
SLIDE 47

LSR

ADELE Team

www-adele.imag.fr/~jmfavre

University of Grenoble

IMAG ELISA, September 23, 2003, Amsterdam

slide-48
SLIDE 48

LSR

ADELE Team

www-adele.imag.fr/~jmfavre

University of Grenoble

IMAG ELISA, September 23, 2003, Amsterdam

slide-49
SLIDE 49

LSR

ADELE Team

www-adele.imag.fr/~jmfavre

University of Grenoble

IMAG ELISA, September 23, 2003, Amsterdam

slide-50
SLIDE 50

LSR

ADELE Team

www-adele.imag.fr/~jmfavre

University of Grenoble

IMAG ELISA, September 23, 2003, Amsterdam

slide-51
SLIDE 51

LSR

ADELE Team

www-adele.imag.fr/~jmfavre

University of Grenoble

IMAG ELISA, September 23, 2003, Amsterdam

slide-52
SLIDE 52

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

I

The Representation Towers The Representation Towers

I

The Representation Pyramid The Representation Pyramid

I

The Representation actors The Representation actors

slide-53
SLIDE 53

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

slide-54
SLIDE 54

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

slide-55
SLIDE 55

LSR

ADELE Team

www-adele.imag.fr/~jmfavre

University of Grenoble

IMAG ELISA, September 23, 2003, Amsterdam

slide-56
SLIDE 56

LSR

ADELE Team

www-adele.imag.fr/~jmfavre

University of Grenoble

IMAG ELISA, September 23, 2003, Amsterdam

slide-57
SLIDE 57

LSR

ADELE Team

www-adele.imag.fr/~jmfavre

University of Grenoble

IMAG ELISA, September 23, 2003, Amsterdam

slide-58
SLIDE 58

LSR

ADELE Team

www-adele.imag.fr/~jmfavre

University of Grenoble

IMAG ELISA, September 23, 2003, Amsterdam

slide-59
SLIDE 59

LSR

ADELE Team

www-adele.imag.fr/~jmfavre

University of Grenoble

IMAG ELISA, September 23, 2003, Amsterdam

slide-60
SLIDE 60

LSR

ADELE Team

www-adele.imag.fr/~jmfavre

University of Grenoble

IMAG ELISA, September 23, 2003, Amsterdam

slide-61
SLIDE 61

LSR

ADELE Team

www-adele.imag.fr/~jmfavre

University of Grenoble

IMAG ELISA, September 23, 2003, Amsterdam

slide-62
SLIDE 62

LSR

ADELE Team

www-adele.imag.fr/~jmfavre

University of Grenoble

IMAG ELISA, September 23, 2003, Amsterdam

slide-63
SLIDE 63

LSR

ADELE Team

www-adele.imag.fr/~jmfavre

University of Grenoble

IMAG ELISA, September 23, 2003, Amsterdam

Classifying Software Artefacts Classifying Software Artefacts

I

Using the 3D Framework to classify software artefacts Using the 3D Framework to classify software artefacts

I

Coordinates in the reverse order D3 Coordinates in the reverse order D3-

  • D2

D2-

  • D1

D1

I

Examples : Examples :

I CR

CR-

  • A

A-

  • MM

MM

I AR

AR-

  • D

D-

  • M

M

I …

slide-64
SLIDE 64

LSR

ADELE Team

www-adele.imag.fr/~jmfavre

University of Grenoble

IMAG ELISA, September 23, 2003, Amsterdam

Classifying Software Transformations Classifying Software Transformations

I

Transformations or processes as paths in 3D Transformations or processes as paths in 3D

I

Useful to classify SE tools and methods Useful to classify SE tools and methods

I

Forward engineering Forward engineering

I

Reverse engineering Reverse engineering

I

Evolution & co Evolution & co-

  • evolution

evolution

slide-65
SLIDE 65

LSR

ADELE Team

www-adele.imag.fr/~jmfavre

University of Grenoble

IMAG ELISA, September 23, 2003, Amsterdam LSR

ADELE Team University of Grenoble

IMAG

Evolution Evolution :

:

Entering the fourth dimension… Entering the fourth dimension…

slide-66
SLIDE 66

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)

slide-67
SLIDE 67

LSR

ADELE Team

www-adele.imag.fr/~jmfavre

University of Grenoble

IMAG ELISA, September 23, 2003, Amsterdam

Co Co-

  • evolution along the engineering dimension

evolution along the engineering dimension D2+D4 D2+D4

slide-68
SLIDE 68

LSR

ADELE Team

www-adele.imag.fr/~jmfavre

University of Grenoble

IMAG ELISA, September 23, 2003, Amsterdam

Co Co-

  • evolution along the meta dimension

evolution along the meta dimension D1+D4 D1+D4

slide-69
SLIDE 69

LSR

ADELE Team

www-adele.imag.fr/~jmfavre

University of Grenoble

IMAG ELISA, September 23, 2003, Amsterdam

I

Incremental definition of a proprietary component technology Incremental definition of a proprietary component technology

I

Incremental implementation of tools by the tool support team Incremental implementation of tools by the tool support team

I

Production of component Production of component-

  • based software at the same time

based software at the same time

I

Meta Meta-

  • models should be versionned

models should be versionned

I

Different variants of the meta Different variants of the meta-

  • model used

model used

N by different teams within DS

by different teams within DS

N by partner companies

by partner companies

I

Co Co-

  • evolution managed in ad

evolution managed in ad-

  • hoc way

hoc way

I

Manual or semi Manual or semi-

  • automatic transformation

automatic transformation

Meta Meta-

  • model / model co

model / model co-

  • evolution at DS

evolution at DS

slide-70
SLIDE 70

LSR

ADELE Team

www-adele.imag.fr/~jmfavre

University of Grenoble

IMAG ELISA, September 23, 2003, Amsterdam LSR

ADELE Team University of Grenoble

IMAG

Conclusion Conclusion

slide-71
SLIDE 71

LSR

ADELE Team

www-adele.imag.fr/~jmfavre

University of Grenoble

IMAG ELISA, September 23, 2003, Amsterdam

Conclusion

I

Many academic issues related to meta Many academic issues related to meta-

  • modeling / meta

modeling / meta-

  • programming

programming

I

More issues coming from industry More issues coming from industry

I

Co Co-

  • evolution of meta

evolution of meta-

  • models and models

models and models

I

Reverse engineering meta Reverse engineering meta-

  • models

models

I

Tool support is required Tool support is required Supporting evolution at various level Supporting evolution at various level is an important requirement is an important requirement for the success of for the success of model model-

  • driven approaches (e.g. MDA)

driven approaches (e.g. MDA) Meta-model for evolution vs. evolution of meta-models

slide-72
SLIDE 72

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 on Meta-models and Schemas for Reverse Engineering

Organizers Jean-Marie Favre, University of Grenoble, France Mike Godfrey, University of Waterloo, Canada Andreas Winter, University Koblenz-Landau, Germany