SlideShare uma empresa Scribd logo
1 de 27
Baixar para ler offline
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
Motivation

  How to develop a Model Versioning Systems with…
     precise conflict detection and
     supportive conflict resolution?




                                                    2
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
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
Motivation

  How to develop a Model Versioning Systems with…
     precise conflict detection and
     supportive conflict resolution?




                                                    5
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
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
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
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
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
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
                                                      • ...
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
                                                              • ...
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
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
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
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
COLEX – Conflict Lexicon
http://www.modelversioning.org/colex




                         demo

                                       17
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
Thank you for your attention!
Questions?


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




                                         The End
Backup / Examples




                    20
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
COLEX – Conflict Lexicon

                           Detection strategies

                           Resolution strategies

                           Comments
                               Fosters discussion

                           Currently ~45 conflicts

                           We kindly invite to
                               Contribute conflicts,
                               Add tags,
                               Rate,
                               Discuss,
                               …
                                                       22
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
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
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
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
Outline

1. Motivation
2. Conflict Categorization 1.0
3. Conflict Categorization 2.0
4. Colex: Collaborative cOnflict LEXicon
5. Conclusion




                                           27

Mais conteúdo relacionado

Destaque

Ukcc bcu level 2 coach training learning styles questionaire
Ukcc bcu level 2 coach training learning styles questionaireUkcc bcu level 2 coach training learning styles questionaire
Ukcc bcu level 2 coach training learning styles questionaireKim Bull
 
From UML Profiles to EMF Profiles and Beyond (TOOLS'11)
From UML Profiles to EMF Profiles and Beyond (TOOLS'11)From UML Profiles to EMF Profiles and Beyond (TOOLS'11)
From UML Profiles to EMF Profiles and Beyond (TOOLS'11)Philip Langer
 
A Brief Introduction to Working with Git
A Brief Introduction to Working with GitA Brief Introduction to Working with Git
A Brief Introduction to Working with GitPhilip Langer
 
What every Eclipse developer should know about EMF
What every Eclipse developer should know about EMFWhat every Eclipse developer should know about EMF
What every Eclipse developer should know about EMFPhilip Langer
 
You need to extend your models? EMF Facet vs. EMF Profiles
You need to extend your models? EMF Facet vs. EMF ProfilesYou need to extend your models? EMF Facet vs. EMF Profiles
You need to extend your models? EMF Facet vs. EMF ProfilesPhilip Langer
 
Play Framework: The Basics
Play Framework: The BasicsPlay Framework: The Basics
Play Framework: The BasicsPhilip Langer
 
Benefits Of Using Technology In The Classroom
Benefits Of Using Technology In The ClassroomBenefits Of Using Technology In The Classroom
Benefits Of Using Technology In The Classroomrmanraj
 

Destaque (8)

Ukcc bcu level 2 coach training learning styles questionaire
Ukcc bcu level 2 coach training learning styles questionaireUkcc bcu level 2 coach training learning styles questionaire
Ukcc bcu level 2 coach training learning styles questionaire
 
From UML Profiles to EMF Profiles and Beyond (TOOLS'11)
From UML Profiles to EMF Profiles and Beyond (TOOLS'11)From UML Profiles to EMF Profiles and Beyond (TOOLS'11)
From UML Profiles to EMF Profiles and Beyond (TOOLS'11)
 
A Brief Introduction to Working with Git
A Brief Introduction to Working with GitA Brief Introduction to Working with Git
A Brief Introduction to Working with Git
 
55821
5582155821
55821
 
What every Eclipse developer should know about EMF
What every Eclipse developer should know about EMFWhat every Eclipse developer should know about EMF
What every Eclipse developer should know about EMF
 
You need to extend your models? EMF Facet vs. EMF Profiles
You need to extend your models? EMF Facet vs. EMF ProfilesYou need to extend your models? EMF Facet vs. EMF Profiles
You need to extend your models? EMF Facet vs. EMF Profiles
 
Play Framework: The Basics
Play Framework: The BasicsPlay Framework: The Basics
Play Framework: The Basics
 
Benefits Of Using Technology In The Classroom
Benefits Of Using Technology In The ClassroomBenefits Of Using Technology In The Classroom
Benefits Of Using Technology In The Classroom
 

Último

A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)Gabriella Davis
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxMalak Abu Hammad
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptxHampshireHUG
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Allon Mureinik
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024Results
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityPrincipled Technologies
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxKatpro Technologies
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking MenDelhi Call girls
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsMaria Levchenko
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Miguel Araújo
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfEnterprise Knowledge
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsEnterprise Knowledge
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024The Digital Insurer
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationSafe Software
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slidespraypatel2
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Enterprise Knowledge
 
Top 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live StreamsTop 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live StreamsRoshan Dwivedi
 

Último (20)

A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptx
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slides
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...
 
Top 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live StreamsTop 5 Benefits OF Using Muvi Live Paywall For Live Streams
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
  • 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. 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. 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. 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. 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
  • 17. COLEX – Conflict Lexicon http://www.modelversioning.org/colex demo 17
  • 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
  • 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. 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. Outline 1. Motivation 2. Conflict Categorization 1.0 3. Conflict Categorization 2.0 4. Colex: Collaborative cOnflict LEXicon 5. Conclusion 27