Model transformation co-
evolution: a semi-
automatic approach
Jokin García, Oscar Díaz and Maider Azanza
Onekin Research Group
Department of Computer Languages and Systems
University of the Basque Country
Dresden - September 27th
, 2012
J. García, O. Díaz, M. Azanza
Index
Background, related work
Problem statement
Process
• Detection
• Co-evolution
Motivating scenarios
Conclusions, future work
J. García, O. Díaz, M. Azanza
Background, related work
 Metamodel evolution
 Model co-evolution to metamodel changes
J. García, O. Díaz, M. Azanza
Problem statement
 Metamodel evolution impacts on transformations.
 Manual migration of these transformations is cumbersome and error-
prone.
 We propose a semi-automatic migration process of transformations
to metamodel changes.
J. García, O. Díaz, M. Azanza
Process
Metamodel
and evolved
metamodel
1) Detection:
Simple
changes
Simple
changes
2) Detection:
complex
changes
changes
3) Similarity
analysis
Similarity
model
4) CNF
conversion
Transformatio
n
Normalized
transformation
5) Co-
evolution
Co-evolved
transformation
J. García, O. Díaz, M. Azanza
Detection stage
1) Retrieve simple changes using a comparison tool
2) Convert simple changes to complex if they are semantically related
AddModelElement
UpdateAttribute
RemoveModelElement
! SplitClass
J. García, O. Díaz, M. Azanza
Co-evolution stage
 Define correspondences that map the original transformation into an
evolved transformation.
 Taxonomy of changes based on the impact:
• Non Breaking Changes (NBC)
• Breaking and Resolvable Changes (BRC)
• Breaking and Unresolvable Changes (BUC)
 “Everything is a model” philosophy: implemented as HOTs.
J. García, O. Díaz, M. Azanza
Co-evolution stage
 Auxiliary steps
• Conjunctive Normal Form conversion:
– not ((A and B) or C) -> (not A or not B) and not C
• Similarity analysis
Source 1
Target 1
Target 2
Similarity = 1
Similarity = 0
J. García, O. Díaz, M. Azanza
Motivating scenario
J. García, O. Díaz, M. Azanza
Motivating scenario
J. García, O. Díaz, M. Azanza
Scenario 1: Extract superclass
 Scenario 1: The AssistantMVC's Multiple class is introduced in the
target metamodel.
• Extract superclass is a NBC case. No action is needed.
J. García, O. Díaz, M. Azanza
Scenario 2: delete metaproperty
 The metaproperty optional is deleted from ExamElement.
• minimum deletion is applied.
J. García, O. Díaz, M. Azanza
Minimum deletion
 Delete only the strictly necessary rule fragments
 String concatenation: s3 <- s1 + s2. If s1 is removed: s3 <- s2.
 Collections: Set{A, B, C}. If A is removed: Set{B, C}
 Boolean expressions: not ErasmusGrant or (speakEnglish and
enrolledLastYear). If speakEnglish is removed: not ErasmusGrant or
enrolledLastYear
J. García, O. Díaz, M. Azanza
Scenario 2
 Opposite filters in two rules:
• (value>5 and optional) or long.
– Evolved filter: (value > 5 or long)
• not ((value>5 and optional) or long).
– CNF: (not value>5 or not optional) and not long.
– Evolved filter: (not value>5 and not long).
J. García, O. Díaz, M. Azanza
Scenario 3: type change
 Scenario 3: The AssistantMVC's fontName metaproperty is changed
from string to integer.
• BUC in most of the cases. Only few cases are NBC.
J. García, O. Díaz, M. Azanza
Scenario 4: split class
 Scenario 4. The AssistantMVC's OpenElement class is splitted into
OpenElement_1 and OpenElement_2.
J. García, O. Díaz, M. Azanza
Scenario 4
 One rule will become two, and bindings will be moved to the
corresponding rule depending on the used metaproperty.
J. García, O. Díaz, M. Azanza
Scenario 5: Add metaclass and
metaproperty
 New subclass ExerciseElement and metaproperty style are added
J. García, O. Díaz, M. Azanza
Conclusions
 Semi-automatic process to adapt transformations to metamodel
