SlideShare a Scribd company logo
Dipartimento di Ingegneria e Scienze
Università degli Studi dell’Aquila
dell’Informazione e Matematica
Supporting Users to Manage
Breaking and Unresolvable
Changes in Coupled Evolution
Alfonso Pierantonio
joint work with
Davide Di Ruscio, Juri Di
Rocco, Ludovico Iovino
Workshop on Domain-Specific Modeling – 27 OCT 2015, Pittsburgh, Pennsylvania, United States
2
Introduction
Metamodels play a key role in any metamodeling
ecosystem since they are at the core of a wide
range of modeling artifacts.
Metamodel
Workshop on Domain-Specific Modeling – 27 OCT 2015, Pittsburgh, Pennsylvania, United States
3
Introduction
«Between 50% and 80% of the overall cost [in sw
projects] are spent on evolution»
[S. Ducasse: keynote@SLE’15 today!]
Workshop on Domain-Specific Modeling – 27 OCT 2015, Pittsburgh, Pennsylvania, United States
4
Introduction
«Between 50% and 80% of the overall cost [in sw
projects] are spent on evolution»
[S. Ducasse: keynote@SLE’15 today!]
Workshop on Domain-Specific Modeling – 27 OCT 2015, Pittsburgh, Pennsylvania, United States
5
Introduction
«Between 50% and 80% of the overall cost [in sw
projects] are spent on evolution»
[S. Ducasse: keynote@SLE’15 today!]
Similarly to software metamodels evolves as well:
however whenever a metamodel changes other
artifacts must be consequently adapted!
All the artifacts in the ecosystem, including models,
model transformations, textual and graphical editors,
and code generators, are affected.
Metamodels are easily locked in!
Workshop on Domain-Specific Modeling – 27 OCT 2015, Pittsburgh, Pennsylvania, United States
6
Introduction
Metamodel changes can be classified as
– non-breaking (NBC)
– breaking and resolvable (BRC)
– breaking and unresolvable (BUC)
depending on their impact and on the kind of artifact.
In the last case, user intervention is important to
provide additional information, which cannot be
inferred or derived.
Workshop on Domain-Specific Modeling – 27 OCT 2015, Pittsburgh, Pennsylvania, United States
7
Existing approaches (selection)
Model co-evolution:
[1] A. Cicchetti, D. Di Ruscio, R. Eramo, and A. Pierantonio. Automating co-evolution in model-driven
engineering. In Procs.of EDOC 2008, pages 222–231. IEEE Computer So- ciety, 2008.
[2] F. Mantz, Y. Lamo, and G. Taentzer. Co-transformation of type and instance graphs supporting
merging of types with retyping. ECEASST, (61), 2013.
[3] F. Mantz, G. Taentzer, and Y. Lamo. Customizing model migrations by rule schemes. In Procs.
IWPSE’13, pages 1– 10. ACM, 2013.
Model transformations co-evolution:
[4] J. Di Rocco, D. Di Ruscio, L. Iovino, and A. Pierantonio. Dealing with the coupled evolution of
metamodels and model- to-text transformations. In ME’14 at MoDELS 2014, 2014.
[5] Levendovszky, D. Balasubramanian, A. Narayanan, and G. Karsai. A Novel Approach to Semi-
automated Evolution of DSML Model Transformation. In Procs. SLE’10, volume 5969 of LNCS, pages
23–41. Springer, 2010.
Other kind of artifacts co-evolution:
[6] D. Di Ruscio, L. Iovino, and A. Pierantonio. Managing the coupled evolution of metamodels and
textual concrete syntax specifications. In SEAA’13, pages 114–121, Sept 2013.
[7] A. Kusel, J. Etzlstorfer, E. Kapsammer, P. Lange, W. Rets- chitzegger, J. Schoenboeck, W.
Schwinger, and M. Wimmer. A Systematic Taxonomy of Metamodel Evolution Impacts on OCL
Expressions. In ME’14 at MoDELS 2014, Sept. 2014.
Workshop on Domain-Specific Modeling – 27 OCT 2015, Pittsburgh, Pennsylvania, United States
8
Existing approaches
All these approaches aim at automating the
management of non-breaking, and breaking and
resolvable changes.
The management of breaking and unresolvable
changes is still a challenging activity with little support
– they are usually managed by applying default migration
actions according to predefined heuristics with no control
at all
Workshop on Domain-Specific Modeling – 27 OCT 2015, Pittsburgh, Pennsylvania, United States
9
Proposal
In order to overcome the uncertainty and/or lack of
information during the automated consistency
restoring process, we propose a human-in-loop
approach:
– The user is interactively asked to contribute with the
missing information in order to complete the adaptation
process.
– It is a variability management process or a way for
managing forms of known uncertainty.
Workshop on Domain-Specific Modeling – 27 OCT 2015, Pittsburgh, Pennsylvania, United States
10
Motivating scenario
Workshop on Domain-Specific Modeling – 27 OCT 2015, Pittsburgh, Pennsylvania, United States
11
Motivating scenario
Workshop on Domain-Specific Modeling – 27 OCT 2015, Pittsburgh, Pennsylvania, United States
12
Motivating scenario
Workshop on Domain-Specific Modeling – 27 OCT 2015, Pittsburgh, Pennsylvania, United States
13
Motivating scenario
Workshop on Domain-Specific Modeling – 27 OCT 2015, Pittsburgh, Pennsylvania, United States
14
Motivating scenario
Workshop on Domain-Specific Modeling – 27 OCT 2015, Pittsburgh, Pennsylvania, United States
15
Motivating scenario
Workshop on Domain-Specific Modeling – 27 OCT 2015, Pittsburgh, Pennsylvania, United States
16
Metamodel Evolution
Applied changes in the motivating scenario:
1. split attribute
2. change reference type
3. extract metaclass
evolution
1
1
2
2
3
3
Workshop on Domain-Specific Modeling – 27 OCT 2015, Pittsburgh, Pennsylvania, United States
17
1. Split attribute co-evolution
The expression [binding.url] has to be migrated,
however it is uncertainty whether to be replaced by
– [binding.requestUrl], or
– [binding.requestCookies]
Metamodel evolution Corrupted excerpt of the code generator
Workshop on Domain-Specific Modeling – 27 OCT 2015, Pittsburgh, Pennsylvania, United States
18
2. Change Reference Type co-evolution
The template generateViewData cannot be invoked
on elements with type Data anymore (because of the
reference type change)
Metamodel evolution
Corrupted excerpt of the code generator
Workshop on Domain-Specific Modeling – 27 OCT 2015, Pittsburgh, Pennsylvania, United States
19
Extract Metaclass co-evolution
The expression [aTemplate.style] cannot be
evaluated anymore, consistency can be restored
with:
– [aTemplate.style.src]
– [aTemplate.style.href]
Metamodel evolution
Corrupted excerpt of the code generator
Workshop on Domain-Specific Modeling – 27 OCT 2015, Pittsburgh, Pennsylvania, United States
20
Proposed Adaptation Approach
The adaptation process relies on an extension of
EMFMigrate realized by means of the epsilon
platform
D. Wagelaar, L. Iovino, D. Ruscio, and A. Pierantonio. Translational semantics of a co-evolution specific language with
the EMF transformation virtual machine. In Theory and Practice of Model Transformations, ICMT 2012, LNCS 7307,
192–207.
Workshop on Domain-Specific Modeling – 27 OCT 2015, Pittsburgh, Pennsylvania, United States
21
Proposed Adaptation Approach
The adaptation flow is formalized by the following sequence
diagram
Workshop on Domain-Specific Modeling – 27 OCT 2015, Pittsburgh, Pennsylvania, United States
22
Proposed Adaptation Approach
EMFMigrate is a co-evolution language for EMF-
based artifact migration
– It consists of migration rules applied on a given artifact A
conforming to a metamodel MM
– EMFMigrate has been extended to generate Epsilon
programs
Workshop on Domain-Specific Modeling – 27 OCT 2015, Pittsburgh, Pennsylvania, United States
23
Migration Programs
A ANT script is generated together with the Epsilon
transformation to orchestrate the following
Whenever necessary the user is prompt for
necessary information, which permits to resolve
uncertainty points
Workshop on Domain-Specific Modeling – 27 OCT 2015, Pittsburgh, Pennsylvania, United States
24
1. Split attribute co-evolution
The expression [binding.url] has to be migrated,
however it is uncertainty whether to be replaced by
– [binding.requestUrl], or
– [binding.requestCookies]
Metamodel evolution Corrupted excerpt of the code generator
Workshop on Domain-Specific Modeling – 27 OCT 2015, Pittsburgh, Pennsylvania, United States
25
2. Change Reference Type co-evolution
The template generateViewData cannot be invoked
on elements with type Data anymore (because of the
reference type change)
Metamodel evolution
Corrupted excerpt of the code generator
Workshop on Domain-Specific Modeling – 27 OCT 2015, Pittsburgh, Pennsylvania, United States
26
Extract Metaclass co-evolution
The expression [aTemplate.style] cannot be
evaluated anymore, consistency can be restored
with:
– [aTemplate.style.src]
– [aTemplate.style.href]
Metamodel evolution
Corrupted excerpt of the code generator
Workshop on Domain-Specific Modeling – 27 OCT 2015, Pittsburgh, Pennsylvania, United States
27
Conclusions
An approach the management of breaking and
unresolvable changes is proposed.
It consists of
– generating all possible alternatives (a model with variability) and
– Interactively resolving the variability
It has been demonstrated on Acceleo templates, however
the approach is mature to be applied to any EMF-based
artifact
Future work includes a off-the-shelf catalog of migrators
associated to the refactorings catalog in
http://www.metamodelrefactoring.org/
Workshop on Domain-Specific Modeling – 27 OCT 2015, Pittsburgh, Pennsylvania, United States
28

