silift: extending emf compare with an operational view on model...

31
SiLift: Extending EMF Compare with an SiLift: Extending EMF Compare with an Operational View on Model Differences Operational View on Model Differences Timo Kehrer Software Engineering Group University of Siegen Eclipse DemoCamp Stuttgart, 17.07.2013 http://pi.informatik.uni-siegen.de/Projekte/SiLift

Upload: others

Post on 18-Sep-2020

1 views

Category:

Documents


0 download

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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