evolution
• Derive complex changes from simple changes
• Minimum deletion
• Map the original transformation into an evolved transformation
that tackles metamodel changes
• The approach is realized for EMOF/Ecore-based metamodels
• ATL transformations
J. García, O. Díaz, M. Azanza
Future work
 Empirical assessment:
• Complete implementation
• Test is real scenarios.
J. García, O. Díaz, M. Azanza
Questions?
jokin.garcia@ehu.es http://www.onekin.org
Thank you!
J. García, O. Díaz, M. Azanza
(Questions) V+V
 Syntactic correctness: ok
 Verification [1]
• When a new class in created in the target with a relation with
min cardinality > 0, check that it has a mapping.
• When a metaclass is removed from the source, check that
metaclasses it is mapped to, do not have relationships with
cardinality > 0.
 Validation: ?
[1] “Using ATL for checking models” Bezivin et. al.
J. García, O. Díaz, M. Azanza
(Questions)Minimum deletion
 Boolean expressions: not ErasmusGrant or (speakEnglish and
enrolledLastYear). If speakEnglish is removed: not ErasmusGrant or
enrolledLastYear
 Rt and Rf policies
J. García, O. Díaz, M. Azanza
(Questions)

More Related Content

PPT
Final keyword in java
PPTX
Functions, Arithmetic and Geometric Progression, Matrix
PPTX
Python operators part3
PPTX
5- Overriding and Abstraction In Java
PPTX
2- Introduction to java II
PPTX
How We Stopped Worrying About Variance: Just Add +/- Until It Compiles
PPTX
Oops concept in Java
Final keyword in java
Functions, Arithmetic and Geometric Progression, Matrix
Python operators part3
5- Overriding and Abstraction In Java
2- Introduction to java II
How We Stopped Worrying About Variance: Just Add +/- Until It Compiles
Oops concept in Java

What's hot (8)

PPTX
This keyword and final keyword
PDF
Loop invarient
PPTX
Transformations of Models Containing Uncertainty
PPT
Super and final in java
PDF
Alternate Sort
DOC
Week3 dq1
PDF
Keywords in python
This keyword and final keyword
Loop invarient
Transformations of Models Containing Uncertainty
Super and final in java
Alternate Sort
Week3 dq1
Keywords in python
Ad

Similar to SLE 2012 Model to model transformation co-evolution (20)

PPTX
PhD Maintainability of transformations in evolving MDE ecosystems
PDF
Effective Detection of Model Changes
PPTX
What is needed for managing co-evolution in MDE?
PPTX
Automated chaining of model transformations with incompatible metamodels
PPTX
Generic and Meta-Transformations for Model Transformation Engineering
PPTX
Supporting Users to Manage Breaking and Unresolvable Changes in Coupled Evolu...
PDF
A Systematic Language Engineering Approach for Prototyping Domain Specific Mo...
KEY
PPTX
Evolution in the Large and in the Small in Model-Driven Development
PPT
Qu meeting PhD kessentini
PPT
Qu meeting phd thesis kessentini
PDF
Model-Driven Software Engineering in Practice - Chapter 8 - Model-to-model tr...
PDF
Approaches to Model Transformation Reuse: from Concepts to A-posteriori typing
PDF
Model Transformation Reuse
PPT
Testing Model Transformations
PDF
An ai planning approach for generating
PDF
AN AI PLANNING APPROACH FOR GENERATING BIG DATA WORKFLOWS
PDF
Executable modeling & dynamic adaptation
PPTX
Keynote Extreme Modelling 2014
ODP
EvoPat - Pattern-Based Evolution and Refactoring of RDF Knowledge Bases
PhD Maintainability of transformations in evolving MDE ecosystems
Effective Detection of Model Changes
What is needed for managing co-evolution in MDE?
Automated chaining of model transformations with incompatible metamodels
Generic and Meta-Transformations for Model Transformation Engineering
Supporting Users to Manage Breaking and Unresolvable Changes in Coupled Evolu...
A Systematic Language Engineering Approach for Prototyping Domain Specific Mo...
Evolution in the Large and in the Small in Model-Driven Development
Qu meeting PhD kessentini
Qu meeting phd thesis kessentini
Model-Driven Software Engineering in Practice - Chapter 8 - Model-to-model tr...
Approaches to Model Transformation Reuse: from Concepts to A-posteriori typing
Model Transformation Reuse
Testing Model Transformations
An ai planning approach for generating
AN AI PLANNING APPROACH FOR GENERATING BIG DATA WORKFLOWS
Executable modeling & dynamic adaptation
Keynote Extreme Modelling 2014
EvoPat - Pattern-Based Evolution and Refactoring of RDF Knowledge Bases
Ad

