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

Introduction



Collaborative Modeling



State of the art



DiCoMEF



Conflict Detection and Reconciliation



Conclusion and Future Work

www.unamur.be
Introduction
Application of software solutions

Kelly,
www.unamur.be Steven. Domain-specific modeling enabling full code generation. Hoboken, N.J: Wiley-Interscience IEEE Computer Society, 2008.
Introduction
Model Driven Engineering
mitigates complexities of software
development by
 raising the level of
abstraction from code to
model

DSML: describes solutions using

Metametamodel

http://www.ibm.com/de
veloperworks/library/

« UML Class » Metamodel

« DSL GUI »
Metamodel

domain concepts



better support of variability
reduce the cost of conception
& development: up to 10
[Kelly et. al]
Transformation

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

www.unamur.be
Collaborative Modeling
Collaborative Modeling
– a software system is required to facilitate collaboration (i.e.
communication , reconciliation) among software engineers
((meta)modelers)
Requirements for Collaboration Modeling
1. 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

www.unamur.be
Collaborative Modeling
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

‱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

www.unamur.be

rename State,
transition, and
Transition
State of the art
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+
www.unamur.be
State of the art
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
www.unamur.be
State of the art
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 copymodify-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)
www.unamur.be
DiCoMEF
DiCoMEF concepts

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

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

www.unamur.be
DiCoMEF

www.unamur.be
DiCoMEF
‱ 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

www.unamur.be
DiCoMEF
DiCoMEF concepts

‱ main-line: stores copy (meta)model
‱ branch: stores the working copy of (meta)model

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
Conclusion
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

www.unamur.be
Future work
 The proposed framework will be validated
 More advanced collaborative workflows should also be
investigated and defined on top of DiCoMEF.

www.unamur.be
Thank You !

University of Namur
PReCISE Research Center
amanuel.koshima@unamur.be

sites.google.com/site/dicomef
www.unamur.be

Mais conteĂșdo relacionado

Destaque

Web based tool for domain specific modeling
Web based tool for domain specific modeling Web based tool for domain specific modeling
Web based tool for domain specific modeling PG Scholar
 
Domain specific modelling (DSM)
Domain specific modelling (DSM)Domain specific modelling (DSM)
Domain specific modelling (DSM)PG Scholar
 
IBM Connections 4.5 bidirectional synchronization
IBM Connections 4.5 bidirectional synchronizationIBM Connections 4.5 bidirectional synchronization
IBM Connections 4.5 bidirectional synchronizationmichele buccarello
 
Collaborative modeling and metamodeling in MetaEdit+
Collaborative modeling and metamodeling in MetaEdit+Collaborative modeling and metamodeling in MetaEdit+
Collaborative modeling and metamodeling in MetaEdit+Juha-Pekka Tolvanen
 
Dover Street Market Brand Report
Dover Street Market Brand ReportDover Street Market Brand Report
Dover Street Market Brand ReportJames Tustin
 
20 examples on Domain-Specific Modeling Languages
20 examples on Domain-Specific Modeling Languages20 examples on Domain-Specific Modeling Languages
20 examples on Domain-Specific Modeling LanguagesJuha-Pekka Tolvanen
 
SiriusCon2016 - Une plateforme de modelisation support au PLM de l'ingenierie...
SiriusCon2016 - Une plateforme de modelisation support au PLM de l'ingenierie...SiriusCon2016 - Une plateforme de modelisation support au PLM de l'ingenierie...
SiriusCon2016 - Une plateforme de modelisation support au PLM de l'ingenierie...Obeo
 
Collaborative modeling with sirius
Collaborative modeling with siriusCollaborative modeling with sirius
Collaborative modeling with siriuspcdavid_
 
Gulpć…„é–€ - ă‚łăƒŒăƒ‡ă‚Łăƒłă‚°ă‚’10怍速くする
Gulpć…„é–€ - ă‚łăƒŒăƒ‡ă‚Łăƒłă‚°ă‚’10怍速くするGulpć…„é–€ - ă‚łăƒŒăƒ‡ă‚Łăƒłă‚°ă‚’10怍速くする
Gulpć…„é–€ - ă‚łăƒŒăƒ‡ă‚Łăƒłă‚°ă‚’10怍速くするHayashi Yuichi
 

Destaque (9)

Web based tool for domain specific modeling
Web based tool for domain specific modeling Web based tool for domain specific modeling
Web based tool for domain specific modeling
 
Domain specific modelling (DSM)
Domain specific modelling (DSM)Domain specific modelling (DSM)
Domain specific modelling (DSM)
 
