SlideShare une entreprise Scribd logo
1  sur  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

Contenu connexe

En vedette

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
 

En vedette (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倍速くする
 

Similaire à 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
 
.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
 

Similaire à 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
 

Dernier

Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Manik S Magar
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLScyllaDB
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
Generative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersGenerative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersRaghuram Pandurangan
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsSergiu Bodiu
 
Moving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfMoving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfLoriGlavin3
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Mark Simos
 
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxThe Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxLoriGlavin3
 
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024BookNet Canada
 
Rise of the Machines: Known As Drones...
Rise of the Machines: Known As Drones...Rise of the Machines: Known As Drones...
Rise of the Machines: Known As Drones...Rick Flair
 
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxThe Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxLoriGlavin3
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 3652toLead Limited
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfAddepto
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024Lorenzo Miniero
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr BaganFwdays
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.Curtis Poe
 
Training state-of-the-art general text embedding
Training state-of-the-art general text embeddingTraining state-of-the-art general text embedding
Training state-of-the-art general text embeddingZilliz
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
SALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICESSALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICESmohitsingh558521
 
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxUse of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxLoriGlavin3
 

Dernier (20)

Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQL
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
Generative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersGenerative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information Developers
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platforms
 
Moving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfMoving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdf
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
 
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxThe Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
 
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
 
Rise of the Machines: Known As Drones...
Rise of the Machines: Known As Drones...Rise of the Machines: Known As Drones...
Rise of the Machines: Known As Drones...
 
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxThe Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdf
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.
 
Training state-of-the-art general text embedding
Training state-of-the-art general text embeddingTraining state-of-the-art general text embedding
Training state-of-the-art general text embedding
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
SALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICESSALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICES
 
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxUse of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
 

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