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

Mais conteúdo relacionado

Destaque

Model Management in Model-Driven Engineering
Model Management in Model-Driven EngineeringModel Management in Model-Driven Engineering
Model Management in Model-Driven EngineeringAlfonso Pierantonio
 
A Study on MDE Approaches for Engineering Wireless Sensor Networks
A Study on MDE Approaches  for Engineering Wireless Sensor Networks A Study on MDE Approaches  for Engineering Wireless Sensor Networks
A Study on MDE Approaches for Engineering Wireless Sensor Networks Ivano Malavolta
 
Automated chaining of model transformations with incompatible metamodels
Automated chaining of model transformations with incompatible metamodelsAutomated chaining of model transformations with incompatible metamodels
Automated chaining of model transformations with incompatible metamodelsAlfonso Pierantonio
 
Keynote at Educators Symposium, ACM/IEEE 19th Intl. Conference on Model Drive...
Keynote at Educators Symposium, ACM/IEEE 19th Intl. Conference on Model Drive...Keynote at Educators Symposium, ACM/IEEE 19th Intl. Conference on Model Drive...
Keynote at Educators Symposium, ACM/IEEE 19th Intl. Conference on Model Drive...Alfonso Pierantonio
 
Non determinism and bidirectional model transformations
Non determinism and bidirectional model transformationsNon determinism and bidirectional model transformations
Non determinism and bidirectional model transformationsAlfonso Pierantonio
 
Managing Uncertainty in Bidirectional Model Transformations
Managing Uncertainty in Bidirectional Model Transformations Managing Uncertainty in Bidirectional Model Transformations
Managing Uncertainty in Bidirectional Model Transformations Alfonso Pierantonio
 
Supporting Users to Manage Breaking and Unresolvable Changes in Coupled Evolu...
Supporting Users to Manage Breaking and Unresolvable Changes in Coupled Evolu...Supporting Users to Manage Breaking and Unresolvable Changes in Coupled Evolu...
Supporting Users to Manage Breaking and Unresolvable Changes in Coupled Evolu...Alfonso Pierantonio
 
Ch5- Software Engineering 9
Ch5- Software Engineering 9Ch5- Software Engineering 9
Ch5- Software Engineering 9Ian Sommerville
 

Destaque (8)

Model Management in Model-Driven Engineering
Model Management in Model-Driven EngineeringModel Management in Model-Driven Engineering
Model Management in Model-Driven Engineering
 
A Study on MDE Approaches for Engineering Wireless Sensor Networks
A Study on MDE Approaches  for Engineering Wireless Sensor Networks A Study on MDE Approaches  for Engineering Wireless Sensor Networks
A Study on MDE Approaches for Engineering Wireless Sensor Networks
 
Automated chaining of model transformations with incompatible metamodels
Automated chaining of model transformations with incompatible metamodelsAutomated chaining of model transformations with incompatible metamodels
Automated chaining of model transformations with incompatible metamodels
 
Keynote at Educators Symposium, ACM/IEEE 19th Intl. Conference on Model Drive...
Keynote at Educators Symposium, ACM/IEEE 19th Intl. Conference on Model Drive...Keynote at Educators Symposium, ACM/IEEE 19th Intl. Conference on Model Drive...
Keynote at Educators Symposium, ACM/IEEE 19th Intl. Conference on Model Drive...
 
Non determinism and bidirectional model transformations
Non determinism and bidirectional model transformationsNon determinism and bidirectional model transformations
Non determinism and bidirectional model transformations
 
Managing Uncertainty in Bidirectional Model Transformations
Managing Uncertainty in Bidirectional Model Transformations Managing Uncertainty in Bidirectional Model Transformations
Managing Uncertainty in Bidirectional Model Transformations
 
Supporting Users to Manage Breaking and Unresolvable Changes in Coupled Evolu...
Supporting Users to Manage Breaking and Unresolvable Changes in Coupled Evolu...Supporting Users to Manage Breaking and Unresolvable Changes in Coupled Evolu...
Supporting Users to Manage Breaking and Unresolvable Changes in Coupled Evolu...
 
Ch5- Software Engineering 9
Ch5- Software Engineering 9Ch5- Software Engineering 9
Ch5- Software Engineering 9
 

Semelhante a Managing Co-Evolution in Model-Driven Engineering

MoDisco & ATL - Eclipse DemoCamp Indigo 2011 in Nantes
MoDisco & ATL - Eclipse DemoCamp Indigo 2011 in NantesMoDisco & ATL - Eclipse DemoCamp Indigo 2011 in Nantes
MoDisco & ATL - Eclipse DemoCamp Indigo 2011 in NantesHugo Bruneliere
 
