SlideShare a Scribd company logo
1 of 29
Download to read offline
Universidad de los Andes
Departamento de Ingeniería de Sistemas y Computación
Effective detection of model changes
David Méndez Acuña
Rubby Casallas Gutierrez
SÉPTIMO CONGRESO COLOMBIANO DE COMPUTACIÓN
1
• Context
• Problem
• Related work
• Our approach
• Conclusions and future work
2
Agenda
Context
Model-driven software development is an approach
that proposes to use models as first-class entities for
creating software products.
3
Problem
Software evolution in the context of MDSD
The problem of software evolution remains relevant in the
context of model-driven software development
A particular case of software evolution is the
master/slave co-evolution [1].
4
[[master]] [[slave]]
[[master]] [[slave]]
consistency
consistency
5
Problem
Software evolution in the context of MDSD
Grammars
[[slave]]
Metamodel
[[master]]
Transformations
[[slave]]
Models
[[slave]]
6
Problem
Software evolution in the context of MDSD
Grammars
[[slave]]
Transformations
[[slave]]
Models
[[slave]]Metamodel
[[master]]
7
Migration process
Changes propagation
Impact analysis
Changes detection
8
Migration process
Changes propagation
Impact analysis
Changes detection
Current approaches for model
changes detection
9
Comparison-based approaches
List of changes [2]
List of changes
• Add class/property
• Delete class/property
• Retype property
• Modify property multiplicity
• Generalize property by type
• Generalize property by
multiplicity
• Restrict property by type
• Restrict property by
multiplicity
• Rename class/property
• Add inheritance
• Delete inheritance
• Move property
• Pull property
• Push property
• Extract superclass
• Flatten hierarchy
• Extract class
• Inline class
11
Comparison-based approaches
Compare two versions of the same metamodel and discover
the differences
12
Metamodel
[[master]]
Metamodel
[[master]]
Changes
model
Comparison-based approaches
Compare two versions of the same metamodel and discover
the differences
13
Metamodel
[[master]]
Metamodel
[[master]]
Changes
model
EMFCompare
(syntactical) [3]
List of changes
• Add class/property
• Delete class/property
• Retype property
• Modify property multiplicity
• Generalize property by type
• Generalize property by
multiplicity
• Restrict property by type
• Restrict property by
multiplicity
• Rename class/property
• Add inheritance
• Delete inheritance
• Move property
• Pull property
• Push property
• Extract superclass
• Flatten hierarchy
• Extract class
• Inline class
14
Comparison-based approaches
Compare two versions of the same metamodel and discover
the differences
15
Metamodel
[[master]]
Metamodel
[[master]]
Changes
model
EMFCompare
(syntactical) [3]
Heuristics [4]
List of changes
• Add class/property
• Delete class/property
• Retype property
• Modify property multiplicity
• Generalize property by type
• Generalize property by
multiplicity
• Restrict property by type
• Restrict property by
multiplicity
• Rename class/property
• Add inheritance
• Delete inheritance
• Move property
• Pull property
• Push property
• Extract superclass
• Flatten hierarchy
• Extract class
• Inline class
16
19
How to detect all the changes by
using a comparison-based approach?
It is possible to infer all the changes
from the syntactical changes that
EMFCompare supports?
20
Our approach
Objectives and overview
Detect all the changes of the Wachsmuth list from the syntactical
changes detected by EMFCompare
Metamodel
[[master]]
Metamodel
[[master]]
Changes
model
(entire list)
EMFCompare
(syntactical)
Changes
taxonomy
+
Inference
rules
21
Changes taxonomy
Change
Syntactical
Semantical
constrained
Semantical
composite
Atomic
Composite
22
Changes taxonomy
Detection
Change
Syntactical
Semantical
constrained
Semantical
composite
Atomic
Composite
Can be detected by
syntactical analysis
(EMFCompare)
23
Syntactical changes
24
Change
Syntactical
Semantical
constrained
Semantical
composite
Atomic
Composite
A syntactical change
that satisfies a structural
constraint
Changes taxonomy
Detection
A satisfies C
A is semantical
constrained
25
Semantical constrained changes
RETYPE PROPERTY
[[syntactical]]
The new type is
super type of the old
one
satisfies
GENERALIZE PROPERTY BY TYPE
[[syntactical]]
26
Change
Syntactical
Semantical
constrained
Semantical
composite
Atomic
Composite
A set of syntactical
changes that satisfy some
structural constraints
Changes taxonomy
Detection
Set A satisfies C
A is semantical
composite
27
Semantical composite changes
MOVE PROPERTY
[[syntactical]]
A and B refer to different
properties.
A and B are moved from
the same initial class to
the same final class.
The deleted class is the
initial class of the moved
properties
satisfy
INLINE CLASS
[[syntactical]]
MOVE PROPERTY
[[syntactical]]
DELETE CLASS
[[syntactical]]
A:
B:
C:
Changes taxonomy
• Add class/property
• Delete class/property
• Retype property
• Modify property multiplicity
• Generalize property by type
• Generalize property by
multiplicity
• Restrict property by type
• Restrict property by
multiplicity
• Rename class/property
• Add inheritance
• Delete inheritance
• Move property
• Pull property
• Push property
• Extract superclass
• Flatten hierarchy
• Extract class
• Inline class
28
Syntactical
changes
Constrained
changes
Composite
changes
Acknowledgements
29
Anne Etien
Université de Lille I
Lille, France
Germán Méndez
ECOPETROL S.A
Bogotá, Colombia
Louis Rose
University of York
York, UK
• It is possible to infer semantics of changes from analysis
of the syntactic differences between two versions of the
same metamodel.
• Some stronger validation is required.
• We aim at presenting this tool to the eclipse community
expecting to be accepted as an eclipse project.
30
Conclusions and future work
References
[1] L. Rose, R. Paige, D. Kolovos, and F. Polack. An analysis of approaches to model migration. In Proceedings of
the Models and Evolution Workshop, 12th ACM/IEEE International Conference on Model Driven Engineering,
Languages and Systems, MoDSE-MCCM. ACM, October 2009.
[2] G. Wachsmuth. Metamodel adaptation and model co-adaptation. In E. Ernst, editor, Proceedings of the 21st
European Conference on Object-Oriented Programming (ECOOP’07), volume 4609 of Lecture Notes in
Computer Science, pages 600–624. Springer-Verlag, July 2007.
[3] EMFCompare. Eclipse Community. Accesed: 10 April 2012. http://www.eclipse.org/emf/compare/
[4] K. Garcés, F. Jouault, P. Cointe, and J. Bézivin. Managing model adaptation by precise detection of
metamodel changes. In Proceedings of the 5th European Conference on Model Driven Architecture –
Foundations and Applications, ECMDA-FA ’09, Berlin, Heidelberg, 2009. Springer-Verlag.
[5] M. Herrmannsdoerfer, S. Benz, and E. Juergens. Cope – automating coupled evolution of metamodels and
models. In S. Drossopoulou, editor, ECOOP 2009 Object-Oriented Programming, volume 5653 of Lecture Notes
in Computer Science, pages 52–76. 2009
31
32
Questions
df.mendez73@uniandes.edu.co
David Méndez-Acuña