More Related Content

Similar to Supporting Users to Manage Breaking and Unresolvable Changes in Coupled Evolution

Model Management in Model-Driven Engineering
Model Management in Model-Driven EngineeringModel Management in Model-Driven Engineering
Model Management in Model-Driven Engineering
Alfonso Pierantonio
 
Model repositories: will they become reality?
Model repositories: will they become reality?Model repositories: will they become reality?
Model repositories: will they become reality?
Davide Ruscio
 
shiva_resume
shiva_resumeshiva_resume
Chapters 4,5 and 6Into policymaking and modeling in a comple.docx
Chapters 4,5 and 6Into policymaking and modeling in a comple.docxChapters 4,5 and 6Into policymaking and modeling in a comple.docx
Chapters 4,5 and 6Into policymaking and modeling in a comple.docx
tiffanyd4
 
Chapters 4,5 and 6Into policymaking and modeling in a comple.docx
Chapters 4,5 and 6Into policymaking and modeling in a comple.docxChapters 4,5 and 6Into policymaking and modeling in a comple.docx
Chapters 4,5 and 6Into policymaking and modeling in a comple.docx
mccormicknadine86
 
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
Pooyan Jamshidi
 
SiriusCon17 - A Graphical Approach to Modularization and Layering of Metamodels
SiriusCon17 - A Graphical Approach to Modularization and Layering of MetamodelsSiriusCon17 - A Graphical Approach to Modularization and Layering of Metamodels
SiriusCon17 - A Graphical Approach to Modularization and Layering of Metamodels
Obeo
 