Model versioning in context of living
Model versioning in context of livingModel versioning in context of living
Model versioning in context of livingijseajournal
 
Evolution in the Large and in the Small in Model-Driven Development
Evolution in the Large and in the Small in Model-Driven DevelopmentEvolution in the Large and in the Small in Model-Driven Development
Evolution in the Large and in the Small in Model-Driven DevelopmentAlfonso Pierantonio
 
MC0083 – Object Oriented Analysis &. Design using UML - Master of Computer Sc...
MC0083 – Object Oriented Analysis &. Design using UML - Master of Computer Sc...MC0083 – Object Oriented Analysis &. Design using UML - Master of Computer Sc...
MC0083 – Object Oriented Analysis &. Design using UML - Master of Computer Sc...Aravind NC
 
The OMG UML Testing Profile in Use--An Industrial Case Study for the Future I...
The OMG UML Testing Profile in Use--An Industrial Case Study for the Future I...The OMG UML Testing Profile in Use--An Industrial Case Study for the Future I...
The OMG UML Testing Profile in Use--An Industrial Case Study for the Future I...Alessandra Bagnato
 
EMF Views: A View Mechanism for Integrating Heterogeneous Models - ER 2015 @ ...
EMF Views: A View Mechanism for Integrating Heterogeneous Models - ER 2015 @ ...EMF Views: A View Mechanism for Integrating Heterogeneous Models - ER 2015 @ ...
EMF Views: A View Mechanism for Integrating Heterogeneous Models - ER 2015 @ ...Hugo Bruneliere
 
Transformation Templates: Adding Flexibilityto Model-Driven Engineering of Us...
Transformation Templates: Adding Flexibilityto Model-Driven Engineering of Us...Transformation Templates: Adding Flexibilityto Model-Driven Engineering of Us...
Transformation Templates: Adding Flexibilityto Model-Driven Engineering of Us...Jean Vanderdonckt
 
FOMI2017 - A method to generate a modular ifcOWL ontology
FOMI2017 - A method to generate a modular ifcOWL ontologyFOMI2017 - A method to generate a modular ifcOWL ontology
FOMI2017 - A method to generate a modular ifcOWL ontologyPieter Pauwels
 
A Framework for Model-Driven Evolution in Families of Software Architectures
A Framework for Model-Driven Evolution in Families of Software ArchitecturesA Framework for Model-Driven Evolution in Families of Software Architectures
A Framework for Model-Driven Evolution in Families of Software ArchitecturesPooyan Jamshidi
 
The road ahead for architectural languages [ACVI 2016]
The road ahead for architectural languages [ACVI 2016]The road ahead for architectural languages [ACVI 2016]
The road ahead for architectural languages [ACVI 2016]Ivano Malavolta
 
Art%3 a10.1186%2f1687 6180-2011-29
Art%3 a10.1186%2f1687 6180-2011-29Art%3 a10.1186%2f1687 6180-2011-29
Art%3 a10.1186%2f1687 6180-2011-29Ishtiaq Ahmad
 
A NATURAL LANGUAGE REQUIREMENTS ENGINEERING APPROACH FOR MDA
A NATURAL LANGUAGE REQUIREMENTS ENGINEERING APPROACH FOR MDA A NATURAL LANGUAGE REQUIREMENTS ENGINEERING APPROACH FOR MDA
A NATURAL LANGUAGE REQUIREMENTS ENGINEERING APPROACH FOR MDA IJCSEA Journal
 
A Natural Language Requirements Engineering Approach for MDA
A Natural Language Requirements Engineering Approach for MDAA Natural Language Requirements Engineering Approach for MDA
A Natural Language Requirements Engineering Approach for MDAIJCSEA Journal
 
A natural language requirements engineering approach for mda
A natural language requirements engineering approach for mdaA natural language requirements engineering approach for mda
A natural language requirements engineering approach for mdaIJCSEA Journal
 
A NATURAL LANGUAGE REQUIREMENTS ENGINEERING APPROACH FOR MDA
A NATURAL LANGUAGE REQUIREMENTS ENGINEERING APPROACH FOR MDA A NATURAL LANGUAGE REQUIREMENTS ENGINEERING APPROACH FOR MDA
A NATURAL LANGUAGE REQUIREMENTS ENGINEERING APPROACH FOR MDA IJCSEA Journal
 
