![Page 1: Colex: A Web-based Collaborative Conflict Lexicon](https://reader034.vdocument.in/reader034/viewer/2022042601/5485b92fb47959f10c8b4f1e/html5/thumbnails/1.jpg)
Colex: A Web-based Collaborative Conflict Lexicon
Petra Brosch, Philip Langer, Martina Seidl, Konrad Wieland, Manuel Wimmer
Department of Telecooperation
Johannes Kepler University Linz
Altenberger Straße 69
4040 Linz, Austria
Petra Brosch, Philip Langer, Martina Seidl, Konrad Wieland, Manuel Wimmer
International Workshop on Model Comparison in Practice (IWMCP)
July 1, 2010, Malaga, Spain
Philip Langer
![Page 2: Colex: A Web-based Collaborative Conflict Lexicon](https://reader034.vdocument.in/reader034/viewer/2022042601/5485b92fb47959f10c8b4f1e/html5/thumbnails/2.jpg)
Motivation
� How to develop a Model Versioning Systems with…
� precise conflict detection and
� supportive conflict resolution?
2
![Page 3: Colex: A Web-based Collaborative Conflict Lexicon](https://reader034.vdocument.in/reader034/viewer/2022042601/5485b92fb47959f10c8b4f1e/html5/thumbnails/3.jpg)
Motivation
� How to develop a Model Versioning Systems with…
� precise conflict detection and
� supportive conflict resolution?
for (KindOfConflict conflictKind : allKindsOfConflict) {
// Detection
EList<Idea> ideas = brain.thinkAboutDetection(conflictKind);
for (Idea idea : ideas) {
null
3
if (brain.thinkAboutInfoNeeded(idea, diffModel) != null) {
DetectionPrototype p = students.implement(idea);
}
}
// Resolution
ideas = brain.thinkAboutResolution(conflictKind);
for (Idea idea : ideas) {
if (brain.thinkAboutInfoNeeded(idea, conflictKind) != null) {
ResolutionPrototype p2 = students.implement(idea);
}
}
}
![Page 4: Colex: A Web-based Collaborative Conflict Lexicon](https://reader034.vdocument.in/reader034/viewer/2022042601/5485b92fb47959f10c8b4f1e/html5/thumbnails/4.jpg)
Motivation
� How to develop a Model Versioning Systems with…
� precise conflict detection and
� supportive conflict resolution?
allKindsOfConflict = ?;
for (KindOfConflict conflictKind : allKindsOfConflict) {// Detection
EList<Idea> ideas = brain.thinkAboutTheirDetection(conflictKind);
for (Idea idea : ideas) {
4
for (Idea idea : ideas) {
if (brain.thinkAboutInfoNeeded(idea, diffModel) != null) {
DetectionPrototype p = students.implement(idea);
}
}
// Resolution
ideas = brain.thinkAboutResolution(conflictKind);
for (Idea idea : ideas) {
if (brain.thinkAboutTheirResolution(conflictKind) != null) {
ResolutionPrototype p2 = students.implement(idea);
}
}
}
![Page 5: Colex: A Web-based Collaborative Conflict Lexicon](https://reader034.vdocument.in/reader034/viewer/2022042601/5485b92fb47959f10c8b4f1e/html5/thumbnails/5.jpg)
Motivation
� How to develop a Model Versioning Systems with…
� precise conflict detection and
� supportive conflict resolution?
5
![Page 6: Colex: A Web-based Collaborative Conflict Lexicon](https://reader034.vdocument.in/reader034/viewer/2022042601/5485b92fb47959f10c8b4f1e/html5/thumbnails/6.jpg)
Having a Conflict Categorization…
� Conflict detection
� Which knowledge is necessary to detect a certain kind of conflict?
� How is this knowledge specified/gathered/recorded?
� Conflict resolution
� Which kind of conflicts might be resolved automatically?
� How to provide appropriate support for manually resolving a certain kind of
conflict?
� Common terminology and common understanding
� Development of a benchmark� Makes them comparable!
� Helps to develop even better model versioning systems!
6
![Page 7: Colex: A Web-based Collaborative Conflict Lexicon](https://reader034.vdocument.in/reader034/viewer/2022042601/5485b92fb47959f10c8b4f1e/html5/thumbnails/7.jpg)
Conflict Categorization 1.0
� Based on temporal dimension
Change
Generic
Atomic
Specific
Atomic
Specific
Composite
• Add• Delete• Update
• Move• Rename• ...
• Convert to Singleton• Extract Superclass• ...
Changes
• Update/Update
A
C
V0
AA
AC
AA C
A
A
7
Conflic
ts
Overlapping
Changes
Contradicting
Equivalent
Inconsis
tencie
s
Syntax Semantic
• Update/Update• Delete/Update• ...
• Dangling Reference• ...
• Equivalent Concept• ...
• Add/Add• ...
V0’ V0’’
V0’+V0’’
V1
AA
A
A A
C
![Page 8: Colex: A Web-based Collaborative Conflict Lexicon](https://reader034.vdocument.in/reader034/viewer/2022042601/5485b92fb47959f10c8b4f1e/html5/thumbnails/8.jpg)
Conflict Categorization 1.0
� Based on temporal dimension
Change
Generic
Atomic
Specific
Atomic
Specific
Composite
• Add• Delete• Update
• Move• Rename• ...
• Convert to Singleton• Extract Superclass• ...
Changes
• Update/Update
A
C
V0
AA
AC
AA C
A
A
Contradiction or equivalence on which layer?
• Modeling Language?
8
Conflic
ts
Overlapping
Changes
Contradicting
Equivalent
Inconsis
tencie
s
Syntax Semantic
• Update/Update• Delete/Update• ...
• Dangling Reference• ...
• Equivalent Concept• ...
• Add/Add• ...
V0’ V0’’
V0’+V0’’
V1
AA
A
A A
C• Modeling Language?
• Modeled Domain?
�Completely different
information needed for
detection
� No generally applicable
detection strategy
![Page 9: Colex: A Web-based Collaborative Conflict Lexicon](https://reader034.vdocument.in/reader034/viewer/2022042601/5485b92fb47959f10c8b4f1e/html5/thumbnails/9.jpg)
Conflict Categorization 1.0
� Based on temporal dimension
Change
Generic
Atomic
Specific
Atomic
Specific
Composite
• Add• Delete• Update
• Move• Rename• ...
• Convert to Singleton• Extract Superclass• ...
Changes
• Update/Update
A
C
V0
AA
AC
AA C
A
A
The semantics of semantics?
• Based on Conradi et al, Mens
• Oriented on compiler phases
9
Conflic
ts
Overlapping
Changes
Contradicting
Equivalent
Inconsis
tencie
s
Syntax Semantic
• Update/Update• Delete/Update• ...
• Dangling Reference• ...
• Equivalent Concept• ...
• Add/Add• ...
V0’ V0’’
V0’+V0’’
V1
AA
A
A A
C
• Oriented on compiler phases
�Models are not (always)
compiled
�Semantics is (informally)
defined by a model’s intended
use!
�What does it help for realizing
a MVS anyway?
![Page 10: Colex: A Web-based Collaborative Conflict Lexicon](https://reader034.vdocument.in/reader034/viewer/2022042601/5485b92fb47959f10c8b4f1e/html5/thumbnails/10.jpg)
Conflict Categorization 2.0
� Goal
� Help for developing Model Versioning Systems
� Categorization according to reasons causing conflicts
� Layer of contradiction or equivalence
� Violation of …
� Meta-metamodel, metamodel, OCL constraints
� Operation (refactoring) contracts
� Common knowledge
� Domain knowledge
� Hints on necessary knowledge
� to detect and
� to resolve a conflict
10
![Page 11: Colex: A Web-based Collaborative Conflict Lexicon](https://reader034.vdocument.in/reader034/viewer/2022042601/5485b92fb47959f10c8b4f1e/html5/thumbnails/11.jpg)
Conflict Categorization 2.0
Domain Knowledge
• Update/Update• Delete/Update
Language Knowledge
• Update/Update• Delete/Update
• Add/Add• Update/Update• ...
• Add/Add• Update/Update• ...
Contradicting
Equivalent
Ato
mic
Overl
ap
pin
g
Ch
an
ges
11
Metamodel
Operation
Contract
• Well-formednessRule• Abstract Syntax
Vio
lati
on
s
User-def ined
Knowledge
Common
Knowledge
• Upper Ontology• Thesaurus• ...
• Use Case Description• Requirement Specification • ...
Co
mp
osit
e /
Ato
mic
• Refactorings• Model Completion
![Page 12: Colex: A Web-based Collaborative Conflict Lexicon](https://reader034.vdocument.in/reader034/viewer/2022042601/5485b92fb47959f10c8b4f1e/html5/thumbnails/12.jpg)
Domain Knowledge
• Update/Update• Delete/Update
Language Knowledge
• Update/Update• Delete/Update
• Add/Add• Update/Update• ...
• Add/Add• Update/Update• ...
Contradicting
Equivalent
Ato
mic
Overl
ap
pin
g
Ch
an
ges
Conflict Categorization 2.0Language
specification
Change-based view
Domain specification
Existing kinds of changes
Metamodel
Operation
Contract
• Well-formednessRule• Abstract Syntax
Vio
lati
on
s
User-def ined
Knowledge
Common
Knowledge
• Upper Ontology• Thesaurus• ...
• Use Case Description• Requirement Specification • ...
Co
mp
osit
e /
Ato
mic
• Refactorings• Model Completion
12
Mergedmodel
Contracts of composite operations
![Page 13: Colex: A Web-based Collaborative Conflict Lexicon](https://reader034.vdocument.in/reader034/viewer/2022042601/5485b92fb47959f10c8b4f1e/html5/thumbnails/13.jpg)
Domain Knowledge
• Update/Update• Delete/Update
Language Knowledge
• Update/Update• Delete/Update
• Add/Add• Update/Update• ...
• Add/Add• Update/Update• ...
Contradicting
Equivalent
Ato
mic
Overl
ap
pin
g
Ch
an
ges
Co
mp
osit
e /
Ato
mic
Overlapping equivalent changes: Language Knowledge
V0
V0’
Employee
contract
Company* 1
Employee Company* *{nonunique}
Metamodel
Operation
Contract
• Well-formednessRule• Abstract Syntax
Vio
lati
on
s
User-def ined
Knowledge
Common
Knowledge
• Upper Ontology• Thesaurus• ...
• Use Case Description• Requirement Specification • ...
Co
mp
osit
e /
Ato
mic
• Refactorings• Model Completion
13
V0’’
Contract
Contract
Company
*1
Employee
*1
![Page 14: Colex: A Web-based Collaborative Conflict Lexicon](https://reader034.vdocument.in/reader034/viewer/2022042601/5485b92fb47959f10c8b4f1e/html5/thumbnails/14.jpg)
Domain Knowledge
• Update/Update• Delete/Update
Language Knowledge
• Update/Update• Delete/Update
• Add/Add• Update/Update• ...
• Add/Add• Update/Update• ...
Contradicting
Equivalent
Ato
mic
Overl
ap
pin
g
Ch
an
ges
Co
mp
osit
e /
Ato
mic
Violation of Operation Condition
V0
V0’
Researcher
getLectures()
Assistent Professor
Researcher
getLectures() getLectures()
Metamodel
Operation
Contract
• Well-formednessRule• Abstract Syntax
Vio
lati
on
s
User-def ined
Knowledge
Common
Knowledge
• Upper Ontology• Thesaurus• ...
• Use Case Description• Requirement Specification • ...
Co
mp
osit
e /
Ato
mic
• Refactorings• Model Completion
14
V0’’
Assistent Professor
Assistent
getLectures()
Professor
getLectures()
Researcher
ProjectAss
![Page 15: Colex: A Web-based Collaborative Conflict Lexicon](https://reader034.vdocument.in/reader034/viewer/2022042601/5485b92fb47959f10c8b4f1e/html5/thumbnails/15.jpg)
Domain Knowledge
• Update/Update• Delete/Update
Language Knowledge
• Update/Update• Delete/Update
• Add/Add• Update/Update• ...
• Add/Add• Update/Update• ...
Contradicting
Equivalent
Ato
mic
Overl
ap
pin
g
Ch
an
ges
Co
mp
osit
e /
Ato
mic
Violation of User-defined Domain Knowledge
V0
V0’
:A CM
turnOn()
makeCoffee()ON
ON
:A CM
turnOn()
makeCoffee()ON
Metamodel
Operation
Contract
• Well-formednessRule• Abstract Syntax
Vio
lati
on
s
User-def ined
Knowledge
Common
Knowledge
• Upper Ontology• Thesaurus• ...
• Use Case Description• Requirement Specification • ...
Co
mp
osit
e /
Ato
mic
• Refactorings• Model Completion
15
V0’’
makeCoffee()
OFF
turnOff()
:A CM
turnOn()
makeCoffee()ON
makeTea()ON
cf. inter-diagram
consistency
![Page 16: Colex: A Web-based Collaborative Conflict Lexicon](https://reader034.vdocument.in/reader034/viewer/2022042601/5485b92fb47959f10c8b4f1e/html5/thumbnails/16.jpg)
COLEX – Conflict Lexicon
Motivation
� Categorization and common terminology is …
� … hardly established by one group
� … extracted from a large set of examples
� Colex
� Collaborative conflict lexicon
� We kindly invite to contribute and establish
� Huge set of model versioning examples
� Common categorization
� Benchmark for Model Versioning Systems
� Foster collaboration
� Tagging, rating, and discussion
� Common benefit is ensured by applying the Creative Commons License
� http://creativecommons.org/licenses/by/3.0/
16
![Page 17: Colex: A Web-based Collaborative Conflict Lexicon](https://reader034.vdocument.in/reader034/viewer/2022042601/5485b92fb47959f10c8b4f1e/html5/thumbnails/17.jpg)
COLEX – Conflict Lexicon
http://www.modelversioning.org/colex
demo
17
demo
![Page 18: Colex: A Web-based Collaborative Conflict Lexicon](https://reader034.vdocument.in/reader034/viewer/2022042601/5485b92fb47959f10c8b4f1e/html5/thumbnails/18.jpg)
Conclusion and Future Work
http://www.modelversioning.org/colex
� Comprehensive list of conflicts
� Extract kinds
� Replace the ?allKindsOfConflict = ?;
� Common terminology
� Find pseudonyms
� Term hierarchy
� Benchmark
� Compare existing
approaches
18
![Page 19: Colex: A Web-based Collaborative Conflict Lexicon](https://reader034.vdocument.in/reader034/viewer/2022042601/5485b92fb47959f10c8b4f1e/html5/thumbnails/19.jpg)
Thank you for your attention!
Questions?
• http://www.modelversioning.org/colex
The End
![Page 20: Colex: A Web-based Collaborative Conflict Lexicon](https://reader034.vdocument.in/reader034/viewer/2022042601/5485b92fb47959f10c8b4f1e/html5/thumbnails/20.jpg)
Backup / Examples
20
![Page 21: Colex: A Web-based Collaborative Conflict Lexicon](https://reader034.vdocument.in/reader034/viewer/2022042601/5485b92fb47959f10c8b4f1e/html5/thumbnails/21.jpg)
COLEX – Conflict Lexicon
http://www.modelversioning.org/colex
� Description
� Scenario
� Issue
� Models
� Origin/Left/Right
� Diagram and XMI
� Tags� Tags
� Use your terminology
� To settle a common
terminology
� Permanent links
� Entries are versioned
� BibTeX export
� Conflict relationships
� Related to…
� Duplicate of…21
![Page 22: Colex: A Web-based Collaborative Conflict Lexicon](https://reader034.vdocument.in/reader034/viewer/2022042601/5485b92fb47959f10c8b4f1e/html5/thumbnails/22.jpg)
COLEX – Conflict Lexicon
� Detection strategies
� Resolution strategies
� Comments
� Fosters discussion
� Currently ~45 conflicts
� We kindly invite to
� Contribute conflicts,
� Add tags,
� Rate,
� Discuss,
� …
22
![Page 23: Colex: A Web-based Collaborative Conflict Lexicon](https://reader034.vdocument.in/reader034/viewer/2022042601/5485b92fb47959f10c8b4f1e/html5/thumbnails/23.jpg)
Violation of the metamodel
Concrete Syntax
Domain Knowledge
• Update/Update• Delete/Update
Language Knowledge
• Update/Update• Delete/Update
• Add/Add• Update/Update• ...
• Add/Add• Update/Update• ...
Contradicting
Equivalent
Ato
mic
Ove
rla
pp
ing
Ch
an
ge
s
Co
mp
osi
te /
Ato
mic
V0
V0’
A
a
A
23
Metamodel
Operation
Condition
• Well-formedness Rule• Abstract Syntax
Vio
lati
on
sUser-defined
Knowledge
Common
Knowledge
• Upper Ontology• Thesaurus• ...
• Use Case Description• Requirement Specification • ...
Co
mp
osi
te /
Ato
mic
• Refactorings• Model Completion
V0’’
A
b
A
c
![Page 24: Colex: A Web-based Collaborative Conflict Lexicon](https://reader034.vdocument.in/reader034/viewer/2022042601/5485b92fb47959f10c8b4f1e/html5/thumbnails/24.jpg)
Overlapping contradicting changes: Domain Knowledge
V0
V0’
Person
gender: Boolean
Person
Domain Knowledge
• Update/Update• Delete/Update
Language Knowledge
• Update/Update• Delete/Update
• Add/Add• Update/Update• ...
• Add/Add• Update/Update• ...
Contradicting
Equivalent
Ato
mic
Ove
rla
pp
ing
Ch
an
ge
s
Co
mp
osi
te /
Ato
mic
24
V0’’
female: Boolean
Person
gender: GenderType
GenderType
MALEFEMALE
Metamodel
Operation
Condition
• Well-formedness Rule• Abstract Syntax
Vio
lati
on
sUser-defined
Knowledge
Common
Knowledge
• Upper Ontology• Thesaurus• ...
• Use Case Description• Requirement Specification • ...
Co
mp
osi
te /
Ato
mic
• Refactorings• Model Completion
![Page 25: Colex: A Web-based Collaborative Conflict Lexicon](https://reader034.vdocument.in/reader034/viewer/2022042601/5485b92fb47959f10c8b4f1e/html5/thumbnails/25.jpg)
Violation of the metamodel
Concrete Syntax
Domain Knowledge
• Update/Update• Delete/Update
Language Knowledge
• Update/Update• Delete/Update
• Add/Add• Update/Update• ...
• Add/Add• Update/Update• ...
Contradicting
Equivalent
Ato
mic
Ove
rla
pp
ing
Ch
an
ge
s
Co
mp
osi
te /
Ato
mic
V0
V0’
S1
S2
S3
S1
25
Metamodel
Operation
Condition
• Well-formedness Rule• Abstract Syntax
Vio
lati
on
sUser-defined
Knowledge
Common
Knowledge
• Upper Ontology• Thesaurus• ...
• Use Case Description• Requirement Specification • ...
Co
mp
osi
te /
Ato
mic
• Refactorings• Model Completion
V0’’
S1
S3
S2
S3
![Page 26: Colex: A Web-based Collaborative Conflict Lexicon](https://reader034.vdocument.in/reader034/viewer/2022042601/5485b92fb47959f10c8b4f1e/html5/thumbnails/26.jpg)
Violation of Common Knowledge
V0
V0’
Circle Square
Shape
Rectangle
Circle
Shape
Rhomboid
Domain Knowledge
• Update/Update• Delete/Update
Language Knowledge
• Update/Update• Delete/Update
• Add/Add• Update/Update• ...
• Add/Add• Update/Update• ...
Contradicting
Equivalent
Ato
mic
Ove
rla
pp
ing
Ch
an
ge
s
Co
mp
osi
te /
Ato
mic
26
V0’’
Circle Quadrangle
Shape
Square Rectangle
Circle
Square Rectangle
Rhomboid
Metamodel
Operation
Condition
• Well-formedness Rule• Abstract Syntax
Vio
lati
on
sUser-defined
Knowledge
Common
Knowledge
• Upper Ontology• Thesaurus• ...
• Use Case Description• Requirement Specification • ...
Co
mp
osi
te /
Ato
mic
• Refactorings• Model Completion
![Page 27: Colex: A Web-based Collaborative Conflict Lexicon](https://reader034.vdocument.in/reader034/viewer/2022042601/5485b92fb47959f10c8b4f1e/html5/thumbnails/27.jpg)
Outline
1. Motivation
2. Conflict Categorization 1.0
3. Conflict Categorization 2.0
4. Colex: Collaborative cOnflict LEXicon
5. Conclusion
27