Continuity in the development of seamless mobility: An approach for a system-...
Continuity in the development of seamless mobility: An approach for a system-...Continuity in the development of seamless mobility: An approach for a system-...
Continuity in the development of seamless mobility: An approach for a system-...
IRJET Journal
 
Model-Based Systems Engineering in the Execution of Search and Rescue Operations
Model-Based Systems Engineering in the Execution of Search and Rescue OperationsModel-Based Systems Engineering in the Execution of Search and Rescue Operations
Model-Based Systems Engineering in the Execution of Search and Rescue Operations
Spencer Hunt
 
IRJET- Analysis of Vehicle Number Plate Recognition
IRJET- Analysis of Vehicle Number Plate RecognitionIRJET- Analysis of Vehicle Number Plate Recognition
IRJET- Analysis of Vehicle Number Plate Recognition
IRJET Journal
 
Enhancing a Social Science Model-building Workflow with Interactive Visualisa...
Enhancing a Social Science Model-building Workflow with Interactive Visualisa...Enhancing a Social Science Model-building Workflow with Interactive Visualisa...
Enhancing a Social Science Model-building Workflow with Interactive Visualisa...
Cagatay Turkay
 
Proto Spiral.ppt Proto Spiral.ppt Proto Spiral.ppt Proto Spiral.ppt
Proto Spiral.ppt Proto Spiral.ppt Proto Spiral.ppt Proto Spiral.pptProto Spiral.ppt Proto Spiral.ppt Proto Spiral.ppt Proto Spiral.ppt
Proto Spiral.ppt Proto Spiral.ppt Proto Spiral.ppt Proto Spiral.ppt
AnirbanBhar3
 
CS8592 Object Oriented Analysis & Design - UNIT V
CS8592 Object Oriented Analysis & Design - UNIT V CS8592 Object Oriented Analysis & Design - UNIT V
CS8592 Object Oriented Analysis & Design - UNIT V
pkaviya
 
NZ eResearch Symposium 2013 - Capturing the Flux in Scientific Knowledge
NZ eResearch Symposium 2013 - Capturing the Flux in Scientific KnowledgeNZ eResearch Symposium 2013 - Capturing the Flux in Scientific Knowledge
NZ eResearch Symposium 2013 - Capturing the Flux in Scientific Knowledge
Prashant Gupta
 
Phd Defence 25 Jan09
Phd Defence 25 Jan09Phd Defence 25 Jan09
Phd Defence 25 Jan09
Bibhushan Jagannath
 
QuESo: a Quality Model for Open Source Software Ecosystems
QuESo: a Quality Model for Open Source Software EcosystemsQuESo: a Quality Model for Open Source Software Ecosystems
QuESo: a Quality Model for Open Source Software Ecosystems
GESSI UPC
 
AI/ML Infra Meetup | ML explainability in Michelangelo
AI/ML Infra Meetup | ML explainability in MichelangeloAI/ML Infra Meetup | ML explainability in Michelangelo
AI/ML Infra Meetup | ML explainability in Michelangelo
Alluxio, Inc.
 
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
 
Risk and Engineering Knowledge Integration in Cyber-physical Production Syste...
Risk and Engineering Knowledge Integration in Cyber-physical Production Syste...Risk and Engineering Knowledge Integration in Cyber-physical Production Syste...
Risk and Engineering Knowledge Integration in Cyber-physical Production Syste...
SEAA 2022
 
David O'Leary Resume
David O'Leary ResumeDavid O'Leary Resume
David O'Leary Resume
David O'Leary
 

Similar to Supporting Users to Manage Breaking and Unresolvable Changes in Coupled Evolution (20)

Model Management in Model-Driven Engineering
Model Management in Model-Driven EngineeringModel Management in Model-Driven Engineering
Model Management in Model-Driven Engineering
 
Model repositories: will they become reality?
Model repositories: will they become reality?Model repositories: will they become reality?
Model repositories: will they become reality?
 
shiva_resume
shiva_resumeshiva_resume
shiva_resume
 
Chapters 4,5 and 6Into policymaking and modeling in a comple.docx
Chapters 4,5 and 6Into policymaking and modeling in a comple.docxChapters 4,5 and 6Into policymaking and modeling in a comple.docx
Chapters 4,5 and 6Into policymaking and modeling in a comple.docx
 
Chapters 4,5 and 6Into policymaking and modeling in a comple.docx
Chapters 4,5 and 6Into policymaking and modeling in a comple.docxChapters 4,5 and 6Into policymaking and modeling in a comple.docx
Chapters 4,5 and 6Into policymaking and modeling in a comple.docx
 
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
 