Recently uploaded (20)

PDF
AI-Powered Threat Modeling: The Future of Cybersecurity by Arun Kumar Elengov...
PDF
Topaz Photo AI Crack New Download (Latest 2025)
PDF
AI Guide for Business Growth - Arna Softech
PDF
AI/ML Infra Meetup | LLM Agents and Implementation Challenges
PDF
Top 10 Software Development Trends to Watch in 2025 🚀.pdf
PPTX
Airline CRS | Airline CRS Systems | CRS System
PPTX
Matchmaking for JVMs: How to Pick the Perfect GC Partner
PDF
DuckDuckGo Private Browser Premium APK for Android Crack Latest 2025
PPTX
GSA Content Generator Crack (2025 Latest)
PDF
Visual explanation of Dijkstra's Algorithm using Python
PDF
Practical Indispensable Project Management Tips for Delivering Successful Exp...
PDF
MCP Security Tutorial - Beginner to Advanced
PPTX
4Seller: The All-in-One Multi-Channel E-Commerce Management Platform for Glob...
PDF
Microsoft Office 365 Crack Download Free
PPTX
Trending Python Topics for Data Visualization in 2025
PDF
novaPDF Pro 11.9.482 Crack + License Key [Latest 2025]
PDF
Guide to Food Delivery App Development.pdf
PDF
The Dynamic Duo Transforming Financial Accounting Systems Through Modern Expe...
PDF
How Tridens DevSecOps Ensures Compliance, Security, and Agility
DOCX
How to Use SharePoint as an ISO-Compliant Document Management System
AI-Powered Threat Modeling: The Future of Cybersecurity by Arun Kumar Elengov...
Topaz Photo AI Crack New Download (Latest 2025)
AI Guide for Business Growth - Arna Softech
AI/ML Infra Meetup | LLM Agents and Implementation Challenges
Top 10 Software Development Trends to Watch in 2025 🚀.pdf
Airline CRS | Airline CRS Systems | CRS System
Matchmaking for JVMs: How to Pick the Perfect GC Partner
DuckDuckGo Private Browser Premium APK for Android Crack Latest 2025
GSA Content Generator Crack (2025 Latest)
Visual explanation of Dijkstra's Algorithm using Python
Practical Indispensable Project Management Tips for Delivering Successful Exp...
MCP Security Tutorial - Beginner to Advanced
4Seller: The All-in-One Multi-Channel E-Commerce Management Platform for Glob...
Microsoft Office 365 Crack Download Free
Trending Python Topics for Data Visualization in 2025
novaPDF Pro 11.9.482 Crack + License Key [Latest 2025]
Guide to Food Delivery App Development.pdf
The Dynamic Duo Transforming Financial Accounting Systems Through Modern Expe...
How Tridens DevSecOps Ensures Compliance, Security, and Agility
How to Use SharePoint as an ISO-Compliant Document Management System