IBM Connections 4.5 bidirectional synchronization
IBM Connections 4.5 bidirectional synchronizationIBM Connections 4.5 bidirectional synchronization
IBM Connections 4.5 bidirectional synchronization
 
Collaborative modeling and metamodeling in MetaEdit+
Collaborative modeling and metamodeling in MetaEdit+Collaborative modeling and metamodeling in MetaEdit+
Collaborative modeling and metamodeling in MetaEdit+
 
Dover Street Market Brand Report
Dover Street Market Brand ReportDover Street Market Brand Report
Dover Street Market Brand Report
 
20 examples on Domain-Specific Modeling Languages
20 examples on Domain-Specific Modeling Languages20 examples on Domain-Specific Modeling Languages
20 examples on Domain-Specific Modeling Languages
 
SiriusCon2016 - Une plateforme de modelisation support au PLM de l'ingenierie...
SiriusCon2016 - Une plateforme de modelisation support au PLM de l'ingenierie...SiriusCon2016 - Une plateforme de modelisation support au PLM de l'ingenierie...
SiriusCon2016 - Une plateforme de modelisation support au PLM de l'ingenierie...
 
Collaborative modeling with sirius
Collaborative modeling with siriusCollaborative modeling with sirius
Collaborative modeling with sirius
 
Gulpć…„é–€ - ă‚łăƒŒăƒ‡ă‚Łăƒłă‚°ă‚’10怍速くする
Gulpć…„é–€ - ă‚łăƒŒăƒ‡ă‚Łăƒłă‚°ă‚’10怍速くするGulpć…„é–€ - ă‚łăƒŒăƒ‡ă‚Łăƒłă‚°ă‚’10怍速くする
Gulpć…„é–€ - ă‚łăƒŒăƒ‡ă‚Łăƒłă‚°ă‚’10怍速くする
 

Semelhante a Collaborative editing of emf ecore meta models and models conflict detection, reconciliation, and merging in di-comef

RuCORD: Rule-based Composite Operation Recovering and Detection to Support Co...
RuCORD: Rule-based Composite Operation Recovering and Detection to Support Co...RuCORD: Rule-based Composite Operation Recovering and Detection to Support Co...
RuCORD: Rule-based Composite Operation Recovering and Detection to Support Co...Amanuel Alemayehu
 
Transformation Templates: Adding Flexibilityto Model-Driven Engineering of Us...
Transformation Templates: Adding Flexibilityto Model-Driven Engineering of Us...Transformation Templates: Adding Flexibilityto Model-Driven Engineering of Us...
Transformation Templates: Adding Flexibilityto Model-Driven Engineering of Us...Jean Vanderdonckt
 
Software development effort reduction with Co-op
Software development effort reduction with Co-opSoftware development effort reduction with Co-op
Software development effort reduction with Co-oplbergmans
 
Software Engineering with Objects (M363) Final Revision By Kuwait10
Software Engineering with Objects (M363) Final Revision By Kuwait10Software Engineering with Objects (M363) Final Revision By Kuwait10
Software Engineering with Objects (M363) Final Revision By Kuwait10Kuwait10
 
SADP PPTs of all modules - Shanthi D.L.pdf
SADP PPTs of all modules - Shanthi D.L.pdfSADP PPTs of all modules - Shanthi D.L.pdf
SADP PPTs of all modules - Shanthi D.L.pdfB.T.L.I.T
 
Typescript design patterns applied to sharepoint framework - Sharepoint Satur...
Typescript design patterns applied to sharepoint framework - Sharepoint Satur...Typescript design patterns applied to sharepoint framework - Sharepoint Satur...
Typescript design patterns applied to sharepoint framework - Sharepoint Satur...Luis Valencia
 
Design Pattern For C# Part 1
Design Pattern For C# Part 1Design Pattern For C# Part 1
Design Pattern For C# Part 1Shahzad
 
Lecture11
Lecture11Lecture11
Lecture11artgreen
 
.net Based Component Technologies
.net Based Component Technologies.net Based Component Technologies
.net Based Component Technologiesprakashk453625
 
A Computational Framework for Multi-dimensional Context-aware Adaptation
A Computational Framework for Multi-dimensional Context-aware AdaptationA Computational Framework for Multi-dimensional Context-aware Adaptation
A Computational Framework for Multi-dimensional Context-aware AdaptationSerenoa Project
 
Foundational Design Patterns for Multi-Purpose Applications
Foundational Design Patterns for Multi-Purpose ApplicationsFoundational Design Patterns for Multi-Purpose Applications
Foundational Design Patterns for Multi-Purpose ApplicationsChing-Hwa Yu
 