SiriusCon17 - A Graphical Approach to Modularization and Layering of Metamodels
SiriusCon17 - A Graphical Approach to Modularization and Layering of MetamodelsSiriusCon17 - A Graphical Approach to Modularization and Layering of Metamodels
SiriusCon17 - A Graphical Approach to Modularization and Layering of Metamodels
 
Continuity in the development of seamless mobility: An approach for a system-...
Continuity in the development of seamless mobility: An approach for a system-...Continuity in the development of seamless mobility: An approach for a system-...
Continuity in the development of seamless mobility: An approach for a system-...
 
Model-Based Systems Engineering in the Execution of Search and Rescue Operations
Model-Based Systems Engineering in the Execution of Search and Rescue OperationsModel-Based Systems Engineering in the Execution of Search and Rescue Operations
Model-Based Systems Engineering in the Execution of Search and Rescue Operations
 
IRJET- Analysis of Vehicle Number Plate Recognition
IRJET- Analysis of Vehicle Number Plate RecognitionIRJET- Analysis of Vehicle Number Plate Recognition
IRJET- Analysis of Vehicle Number Plate Recognition
 
Enhancing a Social Science Model-building Workflow with Interactive Visualisa...
Enhancing a Social Science Model-building Workflow with Interactive Visualisa...Enhancing a Social Science Model-building Workflow with Interactive Visualisa...
Enhancing a Social Science Model-building Workflow with Interactive Visualisa...
 
Proto Spiral.ppt Proto Spiral.ppt Proto Spiral.ppt Proto Spiral.ppt
Proto Spiral.ppt Proto Spiral.ppt Proto Spiral.ppt Proto Spiral.pptProto Spiral.ppt Proto Spiral.ppt Proto Spiral.ppt Proto Spiral.ppt
Proto Spiral.ppt Proto Spiral.ppt Proto Spiral.ppt Proto Spiral.ppt
 
CS8592 Object Oriented Analysis & Design - UNIT V
CS8592 Object Oriented Analysis & Design - UNIT V CS8592 Object Oriented Analysis & Design - UNIT V
CS8592 Object Oriented Analysis & Design - UNIT V
 
NZ eResearch Symposium 2013 - Capturing the Flux in Scientific Knowledge
NZ eResearch Symposium 2013 - Capturing the Flux in Scientific KnowledgeNZ eResearch Symposium 2013 - Capturing the Flux in Scientific Knowledge
NZ eResearch Symposium 2013 - Capturing the Flux in Scientific Knowledge
 
Phd Defence 25 Jan09
Phd Defence 25 Jan09Phd Defence 25 Jan09
Phd Defence 25 Jan09
 
QuESo: a Quality Model for Open Source Software Ecosystems
QuESo: a Quality Model for Open Source Software EcosystemsQuESo: a Quality Model for Open Source Software Ecosystems
QuESo: a Quality Model for Open Source Software Ecosystems
 
AI/ML Infra Meetup | ML explainability in Michelangelo
AI/ML Infra Meetup | ML explainability in MichelangeloAI/ML Infra Meetup | ML explainability in Michelangelo
AI/ML Infra Meetup | ML explainability in Michelangelo
 
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...
 
Risk and Engineering Knowledge Integration in Cyber-physical Production Syste...
Risk and Engineering Knowledge Integration in Cyber-physical Production Syste...Risk and Engineering Knowledge Integration in Cyber-physical Production Syste...
Risk and Engineering Knowledge Integration in Cyber-physical Production Syste...
 
David O'Leary Resume
David O'Leary ResumeDavid O'Leary Resume
David O'Leary Resume
 

More from Alfonso Pierantonio

2023-04 OA 2.pptx
2023-04 OA 2.pptx2023-04 OA 2.pptx
2023-04 OA 2.pptx
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'Aquila
Alfonso Pierantonio
 
MDE Adoption: a three legged chair
MDE Adoption:  a three legged chairMDE Adoption:  a three legged chair
MDE Adoption: a three legged chair
Alfonso 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
 
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
Alfonso Pierantonio
 
Non determinism and bidirectional model transformations
Non determinism and bidirectional model transformationsNon determinism and bidirectional model transformations
Non determinism and bidirectional model transformations
Alfonso Pierantonio
 
Mining Metrics for Understanding Metamodel Characteristics
Mining Metrics for Understanding Metamodel CharacteristicsMining Metrics for Understanding Metamodel Characteristics
Mining Metrics for Understanding Metamodel Characteristics
Alfonso 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 Transformations
Alfonso 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 Techniques
Alfonso Pierantonio
 
What is needed for managing co-evolution in MDE?
What is needed for managing co-evolution in MDE?What is needed for managing co-evolution in MDE?
What is needed for managing co-evolution in MDE?
Alfonso Pierantonio
 
Model evolution and versioning
Model evolution and versioningModel evolution and versioning
Model evolution and versioning
Alfonso Pierantonio
 
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
Alfonso Pierantonio
 

More from Alfonso Pierantonio (16)

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
 
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...
 
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
 
Non determinism and bidirectional model transformations
Non determinism and bidirectional model transformationsNon determinism and bidirectional model transformations
Non determinism and bidirectional model transformations
 
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
 
What is needed for managing co-evolution in MDE?
What is needed for managing co-evolution in MDE?What is needed for managing co-evolution in MDE?
What is needed for managing co-evolution in MDE?
 
Model evolution and versioning
Model evolution and versioningModel evolution and versioning
Model evolution and versioning
 
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
 