SLE 2012 Model to model transformation co-evolution

  • 1. Model transformation co- evolution: a semi- automatic approach Jokin García, Oscar Díaz and Maider Azanza Onekin Research Group Department of Computer Languages and Systems University of the Basque Country Dresden - September 27th , 2012
  • 2. J. García, O. Díaz, M. Azanza Index Background, related work Problem statement Process • Detection • Co-evolution Motivating scenarios Conclusions, future work
  • 3. J. García, O. Díaz, M. Azanza Background, related work  Metamodel evolution  Model co-evolution to metamodel changes
  • 4. J. García, O. Díaz, M. Azanza Problem statement  Metamodel evolution impacts on transformations.  Manual migration of these transformations is cumbersome and error- prone.  We propose a semi-automatic migration process of transformations to metamodel changes.
  • 5. J. García, O. Díaz, M. Azanza Process Metamodel and evolved metamodel 1) Detection: Simple changes Simple changes 2) Detection: complex changes changes 3) Similarity analysis Similarity model 4) CNF conversion Transformatio n Normalized transformation 5) Co- evolution Co-evolved transformation
  • 6. J. García, O. Díaz, M. Azanza Detection stage 1) Retrieve simple changes using a comparison tool 2) Convert simple changes to complex if they are semantically related AddModelElement UpdateAttribute RemoveModelElement ! SplitClass
  • 7. J. García, O. Díaz, M. Azanza Co-evolution stage  Define correspondences that map the original transformation into an evolved transformation.  Taxonomy of changes based on the impact: • Non Breaking Changes (NBC) • Breaking and Resolvable Changes (BRC) • Breaking and Unresolvable Changes (BUC)  “Everything is a model” philosophy: implemented as HOTs.
  • 8. J. García, O. Díaz, M. Azanza Co-evolution stage  Auxiliary steps • Conjunctive Normal Form conversion: – not ((A and B) or C) -> (not A or not B) and not C • Similarity analysis Source 1 Target 1 Target 2 Similarity = 1 Similarity = 0
  • 9. J. García, O. Díaz, M. Azanza Motivating scenario
  • 10. J. García, O. Díaz, M. Azanza Motivating scenario
  • 11. J. García, O. Díaz, M. Azanza Scenario 1: Extract superclass  Scenario 1: The AssistantMVC's Multiple class is introduced in the target metamodel. • Extract superclass is a NBC case. No action is needed.
  • 12. J. García, O. Díaz, M. Azanza Scenario 2: delete metaproperty  The metaproperty optional is deleted from ExamElement. • minimum deletion is applied.
  • 13. J. García, O. Díaz, M. Azanza Minimum deletion  Delete only the strictly necessary rule fragments  String concatenation: s3 <- s1 + s2. If s1 is removed: s3 <- s2.  Collections: Set{A, B, C}. If A is removed: Set{B, C}  Boolean expressions: not ErasmusGrant or (speakEnglish and enrolledLastYear). If speakEnglish is removed: not ErasmusGrant or enrolledLastYear
  • 14. J. García, O. Díaz, M. Azanza Scenario 2  Opposite filters in two rules: • (value>5 and optional) or long. – Evolved filter: (value > 5 or long) • not ((value>5 and optional) or long). – CNF: (not value>5 or not optional) and not long. – Evolved filter: (not value>5 and not long).
  • 15. J. García, O. Díaz, M. Azanza Scenario 3: type change  Scenario 3: The AssistantMVC's fontName metaproperty is changed from string to integer. • BUC in most of the cases. Only few cases are NBC.
  • 16. J. García, O. Díaz, M. Azanza Scenario 4: split class  Scenario 4. The AssistantMVC's OpenElement class is splitted into OpenElement_1 and OpenElement_2.
  • 17. J. García, O. Díaz, M. Azanza Scenario 4  One rule will become two, and bindings will be moved to the corresponding rule depending on the used metaproperty.
  • 18. J. García, O. Díaz, M. Azanza Scenario 5: Add metaclass and metaproperty  New subclass ExerciseElement and metaproperty style are added
  • 19. J. García, O. Díaz, M. Azanza Conclusions  Semi-automatic process to adapt transformations to metamodel evolution • Derive complex changes from simple changes • Minimum deletion • Map the original transformation into an evolved transformation that tackles metamodel changes • The approach is realized for EMOF/Ecore-based metamodels • ATL transformations
  • 20. J. García, O. Díaz, M. Azanza Future work  Empirical assessment: • Complete implementation • Test is real scenarios.
  • 21. J. García, O. Díaz, M. Azanza Questions? jokin.garcia@ehu.es http://www.onekin.org Thank you!
  • 22. J. García, O. Díaz, M. Azanza (Questions) V+V  Syntactic correctness: ok  Verification [1] • When a new class in created in the target with a relation with min cardinality > 0, check that it has a mapping. • When a metaclass is removed from the source, check that metaclasses it is mapped to, do not have relationships with cardinality > 0.  Validation: ? [1] “Using ATL for checking models” Bezivin et. al.
  • 23. J. García, O. Díaz, M. Azanza (Questions)Minimum deletion  Boolean expressions: not ErasmusGrant or (speakEnglish and enrolledLastYear). If speakEnglish is removed: not ErasmusGrant or enrolledLastYear  Rt and Rf policies
  • 24. J. García, O. Díaz, M. Azanza (Questions)

