collaborative editing of emf ecore meta models and models conflict detection, reconciliation, and...
TRANSCRIPT
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
www.unamur.be
Introduction
Collaborative Modeling
State of the art
DiCoMEF
Conflict Detection and Reconciliation
Conclusion and Future Work
Outline
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.
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
www.unamur.be
Introduction
Ecore Meta-model
www.unamur.be
Introduction
Notation
(Cartesian Product, keys are underlined)
(partial order)
, the inverse relation is
R*: the transitive closure of R
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.
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:
www.unamur.be
Introduction
www.unamur.be
Introduction
www.unamur.be
Introduction
Simplified Ecore meta-model instance (reflexive definition)
www.unamur.be
Collaborative Modeling
modeling alone
modeling in a team
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
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
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
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
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
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
www.unamur.be
DiCoMEF
DiCoMEF Architecture
www.unamur.be
DiCoMEF
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
www.unamur.be
• main-line: stores copy (meta)model
• branch: stores the working copy of (meta)model
DiCoMEF concepts
DiCoMEF
www.unamur.be
DiCoMEF
History Meta-model
www.unamur.be
DiCoMEF
Create Operation: creates objects in the context of a container.
www.unamur.be
DiCoMEF
Delete Operation: deletes an existing model element along with its contents (child elements) from its parent element
www.unamur.be
Conflict Detection
Conflicting relation (ordered-multivalued)
Conflicting relation (unordered-multivalued)
www.unamur.be
Conflict Detection
Requires relation
www.unamur.be
Demo
http://www.youtube.com/watch?v=K_O9QG9jooU&feature=youtu.be
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
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
www.unamur.be
Thank You !
University of Namur
PReCISE Research Center
sites.google.com/site/dicomef