More Related Content

Similar to Effective Detection of Model Changes

UNIT IV DESIGN PATTERNS.pptx
UNIT IV DESIGN PATTERNS.pptxUNIT IV DESIGN PATTERNS.pptx
UNIT IV DESIGN PATTERNS.pptxanguraju1
 
A Framework for Model-Driven Evolution in Families of Software Architectures
A Framework for Model-Driven Evolution in Families of Software ArchitecturesA Framework for Model-Driven Evolution in Families of Software Architectures
A Framework for Model-Driven Evolution in Families of Software ArchitecturesPooyan Jamshidi
 
Systems variability modeling a textual model mixing class and feature concepts
Systems variability modeling a textual model mixing class and feature conceptsSystems variability modeling a textual model mixing class and feature concepts
Systems variability modeling a textual model mixing class and feature conceptsijcsit
 
Collaborative editing of emf ecore meta models and models conflict detection,...
Collaborative editing of emf ecore meta models and models conflict detection,...Collaborative editing of emf ecore meta models and models conflict detection,...
Collaborative editing of emf ecore meta models and models conflict detection,...Amanuel Alemayehu
 
Software Engineering with Objects (M363) Final Revision By Kuwait10
Software Engineering with Objects (M363) Final Revision By Kuwait10Software Engineering with Objects (M363) Final Revision By Kuwait10
Software Engineering with Objects (M363) Final Revision By Kuwait10Kuwait10
 
