SlideShare a Scribd company logo
1 of 28
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

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
 
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
 
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
 
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
 
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
 
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
 
Mining Correlations of ATL Transformation and Metamodel Metrics
Mining Correlations of ATL Transformation and Metamodel MetricsMining Correlations of ATL Transformation and Metamodel Metrics
Mining Correlations of ATL Transformation and Metamodel Metrics
 

More from 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
 
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
 

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

Bacterial Identification and Classifications
Bacterial Identification and ClassificationsBacterial Identification and Classifications
Bacterial Identification and Classifications
Areesha Ahmad
 
Porella : features, morphology, anatomy, reproduction etc.
Porella : features, morphology, anatomy, reproduction etc.Porella : features, morphology, anatomy, reproduction etc.
Porella : features, morphology, anatomy, reproduction etc.
Silpa
 
Human genetics..........................pptx
Human genetics..........................pptxHuman genetics..........................pptx
Human genetics..........................pptx
Silpa
 
(May 9, 2024) Enhanced Ultrafast Vector Flow Imaging (VFI) Using Multi-Angle ...
(May 9, 2024) Enhanced Ultrafast Vector Flow Imaging (VFI) Using Multi-Angle ...(May 9, 2024) Enhanced Ultrafast Vector Flow Imaging (VFI) Using Multi-Angle ...
(May 9, 2024) Enhanced Ultrafast Vector Flow Imaging (VFI) Using Multi-Angle ...
Scintica Instrumentation
 
Conjugation, transduction and transformation
Conjugation, transduction and transformationConjugation, transduction and transformation
Conjugation, transduction and transformation
Areesha Ahmad
 
Biogenic Sulfur Gases as Biosignatures on Temperate Sub-Neptune Waterworlds
Biogenic Sulfur Gases as Biosignatures on Temperate Sub-Neptune WaterworldsBiogenic Sulfur Gases as Biosignatures on Temperate Sub-Neptune Waterworlds
Biogenic Sulfur Gases as Biosignatures on Temperate Sub-Neptune Waterworlds
Sérgio Sacani
 
POGONATUM : morphology, anatomy, reproduction etc.
POGONATUM : morphology, anatomy, reproduction etc.POGONATUM : morphology, anatomy, reproduction etc.
POGONATUM : morphology, anatomy, reproduction etc.
Silpa
 
biology HL practice questions IB BIOLOGY
biology HL practice questions IB BIOLOGYbiology HL practice questions IB BIOLOGY
biology HL practice questions IB BIOLOGY
1301aanya
 

Recently uploaded (20)

Bacterial Identification and Classifications
Bacterial Identification and ClassificationsBacterial Identification and Classifications
Bacterial Identification and Classifications
 
pumpkin fruit fly, water melon fruit fly, cucumber fruit fly
pumpkin fruit fly, water melon fruit fly, cucumber fruit flypumpkin fruit fly, water melon fruit fly, cucumber fruit fly
pumpkin fruit fly, water melon fruit fly, cucumber fruit fly
 
Selaginella: features, morphology ,anatomy and reproduction.
Selaginella: features, morphology ,anatomy and reproduction.Selaginella: features, morphology ,anatomy and reproduction.
Selaginella: features, morphology ,anatomy and reproduction.
 
Porella : features, morphology, anatomy, reproduction etc.
Porella : features, morphology, anatomy, reproduction etc.Porella : features, morphology, anatomy, reproduction etc.
Porella : features, morphology, anatomy, reproduction etc.
 
Climate Change Impacts on Terrestrial and Aquatic Ecosystems.pptx
Climate Change Impacts on Terrestrial and Aquatic Ecosystems.pptxClimate Change Impacts on Terrestrial and Aquatic Ecosystems.pptx
Climate Change Impacts on Terrestrial and Aquatic Ecosystems.pptx
 
GBSN - Microbiology (Unit 3)
GBSN - Microbiology (Unit 3)GBSN - Microbiology (Unit 3)
GBSN - Microbiology (Unit 3)
 
