27
Colex: A Web-based Collaborative Conflict Lexicon Petra Brosch, Philip Langer, Martina Seidl, Konrad Wieland, Manuel Wimmer [email protected] 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

Colex: A Web-based Collaborative Conflict Lexicon

Embed Size (px)

DESCRIPTION

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

Citation preview

Page 1: Colex: A Web-based Collaborative Conflict Lexicon

Colex: A Web-based Collaborative Conflict Lexicon

Petra Brosch, Philip Langer, Martina Seidl, Konrad Wieland, Manuel Wimmer

[email protected]

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

COLEX – Conflict Lexicon

http://www.modelversioning.org/colex

demo

17

demo

Page 18: Colex: A Web-based Collaborative Conflict Lexicon

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

Thank you for your attention!

Questions?

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

The End

Page 20: Colex: A Web-based Collaborative Conflict Lexicon

Backup / Examples

20

Page 21: Colex: A Web-based Collaborative Conflict Lexicon

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

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

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

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

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

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

Outline

1. Motivation

2. Conflict Categorization 1.0

3. Conflict Categorization 2.0

4. Colex: Collaborative cOnflict LEXicon

5. Conclusion

27