silift: extending emf compare with an operational view on model...
TRANSCRIPT
![Page 1: SiLift: Extending EMF Compare with an Operational View on Model …pi.informatik.uni-siegen.de/Projekte/SiLift/silift... · 2013. 7. 22. · Model Evolution through Semantically Lifting](https://reader033.vdocument.in/reader033/viewer/2022051906/5ff8e9ad187d202be861bebb/html5/thumbnails/1.jpg)
SiLift: Extending EMF Compare with an SiLift: Extending EMF Compare with an
Operational View on Model DifferencesOperational View on Model Differences
Timo KehrerSoftware Engineering Group
University of Siegen
Eclipse DemoCampStuttgart, 17.07.2013
http://pi.informatik.uni-siegen.de/Projekte/SiLift
![Page 2: SiLift: Extending EMF Compare with an Operational View on Model …pi.informatik.uni-siegen.de/Projekte/SiLift/silift... · 2013. 7. 22. · Model Evolution through Semantically Lifting](https://reader033.vdocument.in/reader033/viewer/2022051906/5ff8e9ad187d202be861bebb/html5/thumbnails/2.jpg)
T. Kehrer: High-level Versioning of EMF Models with SiLift 2
Outline
Introduction
The SiLift Approach
End-user Tool Environment
Summary
![Page 3: SiLift: Extending EMF Compare with an Operational View on Model …pi.informatik.uni-siegen.de/Projekte/SiLift/silift... · 2013. 7. 22. · Model Evolution through Semantically Lifting](https://reader033.vdocument.in/reader033/viewer/2022051906/5ff8e9ad187d202be861bebb/html5/thumbnails/3.jpg)
T. Kehrer: High-level Versioning of EMF Models with SiLift 3
Context: Model-driven Development
![Page 4: SiLift: Extending EMF Compare with an Operational View on Model …pi.informatik.uni-siegen.de/Projekte/SiLift/silift... · 2013. 7. 22. · Model Evolution through Semantically Lifting](https://reader033.vdocument.in/reader033/viewer/2022051906/5ff8e9ad187d202be861bebb/html5/thumbnails/4.jpg)
T. Kehrer: High-level Versioning of EMF Models with SiLift 4
Model evolution
rev. 1.1
![Page 5: SiLift: Extending EMF Compare with an Operational View on Model …pi.informatik.uni-siegen.de/Projekte/SiLift/silift... · 2013. 7. 22. · Model Evolution through Semantically Lifting](https://reader033.vdocument.in/reader033/viewer/2022051906/5ff8e9ad187d202be861bebb/html5/thumbnails/5.jpg)
T. Kehrer: High-level Versioning of EMF Models with SiLift 5
Model evolution
rev. 1.1
rev. 1.2
Design Decision:Restrict associationnavigability
X
![Page 6: SiLift: Extending EMF Compare with an Operational View on Model …pi.informatik.uni-siegen.de/Projekte/SiLift/silift... · 2013. 7. 22. · Model Evolution through Semantically Lifting](https://reader033.vdocument.in/reader033/viewer/2022051906/5ff8e9ad187d202be861bebb/html5/thumbnails/6.jpg)
T. Kehrer: High-level Versioning of EMF Models with SiLift 6
Model evolution
rev. 1.1
rev. 1.2
rev. 1.3
Design Decision:Restrict associationnavigability
Refactoring:Pull up attribute
![Page 7: SiLift: Extending EMF Compare with an Operational View on Model …pi.informatik.uni-siegen.de/Projekte/SiLift/silift... · 2013. 7. 22. · Model Evolution through Semantically Lifting](https://reader033.vdocument.in/reader033/viewer/2022051906/5ff8e9ad187d202be861bebb/html5/thumbnails/7.jpg)
T. Kehrer: High-level Versioning of EMF Models with SiLift 7
Model versions and variants
1.1
1.2
1.3 1.2.2.1
![Page 8: SiLift: Extending EMF Compare with an Operational View on Model …pi.informatik.uni-siegen.de/Projekte/SiLift/silift... · 2013. 7. 22. · Model Evolution through Semantically Lifting](https://reader033.vdocument.in/reader033/viewer/2022051906/5ff8e9ad187d202be861bebb/html5/thumbnails/8.jpg)
T. Kehrer: High-level Versioning of EMF Models with SiLift 8
3-Way model merging
1.1
1.2
1.3 1.2.2.1
base model
changed version Bchanged version A
![Page 9: SiLift: Extending EMF Compare with an Operational View on Model …pi.informatik.uni-siegen.de/Projekte/SiLift/silift... · 2013. 7. 22. · Model Evolution through Semantically Lifting](https://reader033.vdocument.in/reader033/viewer/2022051906/5ff8e9ad187d202be861bebb/html5/thumbnails/9.jpg)
T. Kehrer: High-level Versioning of EMF Models with SiLift 9
Model patching
1.1
1.2
1.3 1.2.2.1
„propagate changes“
origin model
changed model
target model
![Page 10: SiLift: Extending EMF Compare with an Operational View on Model …pi.informatik.uni-siegen.de/Projekte/SiLift/silift... · 2013. 7. 22. · Model Evolution through Semantically Lifting](https://reader033.vdocument.in/reader033/viewer/2022051906/5ff8e9ad187d202be861bebb/html5/thumbnails/10.jpg)
T. Kehrer: High-level Versioning of EMF Models with SiLift 10
Basic challenge: Model comparison
![Page 11: SiLift: Extending EMF Compare with an Operational View on Model …pi.informatik.uni-siegen.de/Projekte/SiLift/silift... · 2013. 7. 22. · Model Evolution through Semantically Lifting](https://reader033.vdocument.in/reader033/viewer/2022051906/5ff8e9ad187d202be861bebb/html5/thumbnails/11.jpg)
T. Kehrer: High-level Versioning of EMF Models with SiLift 11
What textual difference tools report...
![Page 12: SiLift: Extending EMF Compare with an Operational View on Model …pi.informatik.uni-siegen.de/Projekte/SiLift/silift... · 2013. 7. 22. · Model Evolution through Semantically Lifting](https://reader033.vdocument.in/reader033/viewer/2022051906/5ff8e9ad187d202be861bebb/html5/thumbnails/12.jpg)
T. Kehrer: High-level Versioning of EMF Models with SiLift 12
The processing pipeline of EMF ComparePart 1: Matching
Generic Matchers, e.g. XMI ID Functional ID Content matching strategy
Custom Matching Engine
12
![Page 13: SiLift: Extending EMF Compare with an Operational View on Model …pi.informatik.uni-siegen.de/Projekte/SiLift/silift... · 2013. 7. 22. · Model Evolution through Semantically Lifting](https://reader033.vdocument.in/reader033/viewer/2022051906/5ff8e9ad187d202be861bebb/html5/thumbnails/13.jpg)
T. Kehrer: High-level Versioning of EMF Models with SiLift 13
The processing pipeline of EMF ComparePart 2: Differencing
Generic solutions operating on the models' ASG „low-level“ changes
1
Adaption to custom high-level edit operations
![Page 14: SiLift: Extending EMF Compare with an Operational View on Model …pi.informatik.uni-siegen.de/Projekte/SiLift/silift... · 2013. 7. 22. · Model Evolution through Semantically Lifting](https://reader033.vdocument.in/reader033/viewer/2022051906/5ff8e9ad187d202be861bebb/html5/thumbnails/14.jpg)
T. Kehrer: High-level Versioning of EMF Models with SiLift 14
Outline
Introduction
The SiLift Approach
End-user Tool Environment
Summary
![Page 15: SiLift: Extending EMF Compare with an Operational View on Model …pi.informatik.uni-siegen.de/Projekte/SiLift/silift... · 2013. 7. 22. · Model Evolution through Semantically Lifting](https://reader033.vdocument.in/reader033/viewer/2022051906/5ff8e9ad187d202be861bebb/html5/thumbnails/15.jpg)
T. Kehrer: High-level Versioning of EMF Models with SiLift 15
Difference Recognition
Conflict & Dependency
Analysis
Patching &Merging
Low-levelmodel changes
Difference Recognition
Conflict & Dependency
Analysis
Patching &Merging
High-level changes:Complex editingcommands
Overall goal: Lift model versioning to the abstraction level of edit operations
![Page 16: SiLift: Extending EMF Compare with an Operational View on Model …pi.informatik.uni-siegen.de/Projekte/SiLift/silift... · 2013. 7. 22. · Model Evolution through Semantically Lifting](https://reader033.vdocument.in/reader033/viewer/2022051906/5ff8e9ad187d202be861bebb/html5/thumbnails/16.jpg)
T. Kehrer: High-level Versioning of EMF Models with SiLift 16
DifferenceDerivation
Low-levelChanges
EditOperationDetection
EditOperations
Edit rules
Conflict &Dependency
Analysis
Basic approach
![Page 17: SiLift: Extending EMF Compare with an Operational View on Model …pi.informatik.uni-siegen.de/Projekte/SiLift/silift... · 2013. 7. 22. · Model Evolution through Semantically Lifting](https://reader033.vdocument.in/reader033/viewer/2022051906/5ff8e9ad187d202be861bebb/html5/thumbnails/17.jpg)
T. Kehrer: High-level Versioning of EMF Models with SiLift 17
Sub'
a : dt
Sample edit rule: „pullUpAttribute“(theoretical foundation)
pullUpAttribute(a)
LHS RHS
Sup
Sub
a : dt
Sub'
a : dt
Sub'
a : dt
Sup
Sub Sub'
a : dt
![Page 18: SiLift: Extending EMF Compare with an Operational View on Model …pi.informatik.uni-siegen.de/Projekte/SiLift/silift... · 2013. 7. 22. · Model Evolution through Semantically Lifting](https://reader033.vdocument.in/reader033/viewer/2022051906/5ff8e9ad187d202be861bebb/html5/thumbnails/18.jpg)
T. Kehrer: High-level Versioning of EMF Models with SiLift 18
Sample edit rule: „pullUpAttribute“(implementation in EMF Henshin)
![Page 19: SiLift: Extending EMF Compare with an Operational View on Model …pi.informatik.uni-siegen.de/Projekte/SiLift/silift... · 2013. 7. 22. · Model Evolution through Semantically Lifting](https://reader033.vdocument.in/reader033/viewer/2022051906/5ff8e9ad187d202be861bebb/html5/thumbnails/19.jpg)
T. Kehrer: High-level Versioning of EMF Models with SiLift 19
Outline
Introduction
The SiLift Approach
End-user Tool Environment
Summary
![Page 20: SiLift: Extending EMF Compare with an Operational View on Model …pi.informatik.uni-siegen.de/Projekte/SiLift/silift... · 2013. 7. 22. · Model Evolution through Semantically Lifting](https://reader033.vdocument.in/reader033/viewer/2022051906/5ff8e9ad187d202be861bebb/html5/thumbnails/20.jpg)
T. Kehrer: High-level Versioning of EMF Models with SiLift 20
Difference Viewer
![Page 21: SiLift: Extending EMF Compare with an Operational View on Model …pi.informatik.uni-siegen.de/Projekte/SiLift/silift... · 2013. 7. 22. · Model Evolution through Semantically Lifting](https://reader033.vdocument.in/reader033/viewer/2022051906/5ff8e9ad187d202be861bebb/html5/thumbnails/21.jpg)
T. Kehrer: High-level Versioning of EMF Models with SiLift 21
Consistency-preserving editing of patches
v0 v1
'
base model changed model
![Page 22: SiLift: Extending EMF Compare with an Operational View on Model …pi.informatik.uni-siegen.de/Projekte/SiLift/silift... · 2013. 7. 22. · Model Evolution through Semantically Lifting](https://reader033.vdocument.in/reader033/viewer/2022051906/5ff8e9ad187d202be861bebb/html5/thumbnails/22.jpg)
T. Kehrer: High-level Versioning of EMF Models with SiLift 22
Consistency-preserving editing of patches
v0 v1
'
base model changed model
![Page 23: SiLift: Extending EMF Compare with an Operational View on Model …pi.informatik.uni-siegen.de/Projekte/SiLift/silift... · 2013. 7. 22. · Model Evolution through Semantically Lifting](https://reader033.vdocument.in/reader033/viewer/2022051906/5ff8e9ad187d202be861bebb/html5/thumbnails/23.jpg)
T. Kehrer: High-level Versioning of EMF Models with SiLift 23
Consistency-preserving editing of patches
v0 v1
'
based model changed model
![Page 24: SiLift: Extending EMF Compare with an Operational View on Model …pi.informatik.uni-siegen.de/Projekte/SiLift/silift... · 2013. 7. 22. · Model Evolution through Semantically Lifting](https://reader033.vdocument.in/reader033/viewer/2022051906/5ff8e9ad187d202be861bebb/html5/thumbnails/24.jpg)
T. Kehrer: High-level Versioning of EMF Models with SiLift 24
Controlled application of model patches
![Page 25: SiLift: Extending EMF Compare with an Operational View on Model …pi.informatik.uni-siegen.de/Projekte/SiLift/silift... · 2013. 7. 22. · Model Evolution through Semantically Lifting](https://reader033.vdocument.in/reader033/viewer/2022051906/5ff8e9ad187d202be861bebb/html5/thumbnails/25.jpg)
T. Kehrer: High-level Versioning of EMF Models with SiLift 25
Controlled application of model patches
Retrieval ofoperation context
![Page 26: SiLift: Extending EMF Compare with an Operational View on Model …pi.informatik.uni-siegen.de/Projekte/SiLift/silift... · 2013. 7. 22. · Model Evolution through Semantically Lifting](https://reader033.vdocument.in/reader033/viewer/2022051906/5ff8e9ad187d202be861bebb/html5/thumbnails/26.jpg)
T. Kehrer: High-level Versioning of EMF Models with SiLift 26
Controlled application of model patches
Operation execution log
![Page 27: SiLift: Extending EMF Compare with an Operational View on Model …pi.informatik.uni-siegen.de/Projekte/SiLift/silift... · 2013. 7. 22. · Model Evolution through Semantically Lifting](https://reader033.vdocument.in/reader033/viewer/2022051906/5ff8e9ad187d202be861bebb/html5/thumbnails/27.jpg)
T. Kehrer: High-level Versioning of EMF Models with SiLift 27
Controlled application of model patches
Modifyable Target model
![Page 28: SiLift: Extending EMF Compare with an Operational View on Model …pi.informatik.uni-siegen.de/Projekte/SiLift/silift... · 2013. 7. 22. · Model Evolution through Semantically Lifting](https://reader033.vdocument.in/reader033/viewer/2022051906/5ff8e9ad187d202be861bebb/html5/thumbnails/28.jpg)
T. Kehrer: High-level Versioning of EMF Models with SiLift 28
Controlled application of model patches
Result of the patch application
![Page 29: SiLift: Extending EMF Compare with an Operational View on Model …pi.informatik.uni-siegen.de/Projekte/SiLift/silift... · 2013. 7. 22. · Model Evolution through Semantically Lifting](https://reader033.vdocument.in/reader033/viewer/2022051906/5ff8e9ad187d202be861bebb/html5/thumbnails/29.jpg)
T. Kehrer: High-level Versioning of EMF Models with SiLift 29
Outline
Introduction
The SiLift Approach
End-user Tool Environment
Summary
![Page 30: SiLift: Extending EMF Compare with an Operational View on Model …pi.informatik.uni-siegen.de/Projekte/SiLift/silift... · 2013. 7. 22. · Model Evolution through Semantically Lifting](https://reader033.vdocument.in/reader033/viewer/2022051906/5ff8e9ad187d202be861bebb/html5/thumbnails/30.jpg)
T. Kehrer: High-level Versioning of EMF Models with SiLift 30
Summary
Unit of change; high-level edit operations
Formal foundation; graph transformation concepts
Support for complex edit operations
High-level conflict and dependency detection
Consistency-preserving patching
![Page 31: SiLift: Extending EMF Compare with an Operational View on Model …pi.informatik.uni-siegen.de/Projekte/SiLift/silift... · 2013. 7. 22. · Model Evolution through Semantically Lifting](https://reader033.vdocument.in/reader033/viewer/2022051906/5ff8e9ad187d202be861bebb/html5/thumbnails/31.jpg)
T. Kehrer: High-level Versioning of EMF Models with SiLift 31
Further information
SiLift project web site:
http://pi.informatik.uni-siegen.de/Projekte/SiLift
Timo Kehrer, Pit Pietsch, Hamed Shariat Yazdi, Udo Kelter. Detection of
High-Level Changes in Evolving Java Software. WSR 2013
Udo Kelter, Timo Kehrer, Dennis Koch. Patchen von Modellen. Software
Engineering 2013
Timo Kehrer, Udo Kelter, Manuel Ohrndorf, Tim Sollbach. Understanding
Model Evolution through Semantically Lifting Model Differences with
SiLift. ICSM 2012
Timo Kehrer, Udo Kelter, Gabriele Taentzer. Integrating the Specification
and Recognition of Changes in Models. WSR 2012
Timo Kehrer, Udo Kelter, Gabriele Taentzer. A Rule-Based Approach to
the Semantic Lifting of Model Differences in the Context of Model
Versioning. ASE 2011