RuCORD: Rule-based Composite Operation Recovering and Detection to Support Co...
RuCORD: Rule-based Composite Operation Recovering and Detection to Support Co...RuCORD: Rule-based Composite Operation Recovering and Detection to Support Co...
RuCORD: Rule-based Composite Operation Recovering and Detection to Support Co...Amanuel Alemayehu
 
Thesis Defense (Gwendal DANIEL) - Nov 2017
Thesis Defense (Gwendal DANIEL) - Nov 2017Thesis Defense (Gwendal DANIEL) - Nov 2017
Thesis Defense (Gwendal DANIEL) - Nov 2017Gwendal Daniel
 
12266422.ppt
12266422.ppt12266422.ppt
12266422.pptCSEC5
 
Introduction To Design Patterns
Introduction To Design PatternsIntroduction To Design Patterns
Introduction To Design Patternssukumarraju6
 
Extending Rotor with Structural Reflection to support Reflective Languages
Extending Rotor with Structural Reflection to support Reflective LanguagesExtending Rotor with Structural Reflection to support Reflective Languages
Extending Rotor with Structural Reflection to support Reflective Languagesfranciscoortin
 
CS6502 OOAD - Question Bank and Answer
CS6502 OOAD - Question Bank and AnswerCS6502 OOAD - Question Bank and Answer
CS6502 OOAD - Question Bank and AnswerGobinath Subramaniam
 
Using Model-Driven Engineering for Decision Support Systems Modelling, Implem...
Using Model-Driven Engineering for Decision Support Systems Modelling, Implem...Using Model-Driven Engineering for Decision Support Systems Modelling, Implem...
Using Model-Driven Engineering for Decision Support Systems Modelling, Implem...CSCJournals
 
Migration strategies for object oriented system to component based system
Migration strategies for object oriented system to component based systemMigration strategies for object oriented system to component based system
Migration strategies for object oriented system to component based systemijfcstjournal
 

Similar to Effective Detection of Model Changes (20)

UNIT IV DESIGN PATTERNS.pptx
UNIT IV DESIGN PATTERNS.pptxUNIT IV DESIGN PATTERNS.pptx
UNIT IV DESIGN PATTERNS.pptx
 
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
 
Systems variability modeling a textual model mixing class and feature concepts
Systems variability modeling a textual model mixing class and feature conceptsSystems variability modeling a textual model mixing class and feature concepts
Systems variability modeling a textual model mixing class and feature concepts
 
Collaborative editing of emf ecore meta models and models conflict detection,...
Collaborative editing of emf ecore meta models and models conflict detection,...Collaborative editing of emf ecore meta models and models conflict detection,...
Collaborative editing of emf ecore meta models and models conflict detection,...
 
Chem draW
Chem draWChem draW
Chem draW
 
Software Engineering with Objects (M363) Final Revision By Kuwait10
Software Engineering with Objects (M363) Final Revision By Kuwait10Software Engineering with Objects (M363) Final Revision By Kuwait10
Software Engineering with Objects (M363) Final Revision By Kuwait10
 
Ec2013 tutorial-mb variability-final
Ec2013 tutorial-mb variability-finalEc2013 tutorial-mb variability-final
Ec2013 tutorial-mb variability-final
 
RuCORD: Rule-based Composite Operation Recovering and Detection to Support Co...
RuCORD: Rule-based Composite Operation Recovering and Detection to Support Co...RuCORD: Rule-based Composite Operation Recovering and Detection to Support Co...
RuCORD: Rule-based Composite Operation Recovering and Detection to Support Co...
 