Editor's Notes

  • #2: Good morning. It is a pleasure for me to be here. I am going to present the work entitled “Model transformation co-evolution: a semi-automatic approach”
  • #3: In MDE metamodels are subject to evolution. This is accepted by researchers and practitioners. There are many reasons for this. During design alternative metamodel versions may be developed. During implementation metamodels may be adapted to a concrete metamodel formalism supported by a tool. Finally, during maintenance errors in a metamodel may be corrected. Moreover, parts of the metamodel may be redesigned due to a better understanding or to facilitate reuse The consecuence of this evolution on Mms, is that the artifacts which are related to this metamodel get outdated. This is the case of both models and transformations. - The impact of metamodel changes on models has been studied in several works. On the contrary, transformation co-evolution has received less attention. It was the missing piece
  • #4: In MDE metamodels are subject to evolution. This is accepted by researchers and practitioners. There are many reasons for this. During design alternative metamodel versions may be developed. During implementation metamodels may be adapted to a concrete metamodel formalism supported by a tool. Finally, during maintenance errors in a metamodel may be corrected. Moreover, parts of the metamodel may be redesigned due to a better understanding or to facilitate reuse The consecuence of this evolution on Mms, is that the artifacts which are related to this metamodel get outdated. This is the case of both models and transformations. - The impact of metamodel changes on models has been studied in several works. On the contrary, transformation co-evolution has received less attention. It was the missing piece
  • #5: The summary of the problem would be: - (contextualizar) MM evolution impacts on transformations, because model to model transformations are specified using concepts from input and output model´s metamodels. - (motivar) Manual migration... - (resolver) Having this into account we propose a... (No comentar las contribuciones. Se comentarán en conclusiones)
  • #6: This picture outlines an overview of this process Is a process that, given the original source and target metamodels, the evolved source and/or target metamodel/s and the transformation, generates the adapted transformation model, that will be extracted to an .atl file. -In the first phase, the detection phase 1) given the original and evolved metamodels, simple changes are detected using a comparison tool. 2) Then, these changes are grouped into simple or complex changes where applicable, in a simple to complex transformation. - Then, in the Co-evolution phase we have two auxiliary steps and the co-evolution itself. 3) In the similarity analysis a similarity model is derived from the input and output Mms (las últimas versiones) and will be optionally an input in the adaptation to infere where to map new elements. 4) CNF conversion: On the other hand, conditional expressions might need to be rewritten in CNF conversion phase to make possible to apply minimum deletion algorithms to the transformation. 5) Last, the Migrator performs the actual adaptation. Adaptation is implemented with a transformation modification HOT pattern
  • #7: As a comparison tool to obtain the simple changes we use EMF Compare. This tool takes two models as input and obtains the differences along the Difference metamodel. We have done an extension to this metamodel in order to support the concept of complex change. Having this metamodel, we are able to transform the model of simple changes to a model of complex changes using a transformation. The reason for this is that we want changes to conform a meaningful transation on the MM to not miss the intention of the designer and avoid misunderstandings.
  • #8: Once we have obtained the changes model, we are going to use it as input in the next phase: the co-evolution Our adaptation approach is based on a taxonomy of changes. This taxonomy of changes is divided into three groups based on the impact on transformations: - NBC: These changes have no impact on the transformation. - BRC: These changes do impact the transformation rules, but this impact is amenable to be automated. - BUC: These changes also impact the transformation, but full automatization is not possible and user intervention is required. We don&amp;apos;t have time to see in detail all the changes. We will study 5 scenarios which are representative.
  • #9: Before we deal with the adaptation we need two auxiliary steps: one related to subtractive changes and the other related to additive changes. - CNF conversion: CNF is a conjunction of clauses, where a clause is a disjunction of literals. (Es decir, ANDs que dentro tienen ORs) In order to delete transformation structures properly, it is important to have the expressions normalized. - Similarity analysis is used to achieve a higher degree of automatization in additive changes. A similarity analysis is conducted between source and target Mms, to look for a matching element to the new elements. The effectiveness depends a lot on the semantic gap between metamodels. (This is based on metamodel matching works.)
  • #10: Now I will use an scenario to illustrate some of the change types: We use a popular transformation from bibliography that transforms exam questions to Web-based exams along the MVC pattern. Left is the Exam MM, which is the input and right the Assistant MM, which is the output I will introduce some examples of changes in a metamodel: -Scenario 1. The AssistantMVC&amp;apos;s Multiple class is introduced in the target metamodel. This new class abstracts away the commonality of three existing classes: MultipleChoiceController, MultipleChoiceView and MultipleChoice. - Scenario 2. Property optional is deleted from ExamXML&amp;apos;s ExamElement. - Scenario 3. The AssistantMVC&amp;apos;s fontColor metaproperty is changed from string to integer. -Scenario 4. The ExamXML&amp;apos;s OpenElement class is splitted into OpenEle- ment_1 and OpenElement_2. -Scenario 5. New subclass ExerciseElement is added to ExamElement meta- class, and a new property style is added to View target metaclass.
  • #11: Now I will use an scenario to illustrate some of the change types: We use a popular transformation from bibliography that transforms exam questions to Web-based exams along the MVC pattern. Left is the Exam MM, which is the input and right the Assistant MM, which is the output I will introduce some examples of changes in a metamodel: -Scenario 1. The AssistantMVC&amp;apos;s Multiple class is introduced in the target metamodel. This new class abstracts away the commonality of three existing classes: MultipleChoiceController, MultipleChoiceView and MultipleChoice. - Scenario 2. Property optional is deleted from ExamXML&amp;apos;s ExamElement. - Scenario 3. The AssistantMVC&amp;apos;s fontColor metaproperty is changed from string to integer. -Scenario 4. The ExamXML&amp;apos;s OpenElement class is splitted into OpenEle- ment_1 and OpenElement_2. -Scenario 5. New subclass ExerciseElement is added to ExamElement meta- class, and a new property style is added to View target metaclass.
  • #12: - Scenario 1: It must be noted the importance of having this change as a complex change, otherwise it would be interpreted as a set of simple breaking changes instead of one non-breaking complex change
  • #13: - This minimum deletion deserves further explanation
  • #14: When a metaclass or a metaproperty is deleted, affected transformation elements have to be removed while keeping the transformation logic coherent. But if we delete everything and leave the transformation empty, it would compile properly but for sure it is not what we expected. What we expect is to removed only the necessary elements. There are different language structures to have into account:Some of them are very intuitive, as concatenations or collections, where we only remove the affected elements, but boolean expressions are not straightforward Boolean expressions are important because they are generally used in rule filters. First, we need to convert the expression to CNF, as we said before, using equivalence rules of Predicate Calculus. Then we need to apply conversion rules. there are two removal policies:- One is R subindex T, which means that the removed literal is satisfied by default- The other is R subindex F, which means that it is unsatisfied by default Why this? In the process of metamodel redesign, the designer could help giving the reason to take the decision of removing a metaproperty from the metamodel. For example, if all students in the university had a very good level of English (because it is a new precondition for the enrollment), it could be consideredas satised by default, and in case of removing the speakEnglish metaproperty, its value could be reinterpreted as removed&amp;satised-by-default (RT). On the other hand, if the university had decided not to participate in the Erasmus Program, no student would have such grant, and in case of removing the ErasmusGrant metaproperty, its value could be reinterpreted as removed&amp;unsatised-by-default (RF). If, in the previous example, there had been this expression not ErasmusGrant or (speakEnglish and enrolledLastYear), and later the redesign process decided to remove the speakEnglish metaproperty, then according to the truth table the expression would be rewritten as not ErasmusGrant or enrolledLastYear ; if the removed metaproperty had been ErasmusGrant with RF policy, then the new expression would have been true.
  • #15: The idea is applied in our second scenario Quite common situation: we have the opposite filter in two rules. Using minimal deletion we do not need to delete any of the rules Back to our second scenario (i.e. removal of optional from ExamElement), consider we have two rules whose filters refer to optional : In this way, surgically removal permits to limit the impact of deletion of properties in the associated rules.
  • #16: - The problem with the types is that ATL does not check the types in compilation time, so a transformation can be syntactically right, but give an error in runtime “Only few cases are NBC”: this is the case when a type changes to a subclass or in the case of numerical values (integer, double, ...). In the other cases, we can only warn the designer about a possible error
  • #17: - The forth scenario is an example of a complex breaking change. As result, rules having OpenElement as source should co-evolved. This is the case of the OpenQuestion rule, which is splitted in two rules: OpenQuestion_1 and OpenQuestion_2. The former contains the bindings related to OpenElement_1 while the latter keeps the bindings for OpenElement_2.
  • #18: When the metaclass is splitted, some of the attributes will remain in one metaclass and others in the other. In this case, attr1 remains in OpenElement_1 and attr2 will be moved to OpenElement_2. Bindings corresponding to each attribute will belong to the corresponding rule.
  • #19: Additive evolution is a NBC case. However, it is not unusual to need new rules or bindings to maintain the metamodel coverage level. For this purpose we include in the co-evolution the option to generate partially new rules, as they are not fully automatable. If we use a similarity model, the migrator may be able to fulfill the generated skeletons with the missing information
  • #20: To sum up, we addressed how metamodel evolution can be semi-automatically propagated to the transformation counterpart. - As contributions we can mention: The simple to complex changes transformation, minimum deletion and the migration itself. - As premises The approach is realized for EMOF/ Ecore-based metamodels and Transformations must have a transformation MM
  • #21: In this moment, I think that the logical way to go would be to put the approach through an empirical assessment. For that I need to complete all the functionality that is missing in the prototype and look for a real scenario. Ensure that the verification level is the same before and after the adaptation
  • #23: V+V: - Solo nos encargamos de syntactic correctness. - Verification tengo alguna transformación hecha. Tener el Eclipse abierto con el atl. As well as we use transformations to adapt the transformations, we can use transformations as well to verify transformations. We must ensure that the verification level is the same before and after the adaptation - Validation no se cómo se haría. Esta cuestión afecta a las transformaciones en general. ¿Cómo sabemos que una transformación hace lo que tiene que hacer? Mirar bibliografía: contratos? Podría ser que en la adaptación metiésemos algún error?
  • #24: there are two removal policies:- One is R subindex T, which means that the removed literal is satisfied by default- The other is R subindex F, which means that it is unsatisfied by default Why this? In the process of metamodel redesign, the designer could help giving the reason to take the decision of removing a metaproperty from the metamodel. For example, if all students in the university had a very good level of English (because it is a new precondition for the enrollment), it could be consideredas satised by default, and in case of removing the speakEnglish metaproperty, its value could be reinterpreted as removed&amp;satised-by-default (RT). On the other hand, if the university had decided not to participate in the Erasmus Program, no student would have such grant, and in case of removing the ErasmusGrant metaproperty, its value could be reinterpreted as removed&amp;unsatised-by-default (RF). If, in the previous example, there had been this expression not ErasmusGrant or (speakEnglish and enrolledLastYear), and later the redesign process decided to remove the speakEnglish metaproperty, then according to the truth table the expression would be rewritten as not ErasmusGrant or enrolledLastYear ; if the removed metaproperty had been ErasmusGrant with RF policy, then the new expression would have been true.
  • #25: Type changes are very problematic in transformation languages with dynamic typing. Preguntas de los revisores In simple to complex: what happens if two predicates intersect with each other? Example: Flatten hierarchy and move metaproperty. Flatten hierarchy has priority, as it includes move property. Operators: complex changes are similar to operators. The difference is that with operators the MM evolution has to be done with an specific tool and assume that the person evolving the MM will be the same as the person co-evolving the other artifact. In our case there is freedom to change the MM the way you want.