collaborative editing of emf ecore meta models and models conflict detection, reconciliation, and...

31
Collaborative Editing of EMF/Ecore Meta- models and Models: Conflict Detection, Reconciliation, and Merging in DiCoMEF MODELSWARD 2014 : 2nd International Conference on Model-Driven Engineering and Software Development 07 January 2014, Lisbon, Portugal 07 January, 2014, Lisbon , Portugal Amanuel Koshima , Vincent Englebert

Upload: amanuel-alemayehu

Post on 29-Jun-2015

291 views

Category:

Technology


4 download

TRANSCRIPT

Page 1: Collaborative editing of emf ecore meta models and models conflict detection, reconciliation, and merging in di-comef

Collaborative Editing of EMF/Ecore Meta-models and Models: Conflict

Detection, Reconciliation, and Merging in DiCoMEF

Collaborative Editing of EMF/Ecore Meta-models and Models: Conflict

Detection, Reconciliation, and Merging in DiCoMEF

MODELSWARD 2014 : 2nd International Conference on Model-Driven Engineering and Software Development

07 January 2014, Lisbon, Portugal07 January, 2014, Lisbon , Portugal

Amanuel Koshima , Vincent Englebert

Page 2: Collaborative editing of emf ecore meta models and models conflict detection, reconciliation, and merging in di-comef

www.unamur.be

Introduction

Collaborative Modeling

State of the art

DiCoMEF

Conflict Detection and Reconciliation

Conclusion and Future Work

Outline

Page 3: Collaborative editing of emf ecore meta models and models conflict detection, reconciliation, and merging in di-comef

www.unamur.be

Application of software solutions

Mobile applicationsmicrocontroller SOA Architecture

Examples

DSML

Introduction

Kelly, Steven. Domain-specific modeling enabling full code generation. Hoboken, N.J: Wiley-Interscience IEEE Computer Society, 2008.

Page 4: Collaborative editing of emf ecore meta models and models conflict detection, reconciliation, and merging in di-comef

www.unamur.be

IntroductionModel Driven Engineering mitigates complexities of software development by

raising the level of abstraction from code to model

DSML: describes solutions using domain concepts

better support of variability reduce the cost of conception

& development: up to 10 [Kelly et. al]

http://www.ibm.com/developerworks/library/

« DSL GUI » Metamodel

Transformation

Metametamodel

« UML Class » Metamodel

Page 5: Collaborative editing of emf ecore meta models and models conflict detection, reconciliation, and merging in di-comef

www.unamur.be

Introduction

Ecore Meta-model

Page 6: Collaborative editing of emf ecore meta models and models conflict detection, reconciliation, and merging in di-comef

www.unamur.be

Introduction

Notation

(Cartesian Product, keys are underlined)

(partial order)

, the inverse relation is

R*: the transitive closure of R

Page 7: Collaborative editing of emf ecore meta models and models conflict detection, reconciliation, and merging in di-comef

www.unamur.be

Introduction

Ecore meta-model element mapping:

Classes: Associations:EClass EC

EDataType ED

EReference ER

EAttribute EA

EObject EOB

Inheritance relationship is modeled :– using set inclusion constraints or

e.g. – equality if the super-type is an abstract class

e.g.

Page 8: Collaborative editing of emf ecore meta models and models conflict detection, reconciliation, and merging in di-comef

www.unamur.be

Introduction

• A model M compliant with a meta-model MM

• A class is modeled as a set of instance Eobjects

• An attribute associates an EObject with a data value (s)

• A reference associates two EObjects

• A mapping function that maps an EObject to its Eclass

• The owner of a structural feature: owner(sf)• Containment relationship:

Page 9: Collaborative editing of emf ecore meta models and models conflict detection, reconciliation, and merging in di-comef

www.unamur.be

Introduction

Page 10: Collaborative editing of emf ecore meta models and models conflict detection, reconciliation, and merging in di-comef

www.unamur.be

Introduction

Page 11: Collaborative editing of emf ecore meta models and models conflict detection, reconciliation, and merging in di-comef

www.unamur.be

Introduction

Simplified Ecore meta-model instance (reflexive definition)

Page 12: Collaborative editing of emf ecore meta models and models conflict detection, reconciliation, and merging in di-comef

www.unamur.be

Collaborative Modeling

modeling alone

modeling in a team

Page 13: Collaborative editing of emf ecore meta models and models conflict detection, reconciliation, and merging in di-comef

www.unamur.be

Collaborative Modeling – a software system is required to facilitate collaboration (i.e.

communication , reconciliation) among software engineers ((meta)modelers)

Requirements for Collaboration Modeling1. Engineers need to share meta-models and models

2. Concurrently edited (meta)models need to be integrated

3. Communication among members need to be managed

4. Inconsistency (merge conflicts) needs to be identified and resolved

Collaborative Modeling

Page 14: Collaborative editing of emf ecore meta models and models conflict detection, reconciliation, and merging in di-comef

www.unamur.be

Collaborative Modeling

• creates a new Class named Node

• Moves transition from a State to Node

• deletes a State Class • rename transition to edge• rename Transition to Edge

rename State, transition, and Transition