Thesis Defense (Gwendal DANIEL) - Nov 2017
Thesis Defense (Gwendal DANIEL) - Nov 2017Thesis Defense (Gwendal DANIEL) - Nov 2017
Thesis Defense (Gwendal DANIEL) - Nov 2017
 
Design patterns
Design patternsDesign patterns
Design patterns
 
12266422.ppt
12266422.ppt12266422.ppt
12266422.ppt
 
Michael Hucka.ppt
Michael Hucka.pptMichael Hucka.ppt
Michael Hucka.ppt
 
CS8592-OOAD Lecture Notes Unit-5
CS8592-OOAD Lecture Notes Unit-5 CS8592-OOAD Lecture Notes Unit-5
CS8592-OOAD Lecture Notes Unit-5
 
010821+presentation+oti.ppt
010821+presentation+oti.ppt010821+presentation+oti.ppt
010821+presentation+oti.ppt
 
Introduction To Design Patterns
Introduction To Design PatternsIntroduction To Design Patterns
Introduction To Design Patterns
 
Extending Rotor with Structural Reflection to support Reflective Languages
Extending Rotor with Structural Reflection to support Reflective LanguagesExtending Rotor with Structural Reflection to support Reflective Languages
Extending Rotor with Structural Reflection to support Reflective Languages
 
CS6502 OOAD - Question Bank and Answer
CS6502 OOAD - Question Bank and AnswerCS6502 OOAD - Question Bank and Answer
CS6502 OOAD - Question Bank and Answer
 
Using Model-Driven Engineering for Decision Support Systems Modelling, Implem...
Using Model-Driven Engineering for Decision Support Systems Modelling, Implem...Using Model-Driven Engineering for Decision Support Systems Modelling, Implem...
Using Model-Driven Engineering for Decision Support Systems Modelling, Implem...
 
Migration strategies for object oriented system to component based system
Migration strategies for object oriented system to component based systemMigration strategies for object oriented system to component based system
Migration strategies for object oriented system to component based system
 
Design Patterns
Design PatternsDesign Patterns
Design Patterns
 

Recently uploaded

Asset Management Software - Infographic
Asset Management Software - InfographicAsset Management Software - Infographic
Asset Management Software - InfographicHr365.us smith
 
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...soniya singh
 
chapter--4-software-project-planning.ppt
chapter--4-software-project-planning.pptchapter--4-software-project-planning.ppt
chapter--4-software-project-planning.pptkotipi9215
 
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...Christina Lin
 
Introduction to Decentralized Applications (dApps)
Introduction to Decentralized Applications (dApps)Introduction to Decentralized Applications (dApps)
Introduction to Decentralized Applications (dApps)Intelisync
 
Hand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptxHand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptxbodapatigopi8531
 
Optimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTVOptimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTVshikhaohhpro
 
DNT_Corporate presentation know about us
DNT_Corporate presentation know about usDNT_Corporate presentation know about us
DNT_Corporate presentation know about usDynamic Netsoft
 
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...stazi3110
 
A Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docxA Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docxComplianceQuest1
 
Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...OnePlan Solutions
 
Professional Resume Template for Software Developers
Professional Resume Template for Software DevelopersProfessional Resume Template for Software Developers
Professional Resume Template for Software DevelopersVinodh Ram
 
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...gurkirankumar98700
 
Project Based Learning (A.I).pptx detail explanation
Project Based Learning (A.I).pptx detail explanationProject Based Learning (A.I).pptx detail explanation
Project Based Learning (A.I).pptx detail explanationkaushalgiri8080
 
TECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providerTECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providermohitmore19
 
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...ICS
 
HR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comHR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comFatema Valibhai
 
Cloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStackCloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStackVICTOR MAESTRE RAMIREZ
 
EY_Graph Database Powered Sustainability
EY_Graph Database Powered SustainabilityEY_Graph Database Powered Sustainability
EY_Graph Database Powered SustainabilityNeo4j
 
why an Opensea Clone Script might be your perfect match.pdf
why an Opensea Clone Script might be your perfect match.pdfwhy an Opensea Clone Script might be your perfect match.pdf
why an Opensea Clone Script might be your perfect match.pdfjoe51371421
 

