Top 5 Benefits OF Using Muvi Live Paywall For Live Streams
Colex: A Web-based Collaborative Conflict Lexicon
1. Colex: A Web-based Collaborative Conflict Lexicon
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
philip.langer@jku.at
Department of Telecooperation
Johannes Kepler University Linz
Altenberger Straße 69
4040 Linz, Austria
2. Motivation
How to develop a Model Versioning Systems with…
precise conflict detection and
supportive conflict resolution?
2
3. 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) {
if (brain.thinkAboutInfoNeeded(idea, diffModel) != null {
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);
}
}
}
3
4. 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) {
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);
}
}
}
4
5. Motivation
How to develop a Model Versioning Systems with…
precise conflict detection and
supportive conflict resolution?
5
6. 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
7. Conflict Categorization 1.0
Based on temporal dimension
V0
Generic • Add
Atomic • Delete
• Update
Changes
A
Specific • Move
Change • Rename
Atomic
• ...
C A
Specific • Convert to Singleton A C
A
Composite • Extract Superclass
• ... C
A
A
A
A
• Update/Update
Contradicting • Delete/Update A C A
Conflicts
Overlapping • ... V0’ A V0’’
Changes
• Add/Add A
Equivalent A
• ...
Inconsistencies
V0’+V0’’
Syntax Semantic
• Dangling Reference • Equivalent Concept
• ... • ...
V1
7
8. Conflict Categorization 1.0
Based on temporal dimension
V0
Generic • Add
Atomic • Delete
• Update
Changes
A
Specific • Move
Change
Atomic • Rename
• ...
Contradiction or equivalence
C
Specific • Convert to Singleton on which layer?
A C
A
A
Composite • Extract Superclass
• ... C
A
A
A
A
• Update/Update • Modeling Language? C
Contradicting • Delete/Update A A
Conflicts
Overlapping • ... V0’ • Modeled Domain? V0’’
A
Changes
• Add/Add A
Equivalent A
• ...
Completely different
information needed for
Inconsistencies
V0’+V0’’
Syntax Semantic
detection
• Dangling Reference • Equivalent Concept
• ... • ... No generally applicable
detection strategy
V1
8
9. Conflict Categorization 1.0
Based on temporal dimension
V0
Generic • Add
Atomic • Delete
• Update
Changes
A
Specific • Move
Change • Rename
Atomic
• ... The semantics of semantics?
C A
Specific • Convert to Singleton A C
A
• Extract Superclass
Composite
• ... • Based on Conradi et al, Mens
C
A
A
A
• Update/Update • Oriented on compiler phases
A
C
Contradicting • Delete/Update A A
Conflicts
Overlapping • ... V0’ A V0’’
Changes
• Add/Add Models are not (always) A
Equivalent A
• ...
compiled
Semantics is (informally)
Inconsistencies
V0’+V0’’
Syntax Semantic
defined by a model’s intended
• Dangling Reference • Equivalent Concept
• ... • ...
use!
V1
What does it help for realizing
a MVS anyway?
9
10. 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
15. Violation of User-defined Domain Knowledge
Language Knowledge Domain Knowledge
V0 :A CM
turnOn()
Atomic
• Update/Update • Update/Update
Overlapping
ON Contradicting
Changes
makeCoffee() • Delete/Update • Delete/Update
ON
V0’ • Add/Add • Add/Add
:A CM • Update/Update Equivalent • Update/Update
turnOn() • ... • ...
ON
Composite / Atomic
makeCoffee()
turnOff()
Common
Metamodel
OFF Knowledge
Violations
• Well-formedness Rule • Upper Ontology
• Abstract Syntax • Thesaurus
:A CM • ...
V0’’
turnOn()
Operation User-def ined
ON
makeCoffee() Contract Knowledge
ON
• Refactorings • Use Case Description
makeTea() • Model Completion • Requirement Specification
• ...
cf. inter-
diagram 15
consistency
16. 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
18. 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
19. Thank you for your attention!
Questions?
• http://www.modelversioning.org/colex
The End
21. COLEX – Conflict Lexicon
http://www.modelversioning.org/colex
Description
Scenario
Issue
Models
Origin/Left/Right
Diagram and XMI
Tags
Use your terminology
To settle a common
terminology
Permanent links
Entries are versioned
BibTeX export
Conflict relationships
Related to…
Duplicate of…
21
22. COLEX – Conflict Lexicon
Detection strategies
Resolution strategies
Comments
Fosters discussion
Currently ~45 conflicts
We kindly invite to
Contribute conflicts,
Add tags,
Rate,
Discuss,
…
22
23. Violation of the metamodel
Concrete Syntax
Language Knowledge Domain Knowledge
V0
Atomic
Overlapping
• Update/Update • Update/Update
A Contradicting
Changes
• Delete/Update • Delete/Update
a
• Add/Add • Add/Add
V0’ • Update/Update Equivalent • Update/Update
• ... • ...
Composite / Atomic
A
b
Common
Metamodel
Knowledge
Violations
• Well-formedness Rule • Upper Ontology
• Abstract Syntax • Thesaurus
• ...
V0’’
A Operation User-defined
c Condition Knowledge
• Refactorings • Use Case Description
• Model Completion • Requirement Specification
• ...
23
24. Overlapping contradicting changes: Domain Knowledge
Language Knowledge Domain Knowledge
Atomic
V0
Overlapping
• Update/Update • Update/Update
Contradicting
Changes
Person • Delete/Update • Delete/Update
gender: Boolean
• Add/Add • Add/Add
• Update/Update Equivalent • Update/Update
V0’ • ... • ...
Person
Composite / Atomic
female: Boolean
Common
Metamodel
Knowledge
Violations
• Well-formedness Rule • Upper Ontology
• Abstract Syntax • Thesaurus
V0’’ • ...
Operation User-defined
Person GenderType
Condition Knowledge
gender: GenderType MALE
FEMALE • Refactorings • Use Case Description
• Model Completion • Requirement Specification
• ...
24