A NATURAL LANGUAGE REQUIREMENTS ENGINEERING APPROACH FOR MDA
A NATURAL LANGUAGE REQUIREMENTS ENGINEERING APPROACH FOR MDA A NATURAL LANGUAGE REQUIREMENTS ENGINEERING APPROACH FOR MDA
A NATURAL LANGUAGE REQUIREMENTS ENGINEERING APPROACH FOR MDA IJCSEA Journal
 
A Program Transformation Technique To Support AOP Within C Template
A Program Transformation Technique To Support AOP Within C   TemplateA Program Transformation Technique To Support AOP Within C   Template
A Program Transformation Technique To Support AOP Within C TemplateCrystal Sanchez
 

Semelhante a Managing Co-Evolution in Model-Driven Engineering (20)

MoDisco & ATL - Eclipse DemoCamp Indigo 2011 in Nantes
MoDisco & ATL - Eclipse DemoCamp Indigo 2011 in NantesMoDisco & ATL - Eclipse DemoCamp Indigo 2011 in Nantes
MoDisco & ATL - Eclipse DemoCamp Indigo 2011 in Nantes
 
Model transformation
Model transformationModel transformation
Model transformation
 
Model versioning in context of living
Model versioning in context of livingModel versioning in context of living
Model versioning in context of living
 
Evolution in the Large and in the Small in Model-Driven Development
Evolution in the Large and in the Small in Model-Driven DevelopmentEvolution in the Large and in the Small in Model-Driven Development
Evolution in the Large and in the Small in Model-Driven Development
 
MC0083 – Object Oriented Analysis &. Design using UML - Master of Computer Sc...
MC0083 – Object Oriented Analysis &. Design using UML - Master of Computer Sc...MC0083 – Object Oriented Analysis &. Design using UML - Master of Computer Sc...
MC0083 – Object Oriented Analysis &. Design using UML - Master of Computer Sc...
 
The OMG UML Testing Profile in Use--An Industrial Case Study for the Future I...
The OMG UML Testing Profile in Use--An Industrial Case Study for the Future I...The OMG UML Testing Profile in Use--An Industrial Case Study for the Future I...
The OMG UML Testing Profile in Use--An Industrial Case Study for the Future I...
 
ER 2015 EMFViews
ER 2015 EMFViewsER 2015 EMFViews
ER 2015 EMFViews
 
EMF Views: A View Mechanism for Integrating Heterogeneous Models - ER 2015 @ ...
EMF Views: A View Mechanism for Integrating Heterogeneous Models - ER 2015 @ ...EMF Views: A View Mechanism for Integrating Heterogeneous Models - ER 2015 @ ...
EMF Views: A View Mechanism for Integrating Heterogeneous Models - ER 2015 @ ...
 
Transformation Templates: Adding Flexibilityto Model-Driven Engineering of Us...
Transformation Templates: Adding Flexibilityto Model-Driven Engineering of Us...Transformation Templates: Adding Flexibilityto Model-Driven Engineering of Us...
Transformation Templates: Adding Flexibilityto Model-Driven Engineering of Us...
 
FOMI2017 - A method to generate a modular ifcOWL ontology
FOMI2017 - A method to generate a modular ifcOWL ontologyFOMI2017 - A method to generate a modular ifcOWL ontology
FOMI2017 - A method to generate a modular ifcOWL ontology
 
A Framework for Model-Driven Evolution in Families of Software Architectures
A Framework for Model-Driven Evolution in Families of Software ArchitecturesA Framework for Model-Driven Evolution in Families of Software Architectures
A Framework for Model-Driven Evolution in Families of Software Architectures
 
The road ahead for architectural languages [ACVI 2016]
The road ahead for architectural languages [ACVI 2016]The road ahead for architectural languages [ACVI 2016]
The road ahead for architectural languages [ACVI 2016]
 
Art%3 a10.1186%2f1687 6180-2011-29
Art%3 a10.1186%2f1687 6180-2011-29Art%3 a10.1186%2f1687 6180-2011-29
Art%3 a10.1186%2f1687 6180-2011-29
 
Apostila UML
Apostila UMLApostila UML
Apostila UML
 
A NATURAL LANGUAGE REQUIREMENTS ENGINEERING APPROACH FOR MDA
A NATURAL LANGUAGE REQUIREMENTS ENGINEERING APPROACH FOR MDA A NATURAL LANGUAGE REQUIREMENTS ENGINEERING APPROACH FOR MDA
A NATURAL LANGUAGE REQUIREMENTS ENGINEERING APPROACH FOR MDA
 