Proteomics: types, protein profiling steps etc.
Proteomics: types, protein profiling steps etc.Proteomics: types, protein profiling steps etc.
Proteomics: types, protein profiling steps etc.
 
Human genetics..........................pptx
Human genetics..........................pptxHuman genetics..........................pptx
Human genetics..........................pptx
 
(May 9, 2024) Enhanced Ultrafast Vector Flow Imaging (VFI) Using Multi-Angle ...
(May 9, 2024) Enhanced Ultrafast Vector Flow Imaging (VFI) Using Multi-Angle ...(May 9, 2024) Enhanced Ultrafast Vector Flow Imaging (VFI) Using Multi-Angle ...
(May 9, 2024) Enhanced Ultrafast Vector Flow Imaging (VFI) Using Multi-Angle ...
 
Locating and isolating a gene, FISH, GISH, Chromosome walking and jumping, te...
Locating and isolating a gene, FISH, GISH, Chromosome walking and jumping, te...Locating and isolating a gene, FISH, GISH, Chromosome walking and jumping, te...
Locating and isolating a gene, FISH, GISH, Chromosome walking and jumping, te...
 
Site Acceptance Test .
Site Acceptance Test                    .Site Acceptance Test                    .
Site Acceptance Test .
 
Conjugation, transduction and transformation
Conjugation, transduction and transformationConjugation, transduction and transformation
Conjugation, transduction and transformation
 
Biogenic Sulfur Gases as Biosignatures on Temperate Sub-Neptune Waterworlds
Biogenic Sulfur Gases as Biosignatures on Temperate Sub-Neptune WaterworldsBiogenic Sulfur Gases as Biosignatures on Temperate Sub-Neptune Waterworlds
Biogenic Sulfur Gases as Biosignatures on Temperate Sub-Neptune Waterworlds
 
POGONATUM : morphology, anatomy, reproduction etc.
POGONATUM : morphology, anatomy, reproduction etc.POGONATUM : morphology, anatomy, reproduction etc.
POGONATUM : morphology, anatomy, reproduction etc.
 
module for grade 9 for distance learning
module for grade 9 for distance learningmodule for grade 9 for distance learning
module for grade 9 for distance learning
 
PATNA CALL GIRLS 8617370543 LOW PRICE ESCORT SERVICE
PATNA CALL GIRLS 8617370543 LOW PRICE ESCORT SERVICEPATNA CALL GIRLS 8617370543 LOW PRICE ESCORT SERVICE
PATNA CALL GIRLS 8617370543 LOW PRICE ESCORT SERVICE
 
Bhiwandi Bhiwandi ❤CALL GIRL 7870993772 ❤CALL GIRLS ESCORT SERVICE In Bhiwan...
Bhiwandi Bhiwandi ❤CALL GIRL 7870993772 ❤CALL GIRLS  ESCORT SERVICE In Bhiwan...Bhiwandi Bhiwandi ❤CALL GIRL 7870993772 ❤CALL GIRLS  ESCORT SERVICE In Bhiwan...
Bhiwandi Bhiwandi ❤CALL GIRL 7870993772 ❤CALL GIRLS ESCORT SERVICE In Bhiwan...
 
An introduction on sequence tagged site mapping
An introduction on sequence tagged site mappingAn introduction on sequence tagged site mapping
An introduction on sequence tagged site mapping
 
CURRENT SCENARIO OF POULTRY PRODUCTION IN INDIA
CURRENT SCENARIO OF POULTRY PRODUCTION IN INDIACURRENT SCENARIO OF POULTRY PRODUCTION IN INDIA
CURRENT SCENARIO OF POULTRY PRODUCTION IN INDIA
 
biology HL practice questions IB BIOLOGY
biology HL practice questions IB BIOLOGYbiology HL practice questions IB BIOLOGY
biology HL practice questions IB BIOLOGY
 

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