Recently uploaded

Cytokines and their role in immune regulation.pptx
Cytokines and their role in immune regulation.pptxCytokines and their role in immune regulation.pptx
Cytokines and their role in immune regulation.pptx
Hitesh Sikarwar
 
Unlocking the mysteries of reproduction: Exploring fecundity and gonadosomati...
Unlocking the mysteries of reproduction: Exploring fecundity and gonadosomati...Unlocking the mysteries of reproduction: Exploring fecundity and gonadosomati...
Unlocking the mysteries of reproduction: Exploring fecundity and gonadosomati...
AbdullaAlAsif1
 
Sharlene Leurig - Enabling Onsite Water Use with Net Zero Water
Sharlene Leurig - Enabling Onsite Water Use with Net Zero WaterSharlene Leurig - Enabling Onsite Water Use with Net Zero Water
Sharlene Leurig - Enabling Onsite Water Use with Net Zero Water
Texas Alliance of Groundwater Districts
 
EWOCS-I: The catalog of X-ray sources in Westerlund 1 from the Extended Weste...
EWOCS-I: The catalog of X-ray sources in Westerlund 1 from the Extended Weste...EWOCS-I: The catalog of X-ray sources in Westerlund 1 from the Extended Weste...
EWOCS-I: The catalog of X-ray sources in Westerlund 1 from the Extended Weste...
Sérgio Sacani
 
Travis Hills' Endeavors in Minnesota: Fostering Environmental and Economic Pr...
Travis Hills' Endeavors in Minnesota: Fostering Environmental and Economic Pr...Travis Hills' Endeavors in Minnesota: Fostering Environmental and Economic Pr...
Travis Hills' Endeavors in Minnesota: Fostering Environmental and Economic Pr...
Travis Hills MN
 
Topic: SICKLE CELL DISEASE IN CHILDREN-3.pdf
Topic: SICKLE CELL DISEASE IN CHILDREN-3.pdfTopic: SICKLE CELL DISEASE IN CHILDREN-3.pdf
Topic: SICKLE CELL DISEASE IN CHILDREN-3.pdf
TinyAnderson
 
The debris of the ‘last major merger’ is dynamically young
The debris of the ‘last major merger’ is dynamically youngThe debris of the ‘last major merger’ is dynamically young
The debris of the ‘last major merger’ is dynamically young
Sérgio Sacani
 
Basics of crystallography, crystal systems, classes and different forms
Basics of crystallography, crystal systems, classes and different formsBasics of crystallography, crystal systems, classes and different forms
Basics of crystallography, crystal systems, classes and different forms
MaheshaNanjegowda
 
The binding of cosmological structures by massless topological defects
The binding of cosmological structures by massless topological defectsThe binding of cosmological structures by massless topological defects
The binding of cosmological structures by massless topological defects
Sérgio Sacani
 
Micronuclei test.M.sc.zoology.fisheries.
Micronuclei test.M.sc.zoology.fisheries.Micronuclei test.M.sc.zoology.fisheries.
Micronuclei test.M.sc.zoology.fisheries.
Aditi Bajpai
 
8.Isolation of pure cultures and preservation of cultures.pdf
8.Isolation of pure cultures and preservation of cultures.pdf8.Isolation of pure cultures and preservation of cultures.pdf
8.Isolation of pure cultures and preservation of cultures.pdf
by6843629
 
Compexometric titration/Chelatorphy titration/chelating titration
Compexometric titration/Chelatorphy titration/chelating titrationCompexometric titration/Chelatorphy titration/chelating titration
Compexometric titration/Chelatorphy titration/chelating titration
Vandana Devesh Sharma
 
Thornton ESPP slides UK WW Network 4_6_24.pdf
Thornton ESPP slides UK WW Network 4_6_24.pdfThornton ESPP slides UK WW Network 4_6_24.pdf
Thornton ESPP slides UK WW Network 4_6_24.pdf
European Sustainable Phosphorus Platform
 
Eukaryotic Transcription Presentation.pptx
Eukaryotic Transcription Presentation.pptxEukaryotic Transcription Presentation.pptx
Eukaryotic Transcription Presentation.pptx
RitabrataSarkar3
 
如何办理(uvic毕业证书)维多利亚大学毕业证本科学位证书原版一模一样
如何办理(uvic毕业证书)维多利亚大学毕业证本科学位证书原版一模一样如何办理(uvic毕业证书)维多利亚大学毕业证本科学位证书原版一模一样
如何办理(uvic毕业证书)维多利亚大学毕业证本科学位证书原版一模一样
yqqaatn0
 
Phenomics assisted breeding in crop improvement
Phenomics assisted breeding in crop improvementPhenomics assisted breeding in crop improvement
Phenomics assisted breeding in crop improvement
IshaGoswami9
 
原版制作(carleton毕业证书)卡尔顿大学毕业证硕士文凭原版一模一样
原版制作(carleton毕业证书)卡尔顿大学毕业证硕士文凭原版一模一样原版制作(carleton毕业证书)卡尔顿大学毕业证硕士文凭原版一模一样
原版制作(carleton毕业证书)卡尔顿大学毕业证硕士文凭原版一模一样
yqqaatn0
 
Randomised Optimisation Algorithms in DAPHNE
Randomised Optimisation Algorithms in DAPHNERandomised Optimisation Algorithms in DAPHNE
Randomised Optimisation Algorithms in DAPHNE
University of Maribor
 
