SlideShare a Scribd company logo
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

More Related Content

Viewers also liked

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 synchronization
michele 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 Report
James 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 Languages
Juha-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 sirius
pcdavid_
 
Gulp入門 - コーディングを10倍速くする
Gulp入門 - コーディングを10倍速くするGulp入門 - コーディングを10倍速くする
Gulp入門 - コーディングを10倍速くする
Hayashi Yuichi
 

Viewers also liked (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倍速くする
 

Similar to 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
 
Object oriented framework
Object oriented frameworkObject oriented framework
Object oriented framework
balamurugan.k Kalibalamurugan
 
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
 
Design patterns
Design patternsDesign patterns
Design patterns
Ahmed Elharouny
 
Design pattern
Design patternDesign pattern
Design pattern
Shreyance Jain
 
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
lbergmans
 
Patterns
PatternsPatterns
Patterns
Amith Tiwari
 
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
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
B.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 1
Shahzad
 
.net Based Component Technologies
.net Based Component Technologies.net Based Component Technologies
.net Based Component Technologies
prakashk453625
 
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
Serenoa 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 Changes
David 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 service
Antonio García-Domínguez
 
Megamodeling
MegamodelingMegamodeling
Megamodeling
Ivano Malavolta
 

Similar to 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
 

Recently uploaded

The Future of Platform Engineering
The Future of Platform EngineeringThe Future of Platform Engineering
The Future of Platform Engineering
Jemma Hussein Allen
 
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdfSmart TV Buyer Insights Survey 2024 by 91mobiles.pdf
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf
91mobiles
 
Accelerate your Kubernetes clusters with Varnish Caching
Accelerate your Kubernetes clusters with Varnish CachingAccelerate your Kubernetes clusters with Varnish Caching
Accelerate your Kubernetes clusters with Varnish Caching
Thijs Feryn
 
Knowledge engineering: from people to machines and back
Knowledge engineering: from people to machines and backKnowledge engineering: from people to machines and back
Knowledge engineering: from people to machines and back
Elena Simperl
 
Monitoring Java Application Security with JDK Tools and JFR Events
Monitoring Java Application Security with JDK Tools and JFR EventsMonitoring Java Application Security with JDK Tools and JFR Events
Monitoring Java Application Security with JDK Tools and JFR Events
Ana-Maria Mihalceanu
 
When stars align: studies in data quality, knowledge graphs, and machine lear...
When stars align: studies in data quality, knowledge graphs, and machine lear...When stars align: studies in data quality, knowledge graphs, and machine lear...
When stars align: studies in data quality, knowledge graphs, and machine lear...
Elena Simperl
 
Epistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI supportEpistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI support
Alan Dix
 
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
Tobias Schneck
 
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdfFIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance
 
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
Sri Ambati
 
Connector Corner: Automate dynamic content and events by pushing a button
Connector Corner: Automate dynamic content and events by pushing a buttonConnector Corner: Automate dynamic content and events by pushing a button
Connector Corner: Automate dynamic content and events by pushing a button
DianaGray10
 
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdfFIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance
 
State of ICS and IoT Cyber Threat Landscape Report 2024 preview
State of ICS and IoT Cyber Threat Landscape Report 2024 previewState of ICS and IoT Cyber Threat Landscape Report 2024 preview
State of ICS and IoT Cyber Threat Landscape Report 2024 preview
Prayukth K V
 
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
Product School
 
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
UiPathCommunity
 
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered QualitySoftware Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
Inflectra
 
Leading Change strategies and insights for effective change management pdf 1.pdf
Leading Change strategies and insights for effective change management pdf 1.pdfLeading Change strategies and insights for effective change management pdf 1.pdf
Leading Change strategies and insights for effective change management pdf 1.pdf
OnBoard
 
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
Product School
 
Essentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with ParametersEssentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with Parameters
Safe Software
 
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Thierry Lestable
 

Recently uploaded (20)

The Future of Platform Engineering
The Future of Platform EngineeringThe Future of Platform Engineering
The Future of Platform Engineering
 
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdfSmart TV Buyer Insights Survey 2024 by 91mobiles.pdf
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf
 
Accelerate your Kubernetes clusters with Varnish Caching
Accelerate your Kubernetes clusters with Varnish CachingAccelerate your Kubernetes clusters with Varnish Caching
Accelerate your Kubernetes clusters with Varnish Caching
 
Knowledge engineering: from people to machines and back
Knowledge engineering: from people to machines and backKnowledge engineering: from people to machines and back
Knowledge engineering: from people to machines and back
 
Monitoring Java Application Security with JDK Tools and JFR Events
Monitoring Java Application Security with JDK Tools and JFR EventsMonitoring Java Application Security with JDK Tools and JFR Events
Monitoring Java Application Security with JDK Tools and JFR Events
 
When stars align: studies in data quality, knowledge graphs, and machine lear...
When stars align: studies in data quality, knowledge graphs, and machine lear...When stars align: studies in data quality, knowledge graphs, and machine lear...
When stars align: studies in data quality, knowledge graphs, and machine lear...
 
Epistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI supportEpistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI support
 
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
 
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdfFIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
 
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
 
Connector Corner: Automate dynamic content and events by pushing a button
Connector Corner: Automate dynamic content and events by pushing a buttonConnector Corner: Automate dynamic content and events by pushing a button
Connector Corner: Automate dynamic content and events by pushing a button
 
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdfFIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
 
State of ICS and IoT Cyber Threat Landscape Report 2024 preview
State of ICS and IoT Cyber Threat Landscape Report 2024 previewState of ICS and IoT Cyber Threat Landscape Report 2024 preview
State of ICS and IoT Cyber Threat Landscape Report 2024 preview
 
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
 
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
 
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered QualitySoftware Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
 
Leading Change strategies and insights for effective change management pdf 1.pdf
Leading Change strategies and insights for effective change management pdf 1.pdfLeading Change strategies and insights for effective change management pdf 1.pdf
Leading Change strategies and insights for effective change management pdf 1.pdf
 
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
 
Essentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with ParametersEssentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with Parameters
 
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
 

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