What is needed for managing co-evolution in MDE?<br />Dipartimento di InformaticaUniversità degli Studi dell’Aquila – Ital...
Outline<br />Introduction<br />Scenario<br />Changing a metamodel does not come alone:<br />Metamodel/model co-evolution<b...
Introduction<br />In MDE a domain-specific modeling language (DSML) consists of a collection of coordinated models<br />ab...
Introduction<br />Metamodels are the building blocks of any model development environment<br />The entities defined upon m...
Scenario<br />IWMCP2011 - June 30, 2011 - Zurich<br />
Scenario<br />IWMCP2011 - June 30, 2011 - Zurich<br />Metamodels are living entities which are constantly changing<br />
Scenario<br />IWMCP2011 - June 30, 2011 - Zurich<br />Whenever a metamodel undergoes modifications, all the corresponding ...
Changing a metamodel does not come alone<br />A number of relations which characterize the kind of rippleeffecthavebeenide...
Changing a metamodel does not come alone<br />A number of relations which characterize the kind of rippleeffecthavebeenide...
conformsTo: Metamodel/model co-evolution <br />Issue<br />Changes in the metamodel might compromise the validity of the ex...
domainConformsTo: Metamodel/Transformation co-evolution<br />Issue<br />inconsistencies arise when elements in the conside...
dependsOn: Metamodel/genericartifactco-evolution<br />Issue<br />Each different tool relies on a different dependsOn relat...
Co-evolution dimensions<br />IWMCP2011 - June 30, 2011 - Zurich<br />
Existing approaches<br />Existing approaches are based on different techniques for migrating the affected artifacts<br />o...
It is a programmatic approach consisting of a DSLfor specifying migration strategies for any kind of artifacts<br />The mi...
IWMCP2011 - June 30, 2011 - Zurich<br />
Migration<br />After a metamodeldifference (Delta) iseithercalculated or defined, the migrationstrategydefinedby a library...
A migration program<br />While adapting an artifact A conforming to MM, a rule mri is applied whenever the guardiis detect...
Migration rules<br />The body of a migration rule consists of a sequence of rewriting rules like the following<br />s[guar...
A simple ATL migrationrule<br />IWMCP2011 - June 30, 2011 - Zurich<br />
IWMCP2011 - June 30, 2011 - Zurich<br />
Rule guard, it detects change patterns on the metamodel delta<br />IWMCP2011 - June 30, 2011 - Zurich<br />
rewriting guard, it detects patterns on the artifact to be adapted<br />IWMCP2011 - June 30, 2011 - Zurich<br />
IWMCP2011 - June 30, 2011 - Zurich<br />
Conclusions<br />Co-evolution between metamodel/model has been intensively investigated over the last years<br />Co-evolut...
Whatisneeded?<br />A uniform and consistentapproachfordealingwithanykindofdependency in model-drivendevelopmentenvironment...
What is needed for managing co-evolution in MDE?<br />Dipartimento di InformaticaUniversità degli Studi dell’Aquila – Ital...
Upcoming SlideShare
Loading in...5
×

What is needed for managing co-evolution in MDE?

1,041

Published on

Metamodels can be considered one of the cardinal concepts of
Model-Driven Engineering and a number of coordinated entities,
suchasmodels, transformationsandtools, isdependingonit. Anal-
ogously to any software artifact, metamodels are equally prone to
evolution during their lifetime. As a consequence, whenever a
metamodelchanges, any related entity must be consistently adapted
for preserving its wellformedness, consistency, or intrinsic correct-
ness.

This work discusses the problem of co-adapting models, trans-
formations, and tools. Different aspects are taken into account and
a prospective and unifying characterization is given with the intend
ofclarifyingthemaindifficultiesandoutlinethebasicrequirements
for possible solutions. In this respect, EMFMigrate a comprehen-
sive approach to the metamodel co-evolution problem is proposed.

Published in: Technology, Spiritual
0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
1,041
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
0
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

What is needed for managing co-evolution in MDE?

  1. 1. What is needed for managing co-evolution in MDE?<br />Dipartimento di InformaticaUniversità degli Studi dell’Aquila – Italy <br />alfonso.pierantonio@univaq.it<br />Davide Di Ruscio, Ludovico Iovino, Alfonso Pierantonio<br />
  2. 2. Outline<br />Introduction<br />Scenario<br />Changing a metamodel does not come alone:<br />Metamodel/model co-evolution<br />Metamodel/transformation co-evolution<br />Metamodel/generic artifacts co-evolution<br />Co-evolution dimensions<br />EMFMigrate<br />Migration programs and rules<br />Example<br />Conclusions<br />Slideshare: http://slidesha.re/jvOm9m<br />IWMCP2011 - June 30, 2011 - Zurich<br />
  3. 3. Introduction<br />In MDE a domain-specific modeling language (DSML) consists of a collection of coordinated models<br />abstractand concrete syntaxes of the language<br />further aspects including semantic mapping(s)<br />The abstract syntax of DSMLs is typically expressed in terms of metamodels<br />EclipseModelingFramework (EMF)<br />3<br />IWMCP2011 - June 30, 2011 - Zurich<br />
  4. 4. Introduction<br />Metamodels are the building blocks of any model development environment<br />The entities defined upon metamodels include<br />Models<br />Model and Text Transformations<br />Syntax-directed and diagrammatic editors<br />Model differencing and analysis tools<br />Given a metamodel a number of metamodel-dependent artifacts are usually designed and implemented, eg.<br />GMF Editors<br />Code generators<br />IWMCP2011 - June 30, 2011 - Zurich<br />
  5. 5. Scenario<br />IWMCP2011 - June 30, 2011 - Zurich<br />
  6. 6. Scenario<br />IWMCP2011 - June 30, 2011 - Zurich<br />Metamodels are living entities which are constantly changing<br />
  7. 7. Scenario<br />IWMCP2011 - June 30, 2011 - Zurich<br />Whenever a metamodel undergoes modifications, all the corresponding entities must be accordingly adapted in order to remain valid.<br />
  8. 8. Changing a metamodel does not come alone<br />A number of relations which characterize the kind of rippleeffecthavebeenidentified<br />conformsTothe conformance relation betweenmetamodels and models<br />domainConformsTothe relation between a transformation and the metamodels it operates on<br />dependsOnanyarbitrary relation between a metamodel and modeling artifacts (eg. GMF models or Java code)<br />IWMCP2011 - June 30, 2011 - Zurich<br />
  9. 9. Changing a metamodel does not come alone<br />A number of relations which characterize the kind of rippleeffecthavebeenidentified<br />conformsTothe conformance relation betweenmetamodels and models<br />domainConformsTothe relation betweena transformation and the metamodels it operates on<br />dependsOnany arbitrary relation between a metamodel and modeling artifacts (eg. GMF models or Java code)<br />IWMCP2011 - June 30, 2011 - Zurich<br />When a metamodel changes these relations might be affected and the corresponding artifacts might be no longer valid<br />
  10. 10. conformsTo: Metamodel/model co-evolution <br />Issue<br />Changes in the metamodel might compromise the validity of the existing models which need to be consistently adapted to restore the conformance relation<br />Classification of changes<br />non-breaking changes<br />breaking and resolvable changes<br />breaking and unresolvable changes<br />IWMCP2011 - June 30, 2011 - Zurich<br />[EDOC 2008]<br />
  11. 11. domainConformsTo: Metamodel/Transformation co-evolution<br />Issue<br />inconsistencies arise when elements in the considered transformation no longer satisfy the domain conformance relation<br />Classification of adaptations<br />fully automated<br />partially automated<br />fully semantic<br />[Levendovszkyet al]<br />IWMCP2011 - June 30, 2011 - Zurich<br />
  12. 12. dependsOn: Metamodel/genericartifactco-evolution<br />Issue<br />Each different tool relies on a different dependsOn relation which is assumed by the tool implementation, eg<br />GMF editors are developed starting from a set of models coupled with the considered metamodel<br />Classification adaptation result<br />Unsound, the adapted artifact is broken<br />Uncomplete, the adapted artifact lacks capabilities<br />Sound, the adapted artifact is complete<br />IWMCP2011 - June 30, 2011 - Zurich<br />[SLE 2010]<br />
  13. 13. Co-evolution dimensions<br />IWMCP2011 - June 30, 2011 - Zurich<br />
  14. 14. Existing approaches<br />Existing approaches are based on different techniques for migrating the affected artifacts<br />operation-based<br />pros: <br />Locality: artifact and metamodel may be migrated together <br />cons: <br />Change recorders are required, thus change traces can be unavailable<br />Redundancy in multiple migrations<br />state-based <br />pros: <br />Interoperability among different platforms<br />cons: <br />Differencing accuracy, heuristics instead of semantics<br />Usually based on HOTs, lack of flexibility<br />IWMCP2011 - June 30, 2011 - Zurich<br />
  15. 15. It is a programmatic approach consisting of a DSLfor specifying migration strategies for any kind of artifacts<br />The migration strategies can be specified and collected in libraries, each formalizing a specific relation<br />conformsTo<br />domainConformsTo<br />dependsOn<br />Extension and customization are possible by means of linguistic features (refine, override) for deviating from default migration strategies<br />IWMCP2011 - June 30, 2011 - Zurich<br />
  16. 16. IWMCP2011 - June 30, 2011 - Zurich<br />
  17. 17. Migration<br />After a metamodeldifference (Delta) iseithercalculated or defined, the migrationstrategydefinedby a library (and itssubsequentextensions) ofrules can beusedtoadapt the correspondingartifacts<br />IWMCP2011 - June 30, 2011 - Zurich<br />
  18. 18. A migration program<br />While adapting an artifact A conforming to MM, a rule mri is applied whenever the guardiis detected on the metamodel Delta<br />IWMCP2011 - June 30, 2011 - Zurich<br />rewriting rules, in-place transformations<br />
  19. 19. Migration rules<br />The body of a migration rule consists of a sequence of rewriting rules like the following<br />s[guard] -> t1[assign1]; t2[assign2]; …tn[assignn]<br />where s, t1, …,tnrefer to metaclasses of the considered artifact metamodel(e.g. ATL, TCS), and guardis a booleanexpression which has to be true in order to rewrite swith t1, t2, and tn.<br />IWMCP2011 - June 30, 2011 - Zurich<br />
  20. 20. A simple ATL migrationrule<br />IWMCP2011 - June 30, 2011 - Zurich<br />
  21. 21. IWMCP2011 - June 30, 2011 - Zurich<br />
  22. 22. Rule guard, it detects change patterns on the metamodel delta<br />IWMCP2011 - June 30, 2011 - Zurich<br />
  23. 23. rewriting guard, it detects patterns on the artifact to be adapted<br />IWMCP2011 - June 30, 2011 - Zurich<br />
  24. 24. IWMCP2011 - June 30, 2011 - Zurich<br />
  25. 25. Conclusions<br />Co-evolution between metamodel/model has been intensively investigated over the last years<br />Co-evolutionbetweenmetamodel/modelis just onepossible case, plentyofothercases are demandingsupport<br />Using different techniques for different cases is still possible but requires too much effort, reduces regularity, and demands familiarity with too many notations and systems<br />We proposed EMFMigrate<br />a comprehensive and generic approach for any kind of co/evolution problem in MDE<br />IWMCP2011 - June 30, 2011 - Zurich<br />
  26. 26. Whatisneeded?<br />A uniform and consistentapproachfordealingwithanykindofdependency in model-drivendevelopmentenvironment<br />A programmaticyetdeclarativeapproachtodefine default migrationstrategies<br />Extensionmechanismforcustomizing default behavioraccordingtomigrationrequirement<br />Toolsupport and integration, usability, etc.<br />IWMCP2011 - June 30, 2011 - Zurich<br />
  27. 27. What is needed for managing co-evolution in MDE?<br />Dipartimento di InformaticaUniversità degli Studi dell’Aquila – Italy <br />alfonso.pierantonio@univaq.it<br />Davide Di Ruscio, Ludovico Iovino, Alfonso Pierantonio<br />Questions ?<br />

×