Recently uploaded (20)

Asset Management Software - Infographic
Asset Management Software - InfographicAsset Management Software - Infographic
Asset Management Software - Infographic
 
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
 
chapter--4-software-project-planning.ppt
chapter--4-software-project-planning.pptchapter--4-software-project-planning.ppt
chapter--4-software-project-planning.ppt
 
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
 
Introduction to Decentralized Applications (dApps)
Introduction to Decentralized Applications (dApps)Introduction to Decentralized Applications (dApps)
Introduction to Decentralized Applications (dApps)
 
Hand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptxHand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptx
 
Optimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTVOptimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTV
 
DNT_Corporate presentation know about us
DNT_Corporate presentation know about usDNT_Corporate presentation know about us
DNT_Corporate presentation know about us
 
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
 
A Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docxA Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docx
 
Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...
 
Professional Resume Template for Software Developers
Professional Resume Template for Software DevelopersProfessional Resume Template for Software Developers
Professional Resume Template for Software Developers
 
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
 
Project Based Learning (A.I).pptx detail explanation
Project Based Learning (A.I).pptx detail explanationProject Based Learning (A.I).pptx detail explanation
Project Based Learning (A.I).pptx detail explanation
 
TECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providerTECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service provider
 
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
 
HR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comHR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.com
 
Cloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStackCloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStack
 
EY_Graph Database Powered Sustainability
EY_Graph Database Powered SustainabilityEY_Graph Database Powered Sustainability
EY_Graph Database Powered Sustainability
 
why an Opensea Clone Script might be your perfect match.pdf
why an Opensea Clone Script might be your perfect match.pdfwhy an Opensea Clone Script might be your perfect match.pdf
why an Opensea Clone Script might be your perfect match.pdf
 