A Natural Language Requirements Engineering Approach for MDA
A Natural Language Requirements Engineering Approach for MDAA Natural Language Requirements Engineering Approach for MDA
A Natural Language Requirements Engineering Approach for MDA
 
A natural language requirements engineering approach for mda
A natural language requirements engineering approach for mdaA natural language requirements engineering approach for mda
A natural language requirements engineering approach for mda
 
A NATURAL LANGUAGE REQUIREMENTS ENGINEERING APPROACH FOR MDA
A NATURAL LANGUAGE REQUIREMENTS ENGINEERING APPROACH FOR MDA A NATURAL LANGUAGE REQUIREMENTS ENGINEERING APPROACH FOR MDA
A NATURAL LANGUAGE REQUIREMENTS ENGINEERING APPROACH FOR MDA
 
A NATURAL LANGUAGE REQUIREMENTS ENGINEERING APPROACH FOR MDA
A NATURAL LANGUAGE REQUIREMENTS ENGINEERING APPROACH FOR MDA A NATURAL LANGUAGE REQUIREMENTS ENGINEERING APPROACH FOR MDA
A NATURAL LANGUAGE REQUIREMENTS ENGINEERING APPROACH FOR MDA
 
A Program Transformation Technique To Support AOP Within C Template
A Program Transformation Technique To Support AOP Within C   TemplateA Program Transformation Technique To Support AOP Within C   Template
A Program Transformation Technique To Support AOP Within C Template
 

Mais de Alfonso Pierantonio

Uncertainty and variability in industry-scale projects: Pearls, perils and p...
Uncertainty and variability in industry-scale projects: Pearls, perils and p...Uncertainty and variability in industry-scale projects: Pearls, perils and p...
Uncertainty and variability in industry-scale projects: Pearls, perils and p...Alfonso Pierantonio
 
Fixing Classification: A Viewpoint-Based Approach
Fixing Classification: A Viewpoint-Based Approach Fixing Classification: A Viewpoint-Based Approach
Fixing Classification: A Viewpoint-Based Approach Alfonso Pierantonio
 
Aut tace, Aut Loquere meliora Silentio (and the Likes)
Aut tace, Aut Loquere meliora Silentio (and the Likes) Aut tace, Aut Loquere meliora Silentio (and the Likes)
Aut tace, Aut Loquere meliora Silentio (and the Likes) Alfonso Pierantonio
 
Presentazione del Corso di Laurea in Informatica - L'Aquila
Presentazione del Corso di Laurea in Informatica - L'AquilaPresentazione del Corso di Laurea in Informatica - L'Aquila
Presentazione del Corso di Laurea in Informatica - L'AquilaAlfonso Pierantonio
 
MDE Adoption: a three legged chair
MDE Adoption:  a three legged chairMDE Adoption:  a three legged chair
MDE Adoption: a three legged chairAlfonso Pierantonio
 
Mining Metrics for Understanding Metamodel Characteristics
Mining Metrics for Understanding Metamodel CharacteristicsMining Metrics for Understanding Metamodel Characteristics
Mining Metrics for Understanding Metamodel CharacteristicsAlfonso Pierantonio
 
Mise14 @ ICSE1 14 Uncertainty in Bidirectional Transformations
Mise14 @ ICSE1 14 Uncertainty in Bidirectional TransformationsMise14 @ ICSE1 14 Uncertainty in Bidirectional Transformations
Mise14 @ ICSE1 14 Uncertainty in Bidirectional TransformationsAlfonso Pierantonio
 
Evolutionary Togetherness: How to Manage Coupled Evolution in Metamodeling Ec...
Evolutionary Togetherness: How to Manage Coupled Evolution in Metamodeling Ec...Evolutionary Togetherness: How to Manage Coupled Evolution in Metamodeling Ec...
Evolutionary Togetherness: How to Manage Coupled Evolution in Metamodeling Ec...Alfonso Pierantonio
 
Managing the evolution of F/OSS with Model Driven Techniques
Managing the evolution of F/OSS with Model Driven TechniquesManaging the evolution of F/OSS with Model Driven Techniques
Managing the evolution of F/OSS with Model Driven TechniquesAlfonso Pierantonio
 

Mais de Alfonso Pierantonio (11)

2023-04 OA 2.pptx
2023-04 OA 2.pptx2023-04 OA 2.pptx
2023-04 OA 2.pptx
 
Uncertainty and variability in industry-scale projects: Pearls, perils and p...
Uncertainty and variability in industry-scale projects: Pearls, perils and p...Uncertainty and variability in industry-scale projects: Pearls, perils and p...
Uncertainty and variability in industry-scale projects: Pearls, perils and p...
 