Effective Detection of Model Changes
Effective Detection of Model ChangesEffective Detection of Model Changes
Effective Detection of Model ChangesDavid Méndez-Acuña
 
COMMitMDE'18: Eclipse Hawk: model repository querying as a service
COMMitMDE'18: Eclipse Hawk: model repository querying as a serviceCOMMitMDE'18: Eclipse Hawk: model repository querying as a service
COMMitMDE'18: Eclipse Hawk: model repository querying as a serviceAntonio GarcĂ­a-DomĂ­nguez
 

Semelhante a Collaborative editing of emf ecore meta models and models conflict detection, reconciliation, and merging in di-comef (20)

RuCORD: Rule-based Composite Operation Recovering and Detection to Support Co...
RuCORD: Rule-based Composite Operation Recovering and Detection to Support Co...RuCORD: Rule-based Composite Operation Recovering and Detection to Support Co...
RuCORD: Rule-based Composite Operation Recovering and Detection to Support Co...
 
Object oriented framework
Object oriented frameworkObject oriented framework
Object oriented framework
 
Transformation Templates: Adding Flexibilityto Model-Driven Engineering of Us...
Transformation Templates: Adding Flexibilityto Model-Driven Engineering of Us...Transformation Templates: Adding Flexibilityto Model-Driven Engineering of Us...
Transformation Templates: Adding Flexibilityto Model-Driven Engineering of Us...
 
Design patterns
Design patternsDesign patterns
Design patterns
 
Design pattern
Design patternDesign pattern
Design pattern
 
Software development effort reduction with Co-op
Software development effort reduction with Co-opSoftware development effort reduction with Co-op
Software development effort reduction with Co-op
 
Patterns
PatternsPatterns
Patterns
 
Software Engineering with Objects (M363) Final Revision By Kuwait10
Software Engineering with Objects (M363) Final Revision By Kuwait10Software Engineering with Objects (M363) Final Revision By Kuwait10
Software Engineering with Objects (M363) Final Revision By Kuwait10
 
SADP PPTs of all modules - Shanthi D.L.pdf
SADP PPTs of all modules - Shanthi D.L.pdfSADP PPTs of all modules - Shanthi D.L.pdf
SADP PPTs of all modules - Shanthi D.L.pdf
 
Typescript design patterns applied to sharepoint framework - Sharepoint Satur...
Typescript design patterns applied to sharepoint framework - Sharepoint Satur...Typescript design patterns applied to sharepoint framework - Sharepoint Satur...
Typescript design patterns applied to sharepoint framework - Sharepoint Satur...
 
Design Pattern For C# Part 1
Design Pattern For C# Part 1Design Pattern For C# Part 1
Design Pattern For C# Part 1
 
Design patterns
Design patternsDesign patterns
Design patterns
 
Lecture11
Lecture11Lecture11
Lecture11
 
.net Based Component Technologies
.net Based Component Technologies.net Based Component Technologies
.net Based Component Technologies
 
A Computational Framework for Multi-dimensional Context-aware Adaptation
A Computational Framework for Multi-dimensional Context-aware AdaptationA Computational Framework for Multi-dimensional Context-aware Adaptation
A Computational Framework for Multi-dimensional Context-aware Adaptation
 
Foundational Design Patterns for Multi-Purpose Applications
Foundational Design Patterns for Multi-Purpose ApplicationsFoundational Design Patterns for Multi-Purpose Applications
Foundational Design Patterns for Multi-Purpose Applications
 
Effective Detection of Model Changes
Effective Detection of Model ChangesEffective Detection of Model Changes
Effective Detection of Model Changes
 
COMMitMDE'18: Eclipse Hawk: model repository querying as a service
COMMitMDE'18: Eclipse Hawk: model repository querying as a serviceCOMMitMDE'18: Eclipse Hawk: model repository querying as a service
COMMitMDE'18: Eclipse Hawk: model repository querying as a service
 
Megamodeling
MegamodelingMegamodeling
Megamodeling
 
V5I1-IJERTV5IS010514
V5I1-IJERTV5IS010514V5I1-IJERTV5IS010514
V5I1-IJERTV5IS010514
 

Último

Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...DianaGray10
 
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Jeffrey Haguewood
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoffsammart93
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfsudhanshuwaghmare1
 
Mcleodganj Call Girls đŸ„° 8617370543 Service Offer VIP Hot Model
Mcleodganj Call Girls đŸ„° 8617370543 Service Offer VIP Hot ModelMcleodganj Call Girls đŸ„° 8617370543 Service Offer VIP Hot Model
Mcleodganj Call Girls đŸ„° 8617370543 Service Offer VIP Hot ModelDeepika Singh
 
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdfRising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdfOrbitshub
 