Deep Software Variability and Frictionless Reproducibility
Deep Software Variability and Frictionless ReproducibilityDeep Software Variability and Frictionless Reproducibility
Deep Software Variability and Frictionless Reproducibility
University of Rennes, INSA Rennes, Inria/IRISA, CNRS
 
Authoring a personal GPT for your research and practice: How we created the Q...
Authoring a personal GPT for your research and practice: How we created the Q...Authoring a personal GPT for your research and practice: How we created the Q...
Authoring a personal GPT for your research and practice: How we created the Q...
Leonel Morgado
 

Recently uploaded (20)

Cytokines and their role in immune regulation.pptx
Cytokines and their role in immune regulation.pptxCytokines and their role in immune regulation.pptx
Cytokines and their role in immune regulation.pptx
 
Unlocking the mysteries of reproduction: Exploring fecundity and gonadosomati...
Unlocking the mysteries of reproduction: Exploring fecundity and gonadosomati...Unlocking the mysteries of reproduction: Exploring fecundity and gonadosomati...
Unlocking the mysteries of reproduction: Exploring fecundity and gonadosomati...
 
Sharlene Leurig - Enabling Onsite Water Use with Net Zero Water
Sharlene Leurig - Enabling Onsite Water Use with Net Zero WaterSharlene Leurig - Enabling Onsite Water Use with Net Zero Water
Sharlene Leurig - Enabling Onsite Water Use with Net Zero Water
 
EWOCS-I: The catalog of X-ray sources in Westerlund 1 from the Extended Weste...
EWOCS-I: The catalog of X-ray sources in Westerlund 1 from the Extended Weste...EWOCS-I: The catalog of X-ray sources in Westerlund 1 from the Extended Weste...
EWOCS-I: The catalog of X-ray sources in Westerlund 1 from the Extended Weste...
 
Travis Hills' Endeavors in Minnesota: Fostering Environmental and Economic Pr...
Travis Hills' Endeavors in Minnesota: Fostering Environmental and Economic Pr...Travis Hills' Endeavors in Minnesota: Fostering Environmental and Economic Pr...
Travis Hills' Endeavors in Minnesota: Fostering Environmental and Economic Pr...
 
Topic: SICKLE CELL DISEASE IN CHILDREN-3.pdf
Topic: SICKLE CELL DISEASE IN CHILDREN-3.pdfTopic: SICKLE CELL DISEASE IN CHILDREN-3.pdf
Topic: SICKLE CELL DISEASE IN CHILDREN-3.pdf
 
The debris of the ‘last major merger’ is dynamically young
The debris of the ‘last major merger’ is dynamically youngThe debris of the ‘last major merger’ is dynamically young
The debris of the ‘last major merger’ is dynamically young
 
Basics of crystallography, crystal systems, classes and different forms
Basics of crystallography, crystal systems, classes and different formsBasics of crystallography, crystal systems, classes and different forms
Basics of crystallography, crystal systems, classes and different forms
 
The binding of cosmological structures by massless topological defects
The binding of cosmological structures by massless topological defectsThe binding of cosmological structures by massless topological defects
The binding of cosmological structures by massless topological defects
 
Micronuclei test.M.sc.zoology.fisheries.
Micronuclei test.M.sc.zoology.fisheries.Micronuclei test.M.sc.zoology.fisheries.
Micronuclei test.M.sc.zoology.fisheries.
 
8.Isolation of pure cultures and preservation of cultures.pdf
8.Isolation of pure cultures and preservation of cultures.pdf8.Isolation of pure cultures and preservation of cultures.pdf
8.Isolation of pure cultures and preservation of cultures.pdf
 
Compexometric titration/Chelatorphy titration/chelating titration
Compexometric titration/Chelatorphy titration/chelating titrationCompexometric titration/Chelatorphy titration/chelating titration
Compexometric titration/Chelatorphy titration/chelating titration
 
Thornton ESPP slides UK WW Network 4_6_24.pdf
Thornton ESPP slides UK WW Network 4_6_24.pdfThornton ESPP slides UK WW Network 4_6_24.pdf
Thornton ESPP slides UK WW Network 4_6_24.pdf
 
Eukaryotic Transcription Presentation.pptx
Eukaryotic Transcription Presentation.pptxEukaryotic Transcription Presentation.pptx
Eukaryotic Transcription Presentation.pptx
 
如何办理(uvic毕业证书)维多利亚大学毕业证本科学位证书原版一模一样
如何办理(uvic毕业证书)维多利亚大学毕业证本科学位证书原版一模一样如何办理(uvic毕业证书)维多利亚大学毕业证本科学位证书原版一模一样
如何办理(uvic毕业证书)维多利亚大学毕业证本科学位证书原版一模一样
 
Phenomics assisted breeding in crop improvement
Phenomics assisted breeding in crop improvementPhenomics assisted breeding in crop improvement
Phenomics assisted breeding in crop improvement
 
原版制作(carleton毕业证书)卡尔顿大学毕业证硕士文凭原版一模一样
原版制作(carleton毕业证书)卡尔顿大学毕业证硕士文凭原版一模一样原版制作(carleton毕业证书)卡尔顿大学毕业证硕士文凭原版一模一样
原版制作(carleton毕业证书)卡尔顿大学毕业证硕士文凭原版一模一样
 