Fixing Classification: A Viewpoint-Based Approach
Fixing Classification: A Viewpoint-Based Approach Fixing Classification: A Viewpoint-Based Approach
Fixing Classification: A Viewpoint-Based Approach
 
Aut tace, Aut Loquere meliora Silentio (and the Likes)
Aut tace, Aut Loquere meliora Silentio (and the Likes) Aut tace, Aut Loquere meliora Silentio (and the Likes)
Aut tace, Aut Loquere meliora Silentio (and the Likes)
 
Presentazione del Corso di Laurea in Informatica - L'Aquila
Presentazione del Corso di Laurea in Informatica - L'AquilaPresentazione del Corso di Laurea in Informatica - L'Aquila
Presentazione del Corso di Laurea in Informatica - L'Aquila
 
MDE Adoption: a three legged chair
MDE Adoption:  a three legged chairMDE Adoption:  a three legged chair
MDE Adoption: a three legged chair
 
Mining Metrics for Understanding Metamodel Characteristics
Mining Metrics for Understanding Metamodel CharacteristicsMining Metrics for Understanding Metamodel Characteristics
Mining Metrics for Understanding Metamodel Characteristics
 
Mise14 @ ICSE1 14 Uncertainty in Bidirectional Transformations
Mise14 @ ICSE1 14 Uncertainty in Bidirectional TransformationsMise14 @ ICSE1 14 Uncertainty in Bidirectional Transformations
Mise14 @ ICSE1 14 Uncertainty in Bidirectional Transformations
 
Evolutionary Togetherness: How to Manage Coupled Evolution in Metamodeling Ec...
Evolutionary Togetherness: How to Manage Coupled Evolution in Metamodeling Ec...Evolutionary Togetherness: How to Manage Coupled Evolution in Metamodeling Ec...
Evolutionary Togetherness: How to Manage Coupled Evolution in Metamodeling Ec...
 
Managing the evolution of F/OSS with Model Driven Techniques
Managing the evolution of F/OSS with Model Driven TechniquesManaging the evolution of F/OSS with Model Driven Techniques
Managing the evolution of F/OSS with Model Driven Techniques
 
Model evolution and versioning
Model evolution and versioningModel evolution and versioning
Model evolution and versioning
 

Último

Advanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionAdvanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionDilum Bandara
 
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024BookNet Canada
 
Sample pptx for embedding into website for demo
Sample pptx for embedding into website for demoSample pptx for embedding into website for demo
Sample pptx for embedding into website for demoHarshalMandlekar2
 
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxA Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxLoriGlavin3
 
unit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptxunit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptxBkGupta21
 
Generative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersGenerative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersRaghuram Pandurangan
 
What is Artificial Intelligence?????????
What is Artificial Intelligence?????????What is Artificial Intelligence?????????
What is Artificial Intelligence?????????blackmambaettijean
 
What is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfWhat is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfMounikaPolabathina
 
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxUse of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxLoriGlavin3
 
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxThe Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxLoriGlavin3
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc
 
Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Manik S Magar
 
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxDigital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxLoriGlavin3
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 3652toLead Limited
 
The State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxThe State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxLoriGlavin3
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenHervé Boutemy
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii SoldatenkoFwdays
 
Training state-of-the-art general text embedding
Training state-of-the-art general text embeddingTraining state-of-the-art general text embedding
Training state-of-the-art general text embeddingZilliz
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024Stephanie Beckett
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLScyllaDB
 

Último (20)

Advanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionAdvanced Computer Architecture – An Introduction
Advanced Computer Architecture – An Introduction
 
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
 
Sample pptx for embedding into website for demo
Sample pptx for embedding into website for demoSample pptx for embedding into website for demo
Sample pptx for embedding into website for demo
 
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxA Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
 
unit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptxunit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptx
 
Generative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersGenerative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information Developers
 
What is Artificial Intelligence?????????
What is Artificial Intelligence?????????What is Artificial Intelligence?????????
What is Artificial Intelligence?????????
 
What is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfWhat is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdf
 
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxUse of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
 
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxThe Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
 
Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!
 
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxDigital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365
 
The State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxThe State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptx
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache Maven
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko
 
Training state-of-the-art general text embedding
Training state-of-the-art general text embeddingTraining state-of-the-art general text embedding
Training state-of-the-art general text embedding
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQL
 

Managing Co-Evolution in Model-Driven Engineering

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