Effective Detection of Model Changes

  • 1. Universidad de los Andes Departamento de Ingeniería de Sistemas y Computación Effective detection of model changes David Méndez Acuña Rubby Casallas Gutierrez SÉPTIMO CONGRESO COLOMBIANO DE COMPUTACIÓN 1
  • 2. • Context • Problem • Related work • Our approach • Conclusions and future work 2 Agenda
  • 3. Context Model-driven software development is an approach that proposes to use models as first-class entities for creating software products. 3
  • 4. Problem Software evolution in the context of MDSD The problem of software evolution remains relevant in the context of model-driven software development A particular case of software evolution is the master/slave co-evolution [1]. 4 [[master]] [[slave]] [[master]] [[slave]] consistency consistency
  • 5. 5 Problem Software evolution in the context of MDSD Grammars [[slave]] Metamodel [[master]] Transformations [[slave]] Models [[slave]]
  • 6. 6 Problem Software evolution in the context of MDSD Grammars [[slave]] Transformations [[slave]] Models [[slave]]Metamodel [[master]]
  • 9. Current approaches for model changes detection 9 Comparison-based approaches List of changes [2]
  • 10. List of changes • Add class/property • Delete class/property • Retype property • Modify property multiplicity • Generalize property by type • Generalize property by multiplicity • Restrict property by type • Restrict property by multiplicity • Rename class/property • Add inheritance • Delete inheritance • Move property • Pull property • Push property • Extract superclass • Flatten hierarchy • Extract class • Inline class 11
  • 11. Comparison-based approaches Compare two versions of the same metamodel and discover the differences 12 Metamodel [[master]] Metamodel [[master]] Changes model
  • 12. Comparison-based approaches Compare two versions of the same metamodel and discover the differences 13 Metamodel [[master]] Metamodel [[master]] Changes model EMFCompare (syntactical) [3]
  • 13. List of changes • Add class/property • Delete class/property • Retype property • Modify property multiplicity • Generalize property by type • Generalize property by multiplicity • Restrict property by type • Restrict property by multiplicity • Rename class/property • Add inheritance • Delete inheritance • Move property • Pull property • Push property • Extract superclass • Flatten hierarchy • Extract class • Inline class 14
  • 14. Comparison-based approaches Compare two versions of the same metamodel and discover the differences 15 Metamodel [[master]] Metamodel [[master]] Changes model EMFCompare (syntactical) [3] Heuristics [4]
  • 15. List of changes • Add class/property • Delete class/property • Retype property • Modify property multiplicity • Generalize property by type • Generalize property by multiplicity • Restrict property by type • Restrict property by multiplicity • Rename class/property • Add inheritance • Delete inheritance • Move property • Pull property • Push property • Extract superclass • Flatten hierarchy • Extract class • Inline class 16
  • 16. 19 How to detect all the changes by using a comparison-based approach? It is possible to infer all the changes from the syntactical changes that EMFCompare supports?
  • 17. 20 Our approach Objectives and overview Detect all the changes of the Wachsmuth list from the syntactical changes detected by EMFCompare Metamodel [[master]] Metamodel [[master]] Changes model (entire list) EMFCompare (syntactical) Changes taxonomy + Inference rules
  • 21. 24 Change Syntactical Semantical constrained Semantical composite Atomic Composite A syntactical change that satisfies a structural constraint Changes taxonomy Detection A satisfies C A is semantical constrained
  • 22. 25 Semantical constrained changes RETYPE PROPERTY [[syntactical]] The new type is super type of the old one satisfies GENERALIZE PROPERTY BY TYPE [[syntactical]]
  • 23. 26 Change Syntactical Semantical constrained Semantical composite Atomic Composite A set of syntactical changes that satisfy some structural constraints Changes taxonomy Detection Set A satisfies C A is semantical composite
  • 24. 27 Semantical composite changes MOVE PROPERTY [[syntactical]] A and B refer to different properties. A and B are moved from the same initial class to the same final class. The deleted class is the initial class of the moved properties satisfy INLINE CLASS [[syntactical]] MOVE PROPERTY [[syntactical]] DELETE CLASS [[syntactical]] A: B: C:
  • 25. Changes taxonomy • Add class/property • Delete class/property • Retype property • Modify property multiplicity • Generalize property by type • Generalize property by multiplicity • Restrict property by type • Restrict property by multiplicity • Rename class/property • Add inheritance • Delete inheritance • Move property • Pull property • Push property • Extract superclass • Flatten hierarchy • Extract class • Inline class 28 Syntactical changes Constrained changes Composite changes
  • 26. Acknowledgements 29 Anne Etien Université de Lille I Lille, France Germán Méndez ECOPETROL S.A Bogotá, Colombia Louis Rose University of York York, UK
  • 27. • It is possible to infer semantics of changes from analysis of the syntactic differences between two versions of the same metamodel. • Some stronger validation is required. • We aim at presenting this tool to the eclipse community expecting to be accepted as an eclipse project. 30 Conclusions and future work
  • 28. References [1] L. Rose, R. Paige, D. Kolovos, and F. Polack. An analysis of approaches to model migration. In Proceedings of the Models and Evolution Workshop, 12th ACM/IEEE International Conference on Model Driven Engineering, Languages and Systems, MoDSE-MCCM. ACM, October 2009. [2] G. Wachsmuth. Metamodel adaptation and model co-adaptation. In E. Ernst, editor, Proceedings of the 21st European Conference on Object-Oriented Programming (ECOOP’07), volume 4609 of Lecture Notes in Computer Science, pages 600–624. Springer-Verlag, July 2007. [3] EMFCompare. Eclipse Community. Accesed: 10 April 2012. http://www.eclipse.org/emf/compare/ [4] K. Garcés, F. Jouault, P. Cointe, and J. Bézivin. Managing model adaptation by precise detection of metamodel changes. In Proceedings of the 5th European Conference on Model Driven Architecture – Foundations and Applications, ECMDA-FA ’09, Berlin, Heidelberg, 2009. Springer-Verlag. [5] M. Herrmannsdoerfer, S. Benz, and E. Juergens. Cope – automating coupled evolution of metamodels and models. In S. Drossopoulou, editor, ECOOP 2009 Object-Oriented Programming, volume 5653 of Lecture Notes in Computer Science, pages 52–76. 2009 31