[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdfSandro Moreira
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FMESafe Software
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobeapidays
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyKhushali Kathiriya
 
Corporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxCorporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxRustici Software
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FMESafe Software
 
Elevate Developer Efficiency & build GenAI Application with Amazon Q​
Elevate Developer Efficiency & build GenAI Application with Amazon Q​Elevate Developer Efficiency & build GenAI Application with Amazon Q​
Elevate Developer Efficiency & build GenAI Application with Amazon Q​Bhuvaneswari Subramani
 
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 AmsterdamDEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 AmsterdamUiPathCommunity
 
CNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In PakistanCNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In Pakistandanishmna97
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc
 
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...apidays
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProduct Anonymous
 
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...Orbitshub
 

Último (20)

Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
 
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
Mcleodganj Call Girls đŸ„° 8617370543 Service Offer VIP Hot Model
Mcleodganj Call Girls đŸ„° 8617370543 Service Offer VIP Hot ModelMcleodganj Call Girls đŸ„° 8617370543 Service Offer VIP Hot Model
Mcleodganj Call Girls đŸ„° 8617370543 Service Offer VIP Hot Model
 
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdfRising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
 
[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : Uncertainty
 
Corporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxCorporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptx
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
Elevate Developer Efficiency & build GenAI Application with Amazon Q​
Elevate Developer Efficiency & build GenAI Application with Amazon Q​Elevate Developer Efficiency & build GenAI Application with Amazon Q​
Elevate Developer Efficiency & build GenAI Application with Amazon Q​
 
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 AmsterdamDEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
 
CNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In PakistanCNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In Pakistan
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
 
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
 

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

  • 1. Collaborative Editing of EMF/Ecore Meta-models and Models: Conflict Detection, Reconciliation, and Merging in DiCoMEF Amanuel Koshima , Vincent Englebert MODELSWARD 2014 : 2nd International Conference on Model-Driven Engineering and Software Development 07 January 2014, Lisbon, Portugal 07 January, 2014, Lisbon , Portugal
  • 2. Outline  Introduction  Collaborative Modeling  State of the art  DiCoMEF  Conflict Detection and Reconciliation  Conclusion and Future Work www.unamur.be
  • 3. Introduction Application of software solutions Kelly, www.unamur.be Steven. Domain-specific modeling enabling full code generation. Hoboken, N.J: Wiley-Interscience IEEE Computer Society, 2008.
  • 4. Introduction Model Driven Engineering mitigates complexities of software development by  raising the level of abstraction from code to model DSML: describes solutions using Metametamodel http://www.ibm.com/de veloperworks/library/ « UML Class » Metamodel « DSL GUI » Metamodel domain concepts   better support of variability reduce the cost of conception & development: up to 10 [Kelly et. al] Transformation www.unamur.be
  • 6. Introduction Notation (Cartesian Product, keys are underlined) (partial order) , the inverse relation is R*: the transitive closure of R www.unamur.be
  • 7. 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
  • 8. 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
  • 13. Collaborative Modeling Collaborative Modeling – a software system is required to facilitate collaboration (i.e. communication , reconciliation) among software engineers ((meta)modelers) Requirements for Collaboration Modeling 1. 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 www.unamur.be
  • 14. Collaborative Modeling 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 ‱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 www.unamur.be rename State, transition, and Transition
  • 15. State of the art 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+ www.unamur.be
  • 16. State of the art 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 www.unamur.be
  • 17. State of the art 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 copymodify-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) www.unamur.be
  • 18. DiCoMEF DiCoMEF concepts 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 controller: write/read master (meta)model editor: writes/reads copy (meta)model observer: reads copy (meta)model
  • 21. DiCoMEF ‱ 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 www.unamur.be
  • 22. DiCoMEF DiCoMEF concepts ‱ main-line: stores copy (meta)model ‱ branch: stores the working copy of (meta)model www.unamur.be
  • 24. DiCoMEF Create Operation: creates objects in the context of a container. www.unamur.be
  • 25. DiCoMEF Delete Operation: deletes an existing model element along with its contents (child elements) from its parent element www.unamur.be
  • 26. Conflict Detection Conflicting relation (ordered-multivalued) Conflicting relation (unordered-multivalued) www.unamur.be
  • 29. Conclusion 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 www.unamur.be
  • 30. Future work  The proposed framework will be validated  More advanced collaborative workflows should also be investigated and defined on top of DiCoMEF. www.unamur.be
  • 31. Thank You ! University of Namur PReCISE Research Center amanuel.koshima@unamur.be sites.google.com/site/dicomef www.unamur.be