Randomised Optimisation Algorithms in DAPHNE
Randomised Optimisation Algorithms in DAPHNERandomised Optimisation Algorithms in DAPHNE
Randomised Optimisation Algorithms in DAPHNE
 
Deep Software Variability and Frictionless Reproducibility
Deep Software Variability and Frictionless ReproducibilityDeep Software Variability and Frictionless Reproducibility
Deep Software Variability and Frictionless Reproducibility
 
Authoring a personal GPT for your research and practice: How we created the Q...
Authoring a personal GPT for your research and practice: How we created the Q...Authoring a personal GPT for your research and practice: How we created the Q...
Authoring a personal GPT for your research and practice: How we created the Q...
 

Supporting Users to Manage Breaking and Unresolvable Changes in Coupled Evolution

  • 1. Dipartimento di Ingegneria e Scienze Università degli Studi dell’Aquila dell’Informazione e Matematica Supporting Users to Manage Breaking and Unresolvable Changes in Coupled Evolution Alfonso Pierantonio joint work with Davide Di Ruscio, Juri Di Rocco, Ludovico Iovino
  • 2. Workshop on Domain-Specific Modeling – 27 OCT 2015, Pittsburgh, Pennsylvania, United States 2 Introduction Metamodels play a key role in any metamodeling ecosystem since they are at the core of a wide range of modeling artifacts. Metamodel
  • 3. Workshop on Domain-Specific Modeling – 27 OCT 2015, Pittsburgh, Pennsylvania, United States 3 Introduction «Between 50% and 80% of the overall cost [in sw projects] are spent on evolution» [S. Ducasse: keynote@SLE’15 today!]
  • 4. Workshop on Domain-Specific Modeling – 27 OCT 2015, Pittsburgh, Pennsylvania, United States 4 Introduction «Between 50% and 80% of the overall cost [in sw projects] are spent on evolution» [S. Ducasse: keynote@SLE’15 today!]
  • 5. Workshop on Domain-Specific Modeling – 27 OCT 2015, Pittsburgh, Pennsylvania, United States 5 Introduction «Between 50% and 80% of the overall cost [in sw projects] are spent on evolution» [S. Ducasse: keynote@SLE’15 today!] Similarly to software metamodels evolves as well: however whenever a metamodel changes other artifacts must be consequently adapted! All the artifacts in the ecosystem, including models, model transformations, textual and graphical editors, and code generators, are affected. Metamodels are easily locked in!
  • 6. Workshop on Domain-Specific Modeling – 27 OCT 2015, Pittsburgh, Pennsylvania, United States 6 Introduction Metamodel changes can be classified as – non-breaking (NBC) – breaking and resolvable (BRC) – breaking and unresolvable (BUC) depending on their impact and on the kind of artifact. In the last case, user intervention is important to provide additional information, which cannot be inferred or derived.
  • 7. Workshop on Domain-Specific Modeling – 27 OCT 2015, Pittsburgh, Pennsylvania, United States 7 Existing approaches (selection) Model co-evolution: [1] A. Cicchetti, D. Di Ruscio, R. Eramo, and A. Pierantonio. Automating co-evolution in model-driven engineering. In Procs.of EDOC 2008, pages 222–231. IEEE Computer So- ciety, 2008. [2] F. Mantz, Y. Lamo, and G. Taentzer. Co-transformation of type and instance graphs supporting merging of types with retyping. ECEASST, (61), 2013. [3] F. Mantz, G. Taentzer, and Y. Lamo. Customizing model migrations by rule schemes. In Procs. IWPSE’13, pages 1– 10. ACM, 2013. Model transformations co-evolution: [4] J. Di Rocco, D. Di Ruscio, L. Iovino, and A. Pierantonio. Dealing with the coupled evolution of metamodels and model- to-text transformations. In ME’14 at MoDELS 2014, 2014. [5] Levendovszky, D. Balasubramanian, A. Narayanan, and G. Karsai. A Novel Approach to Semi- automated Evolution of DSML Model Transformation. In Procs. SLE’10, volume 5969 of LNCS, pages 23–41. Springer, 2010. Other kind of artifacts co-evolution: [6] D. Di Ruscio, L. Iovino, and A. Pierantonio. Managing the coupled evolution of metamodels and textual concrete syntax specifications. In SEAA’13, pages 114–121, Sept 2013. [7] A. Kusel, J. Etzlstorfer, E. Kapsammer, P. Lange, W. Rets- chitzegger, J. Schoenboeck, W. Schwinger, and M. Wimmer. A Systematic Taxonomy of Metamodel Evolution Impacts on OCL Expressions. In ME’14 at MoDELS 2014, Sept. 2014.
  • 8. Workshop on Domain-Specific Modeling – 27 OCT 2015, Pittsburgh, Pennsylvania, United States 8 Existing approaches All these approaches aim at automating the management of non-breaking, and breaking and resolvable changes. The management of breaking and unresolvable changes is still a challenging activity with little support – they are usually managed by applying default migration actions according to predefined heuristics with no control at all
  • 9. Workshop on Domain-Specific Modeling – 27 OCT 2015, Pittsburgh, Pennsylvania, United States 9 Proposal In order to overcome the uncertainty and/or lack of information during the automated consistency restoring process, we propose a human-in-loop approach: – The user is interactively asked to contribute with the missing information in order to complete the adaptation process. – It is a variability management process or a way for managing forms of known uncertainty.
  • 10. Workshop on Domain-Specific Modeling – 27 OCT 2015, Pittsburgh, Pennsylvania, United States 10 Motivating scenario
  • 11. Workshop on Domain-Specific Modeling – 27 OCT 2015, Pittsburgh, Pennsylvania, United States 11 Motivating scenario
  • 12. Workshop on Domain-Specific Modeling – 27 OCT 2015, Pittsburgh, Pennsylvania, United States 12 Motivating scenario
  • 13. Workshop on Domain-Specific Modeling – 27 OCT 2015, Pittsburgh, Pennsylvania, United States 13 Motivating scenario
  • 14. Workshop on Domain-Specific Modeling – 27 OCT 2015, Pittsburgh, Pennsylvania, United States 14 Motivating scenario
  • 15. Workshop on Domain-Specific Modeling – 27 OCT 2015, Pittsburgh, Pennsylvania, United States 15 Motivating scenario
  • 16. Workshop on Domain-Specific Modeling – 27 OCT 2015, Pittsburgh, Pennsylvania, United States 16 Metamodel Evolution Applied changes in the motivating scenario: 1. split attribute 2. change reference type 3. extract metaclass evolution 1 1 2 2 3 3
  • 17. Workshop on Domain-Specific Modeling – 27 OCT 2015, Pittsburgh, Pennsylvania, United States 17 1. Split attribute co-evolution The expression [binding.url] has to be migrated, however it is uncertainty whether to be replaced by – [binding.requestUrl], or – [binding.requestCookies] Metamodel evolution Corrupted excerpt of the code generator
  • 18. Workshop on Domain-Specific Modeling – 27 OCT 2015, Pittsburgh, Pennsylvania, United States 18 2. Change Reference Type co-evolution The template generateViewData cannot be invoked on elements with type Data anymore (because of the reference type change) Metamodel evolution Corrupted excerpt of the code generator
  • 19. Workshop on Domain-Specific Modeling – 27 OCT 2015, Pittsburgh, Pennsylvania, United States 19 Extract Metaclass co-evolution The expression [aTemplate.style] cannot be evaluated anymore, consistency can be restored with: – [aTemplate.style.src] – [aTemplate.style.href] Metamodel evolution Corrupted excerpt of the code generator
  • 20. Workshop on Domain-Specific Modeling – 27 OCT 2015, Pittsburgh, Pennsylvania, United States 20 Proposed Adaptation Approach The adaptation process relies on an extension of EMFMigrate realized by means of the epsilon platform D. Wagelaar, L. Iovino, D. Ruscio, and A. Pierantonio. Translational semantics of a co-evolution specific language with the EMF transformation virtual machine. In Theory and Practice of Model Transformations, ICMT 2012, LNCS 7307, 192–207.
  • 21. Workshop on Domain-Specific Modeling – 27 OCT 2015, Pittsburgh, Pennsylvania, United States 21 Proposed Adaptation Approach The adaptation flow is formalized by the following sequence diagram
  • 22. Workshop on Domain-Specific Modeling – 27 OCT 2015, Pittsburgh, Pennsylvania, United States 22 Proposed Adaptation Approach EMFMigrate is a co-evolution language for EMF- based artifact migration – It consists of migration rules applied on a given artifact A conforming to a metamodel MM – EMFMigrate has been extended to generate Epsilon programs
  • 23. Workshop on Domain-Specific Modeling – 27 OCT 2015, Pittsburgh, Pennsylvania, United States 23 Migration Programs A ANT script is generated together with the Epsilon transformation to orchestrate the following Whenever necessary the user is prompt for necessary information, which permits to resolve uncertainty points
  • 24. Workshop on Domain-Specific Modeling – 27 OCT 2015, Pittsburgh, Pennsylvania, United States 24 1. Split attribute co-evolution The expression [binding.url] has to be migrated, however it is uncertainty whether to be replaced by – [binding.requestUrl], or – [binding.requestCookies] Metamodel evolution Corrupted excerpt of the code generator
  • 25. Workshop on Domain-Specific Modeling – 27 OCT 2015, Pittsburgh, Pennsylvania, United States 25 2. Change Reference Type co-evolution The template generateViewData cannot be invoked on elements with type Data anymore (because of the reference type change) Metamodel evolution Corrupted excerpt of the code generator
  • 26. Workshop on Domain-Specific Modeling – 27 OCT 2015, Pittsburgh, Pennsylvania, United States 26 Extract Metaclass co-evolution The expression [aTemplate.style] cannot be evaluated anymore, consistency can be restored with: – [aTemplate.style.src] – [aTemplate.style.href] Metamodel evolution Corrupted excerpt of the code generator
  • 27. Workshop on Domain-Specific Modeling – 27 OCT 2015, Pittsburgh, Pennsylvania, United States 27 Conclusions An approach the management of breaking and unresolvable changes is proposed. It consists of – generating all possible alternatives (a model with variability) and – Interactively resolving the variability It has been demonstrated on Acceleo templates, however the approach is mature to be applied to any EMF-based artifact Future work includes a off-the-shelf catalog of migrators associated to the refactorings catalog in http://www.metamodelrefactoring.org/
  • 28. Workshop on Domain-Specific Modeling – 27 OCT 2015, Pittsburgh, Pennsylvania, United States 28

Editor's Notes

  1. RouterBinding.url -> RouterBinding.(requestURL + requestCookie) change ref type data: Data -> Attribute da attributo in Template, style diventa reference ad una nuova metaclasse Style