Source code management systems makes possible to share efficiently code source files in such teams (cvs, svn, git, …), but not suitable for models which have a graph nature

Page 15: Collaborative editing of emf ecore meta models and models conflict detection, reconciliation, and merging in di-comef

www.unamur.be

Centralized approach there is one central repository mode of collaboration: pessimistic VS optimistic [3,4]

pessimistic approach: uses locks optimistic approach: copy-modify-merge

Limitations : locking technique is not scalable it restricts user to be dependent on one repository it introduces administrative access rights (cumbersome and

creates dissatisfaction) modification management role is not flexible

Advantage: handles conflicts better as compared to distributed approach

Example: EMFStore, MetaEdit+

State of the art

Page 16: Collaborative editing of emf ecore meta models and models conflict detection, reconciliation, and merging in di-comef

www.unamur.be

Distributed approach: each member has his/her local copy managing change propagation

• with change management• without change management

Advantage : gives members a better control over data solves a problem of being dependent on one repository modification management role is flexible

Limitations keeping all local copies consistent is challenging

• Example: Git, D-Praxis

State of the art

Page 17: Collaborative editing of emf ecore meta models and models conflict detection, reconciliation, and merging in di-comef

www.unamur.be

Most of state-of-the-art tools used a line based approach to compare models and detect conflicts, but models have graph-based nature (Mens , 2002) (Altmanninger et al., 2009).CVS, SVN, Git

EMFStore is a collaborative model editing framework based on copy-modify-edit premise (Koegel et al., 2010)

A theoretical reconciliation framework for DSML proposed by (Englebert et al., 2009), without giving a solution

D-Praxis - a peer-to-peer based collaborative model editing framework (Mougenot et al., 2009) (uses delete semantics and Lamport time as a means for reconciliation)

State of the art

Page 18: Collaborative editing of emf ecore meta models and models conflict detection, reconciliation, and merging in di-comef

www.unamur.be

DiCoMEF

DiCoMEF concepts

controller: write/read master (meta)model editor: writes/reads copy (meta)model observer: reads copy (meta)model

Hypothesis:

A controller is a senior staff

A controller has given a mandate to accept or reject modification requests

every (meta)model element has a unique id, UUID

Page 19: Collaborative editing of emf ecore meta models and models conflict detection, reconciliation, and merging in di-comef

www.unamur.be

DiCoMEF

DiCoMEF Architecture

Page 20: Collaborative editing of emf ecore meta models and models conflict detection, reconciliation, and merging in di-comef

www.unamur.be

DiCoMEF

Page 21: Collaborative editing of emf ecore meta models and models conflict detection, reconciliation, and merging in di-comef

www.unamur.be

• An operation based distributed model editing framework• An editor communicates his/her modification as a change

request• A controller supervises modifications of (meta)models

Meta-model Controller meta-model adaptation Model Controller model adaptation

• Propagated changes are always applied first in case of conflicts

• Editor can send his/her conflicting local changes as change request later

DiCoMEF

Page 22: Collaborative editing of emf ecore meta models and models conflict detection, reconciliation, and merging in di-comef

www.unamur.be

• main-line: stores copy (meta)model

• branch: stores the working copy of (meta)model

DiCoMEF concepts

DiCoMEF

Page 23: Collaborative editing of emf ecore meta models and models conflict detection, reconciliation, and merging in di-comef

www.unamur.be

DiCoMEF

History Meta-model

Page 24: Collaborative editing of emf ecore meta models and models conflict detection, reconciliation, and merging in di-comef

www.unamur.be

DiCoMEF

Create Operation: creates objects in the context of a container.

Page 25: Collaborative editing of emf ecore meta models and models conflict detection, reconciliation, and merging in di-comef

www.unamur.be

DiCoMEF

Delete Operation: deletes an existing model element along with its contents (child elements) from its parent element

Page 26: Collaborative editing of emf ecore meta models and models conflict detection, reconciliation, and merging in di-comef

www.unamur.be

Conflict Detection

Conflicting relation (ordered-multivalued)

Conflicting relation (unordered-multivalued)

Page 27: Collaborative editing of emf ecore meta models and models conflict detection, reconciliation, and merging in di-comef

www.unamur.be

Conflict Detection

Requires relation

Page 29: Collaborative editing of emf ecore meta models and models conflict detection, reconciliation, and merging in di-comef

www.unamur.be

To fully benefit from DSM tools: It is important to ensure collaboration among DSM tools.

Strength of DiCoMEF: – It manages collaboration of models and meta-models– It lets each member to work in isolation– Modifications are managed by human supervisor– Modification management role is flexible– It can be used extend to handle a community of modelers

Drawbacks:– Using a central controller could be a bottleneck

Conclusion

Page 30: Collaborative editing of emf ecore meta models and models conflict detection, reconciliation, and merging in di-comef

www.unamur.be

The proposed framework will be validated More advanced collaborative workflows should also be

investigated and defined on top of DiCoMEF.

Future work

Page 31: Collaborative editing of emf ecore meta models and models conflict detection, reconciliation, and merging in di-comef

www.unamur.be

Thank You !

University of Namur

PReCISE Research Center

[email protected]

sites.google.com/site/dicomef