Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.
Colex: A Web-based Collaborative Conflict Lexicon
Petra Brosch, Philip Langer, Martina Seidl, Konrad Wieland, Manuel Wimme...
Motivation

  How to develop a Model Versioning Systems with…
     precise conflict detection and
     supportive conflict...
Motivation

  How to develop a Model Versioning Systems with…
      precise conflict detection and
      supportive confli...
Motivation

  How to develop a Model Versioning Systems with…
      precise conflict detection and
      supportive confli...
Motivation

  How to develop a Model Versioning Systems with…
     precise conflict detection and
     supportive conflict...
Having a Conflict Categorization…

  Conflict detection
      Which knowledge is necessary to detect a certain kind of con...
Conflict Categorization 1.0

           Based on temporal dimension
                                                      ...
Conflict Categorization 1.0

           Based on temporal dimension
                                                      ...
Conflict Categorization 1.0

           Based on temporal dimension
                                                      ...
Conflict Categorization 2.0

  Goal
      Help for developing Model Versioning Systems

  Categorization according to reas...
Conflict Categorization 2.0
                        Language Knowledge            Domain Knowledge




                   ...
Language                       Domain
                            specification                 specification
Conflict Cat...
Overlapping equivalent changes: Language Knowledge
                                                                       ...
Violation of Operation Condition
                                                                        Language Knowledg...
Violation of User-defined Domain Knowledge
                                                  Language Knowledge           ...
COLEX – Conflict Lexicon
Motivation


   Categorization and common terminology is …
        … hardly established by one gr...
COLEX – Conflict Lexicon
http://www.modelversioning.org/colex




                         demo

                         ...
Conclusion and Future Work
http://www.modelversioning.org/colex


                                        Comprehensive li...
Thank you for your attention!
Questions?


• http://www.modelversioning.org/colex




                                    ...
Backup / Examples




                    20
COLEX – Conflict Lexicon
http://www.modelversioning.org/colex


                                       Description
       ...
COLEX – Conflict Lexicon

                           Detection strategies

                           Resolution strategie...
Violation of the metamodel
Concrete Syntax

                                            Language Knowledge             Dom...
Overlapping contradicting changes: Domain Knowledge

                                                             Language...
Violation of the metamodel
Concrete Syntax

                                            Language Knowledge             Dom...
Violation of Common Knowledge

                                                                      Language Knowledge   ...
Outline

1. Motivation
2. Conflict Categorization 1.0
3. Conflict Categorization 2.0
4. Colex: Collaborative cOnflict LEXi...
Upcoming SlideShare
Loading in …5
×

Colex: A Web-based Collaborative Conflict Lexicon

546 views

Published on

Slides presented at the International Workshop
on Model Comparison in Practice 2010 in Malaga, Spain.

Published in: Technology, Business
  • Be the first to comment

  • Be the first to like this

Colex: A Web-based Collaborative Conflict Lexicon

  1. 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. 2. Motivation How to develop a Model Versioning Systems with… precise conflict detection and supportive conflict resolution? 2
  3. 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. 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. 5. Motivation How to develop a Model Versioning Systems with… precise conflict detection and supportive conflict resolution? 5
  6. 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. 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. 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. 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. 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
  11. 11. Conflict Categorization 2.0 Language Knowledge Domain Knowledge Atomic • Update/Update • Update/Update Overlapping Contradicting Changes • Delete/Update • Delete/Update • Add/Add • Add/Add • Update/Update Equivalent • Update/Update • ... • ... Composite / Atomic Common Metamodel Knowledge Violations • Well-formedness Rule • Upper Ontology • Abstract Syntax • Thesaurus • ... Operation User-def ined Contract Knowledge • Refactorings • Use Case Description • Model Completion • Requirement Specification 11 • ...
  12. 12. Language Domain specification specification Conflict Categorization 2.0 Language Knowledge Domain Knowledge Existing Atomic Change- • Update/Update • Update/Update kinds of Overlapping Contradicting changes Changes based view • Delete/Update • Delete/Update • Add/Add • Add/Add • Update/Update Equivalent • Update/Update • ... • ... Composite / Atomic Common Contracts of Merged Metamodel composite Knowledge model operations Violations • Well-formedness Rule • Upper Ontology • Abstract Syntax • Thesaurus • ... Operation User-def ined Contract Knowledge • Refactorings • Use Case Description • Model Completion • Requirement Specification 12 • ...
  13. 13. Overlapping equivalent changes: Language Knowledge Language Knowledge Domain Knowledge V0 Atomic • Update/Update • Update/Update Overlapping * 1 Employee Company Contradicting Changes • Delete/Update • Delete/Update contract • Add/Add • Add/Add • Update/Update Equivalent • Update/Update V0’ • ... • ... Employee * * Company {nonunique} Composite / Atomic Contract Common Metamodel Knowledge Violations • Well-formedness Rule • Upper Ontology • Abstract Syntax • Thesaurus V0’’ • ... Employee Company Operation User-def ined 1 1 Contract Knowledge * Contract * • Refactorings • Use Case Description • Model Completion • Requirement Specification • ... 13
  14. 14. Violation of Operation Condition Language Knowledge Domain Knowledge V0 Researcher Atomic • Update/Update • Update/Update Overlapping Contradicting Changes Assistent Professor • Delete/Update • Delete/Update getLectures() getLectures() • Add/Add • Add/Add V0’ • Update/Update Equivalent • Update/Update • ... • ... Researcher getLectures() Composite / Atomic Common Metamodel Assistent Professor Knowledge Violations • Well-formedness Rule • Upper Ontology • Abstract Syntax • Thesaurus V0’’ • ... Researcher Operation User-def ined Contract Knowledge Assistent Professor ProjectAss • Refactorings • Use Case Description getLectures() getLectures() • Model Completion • Requirement Specification • ... 14
  15. 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. 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
  17. 17. COLEX – Conflict Lexicon http://www.modelversioning.org/colex demo 17
  18. 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. 19. Thank you for your attention! Questions? • http://www.modelversioning.org/colex The End
  20. 20. Backup / Examples 20
  21. 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. 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. 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. 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
  25. 25. Violation of the metamodel Concrete Syntax Language Knowledge Domain Knowledge V0 Atomic S1 Overlapping • Update/Update • Update/Update Contradicting Changes S3 • Delete/Update • Delete/Update S2 • Add/Add • Add/Add V0’ • Update/Update Equivalent • Update/Update • ... • ... Composite / Atomic S1 S3 Common Metamodel Knowledge Violations • Well-formedness Rule • Upper Ontology • Abstract Syntax • Thesaurus • ... V0’’ Operation User-defined S3 Condition Knowledge S2 • Refactorings • Use Case Description • Model Completion • Requirement Specification • ... 25
  26. 26. Violation of Common Knowledge Language Knowledge Domain Knowledge V0 Atomic Shape Overlapping • Update/Update • Update/Update Contradicting Changes • Delete/Update • Delete/Update Circle Square Rectangle V0’ • Add/Add • Add/Add • Update/Update Equivalent • Update/Update Shape • ... • ... Composite / Atomic Circle Rhomboid Common Square Rectangle Metamodel Knowledge Violations • Well-formedness Rule • Upper Ontology • Abstract Syntax • Thesaurus V0’’ Shape • ... Operation User-defined Circle Quadrangle Condition Knowledge • Refactorings • Use Case Description Square Rectangle • Model Completion • Requirement Specification • ... 26
  27. 27. Outline 1. Motivation 2. Conflict Categorization 1.0 3. Conflict Categorization 2.0 4. Colex: Collaborative cOnflict LEXicon 5. Conclusion 27

×