SlideShare une entreprise Scribd logo
1  sur  19
From Model Fragments to Shared Repository
Pierre-Charles David, Obeo
Collaborative Modeling with
Sirius
Collaborative modeling: what is the challenge?
● Multiple users, single (authoritative) version of the model
● Need to coordinate concurrent changes
○ how and when do I know what the others are doing?
○ how and when do I publish my own part of the work?
○ how to deal with conflicting changes?
● Two possible solutions (in this talk)
○ model fragmentation and SCM tools
○ shared model repository and real-time collaboration
Collaborating using
model fragmentation
and SCM tools
Collaboration with model fragments
Central SCM server
Work locally Work locally
Alex
Bob
1. Fetch files
2. Work locally
3. Fetch more
recent files
4. Detect conflicts
5. Merge
6. Repeat
7. …
8. Publish local
modifications
9. Repeat
Fetch & Merge Fetch & Merge
Publish Publish
Handling conflicts on models
Reducing conflict occurrences with model fragments
● Fragmentation for isolation
○ semantic models
○ Sirius representations (aird)
● File-level locks
○ if supported by SCM
Organizer
Alex
Bob
SCM
Collaborating using
model fragmentation
and SCM tools
DEMO
EMF Compare: comparing and merging models
● Compare models, detect conflicts and resolve them semi-graphically
● May require (programmatic) customization to give its full potential
○ meta-model specific matching, logical conflicts and merge rules
● UI may not be adapted to all end users
EMF Compare: comparing and merging diagrams
● EMF Compare can also compare and merge on diagrams
○ below, the Sirius-based “UML Designer”
● Less mature than traditional compare, not yet well integrated with Sirius
Collaborating with model fragments: summary
● Advantages
○ Can greatly reduces the risk of conflicts
○ Only coarse-grained locking
○ Some tooling exists to help handling the remaining cases of conflict
● Drawbacks
○ Assumes well defined structure designed in advance
○ May require changes in the metamodel to allow for good isolation
○ Assumes technical support for merge processes
■ may require custom tooling and/or customization of tools like EMF Compare
● Suited for
○ Meta model that can be naturally fragmented
○ Low number of relatively technical users in well organized teams
Collaborating using a shared model
repository
What would it take to avoid conflicts completely?
● Pessimistic locking (automatic and/or preventive)
○ Fine-grained (element-based) locking
○ Automatic/implicit locks on edition
○ Explicit locking to “reserve” whole subtrees for long-term work
● Automatic change propagation on shared repository and teammates
○ On saving, “push” (commit) local changes automatically
■ Immediately incorporated on all connected users
■ Avoid the local state of different users to diverge too much
○ Automatically release implicit locks on saving
■ Avoid blocking others users for too long by default
○ Keep explicit locks on saving (need explicit unlock)
■ Allow exclusive access to part of the model for longer changes
Obeo Designer Team: client/server architecture
Shared model repository
Alex
Bob
1. Connect
2. Work locally
3. Acquire locks
4. See remote
changes as they
are published
5. Save to publish
6. Release explicit
locks
Collaboration with shared repository
DEMO
Obeo Designer Team: based on Sirius and CDO
Eclipse and EMF
Sirius CDO
Sirius/CDO integration
locking strategies
change propagation
Sirius representations integration
import/export wizards
...
Obeo Designer Team
Collaborating with Obeo Designer Team: summary
● Advantages: users can focus on business tasks
○ No time lost splitting model
○ No time lost managing conflicts
○ Real time integration of other users’ modifications
● Drawbacks
○ Implicit locking may be overly pessimistic sometimes
○ Not open source
● Suited for
○ Teams of 10-15 users
○ Business domain specialists
○ Co-located (on the same LAN)
Combining the best of both worlds
Bordeaux Toulouse
Central SCM
(Paris)
Conclusion
● Two approaches presented, with different trade-offs
● File-based model fragmentation
○ more adapted to technical users
○ requires some upfront work
○ implementable with only open source tools
● Real-time collaboration with shared repository
○ more adapted to business-oriented users
○ mostly automatic and real-time
○ requires proprietary tool (Obeo Designer Team)
● Both approaches can be combined in large projects
Thank you!
Sirius: http://eclipse.org/sirius
EMF Compare: https://eclipse.org/emf/compare/
Obeo Designer: http://www.obeodesigner.com/

Contenu connexe

En vedette

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
 
Real-Time Metamodeling in the Web Browser
Real-Time Metamodeling in the Web BrowserReal-Time Metamodeling in the Web Browser
Real-Time Metamodeling in the Web BrowserMichael Derntl
 
Collaboro - EclipseCon France 2013 - Ignite Talks Session
Collaboro - EclipseCon France 2013 - Ignite Talks SessionCollaboro - EclipseCon France 2013 - Ignite Talks Session
Collaboro - EclipseCon France 2013 - Ignite Talks SessionHugo Bruneliere
 
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
 
Collaborative editing of emf ecore meta models and models conflict detection,...
Collaborative editing of emf ecore meta models and models conflict detection,...Collaborative editing of emf ecore meta models and models conflict detection,...
Collaborative editing of emf ecore meta models and models conflict detection,...Amanuel Alemayehu
 
IBM Connections 4.5 bidirectional synchronization
IBM Connections 4.5 bidirectional synchronizationIBM Connections 4.5 bidirectional synchronization
IBM Connections 4.5 bidirectional synchronizationmichele buccarello
 
000 FamilyFun-Oct15 DIGI
000 FamilyFun-Oct15 DIGI000 FamilyFun-Oct15 DIGI
000 FamilyFun-Oct15 DIGIKimberly Stoney
 
YEKRA Case Study: Sirius
YEKRA Case Study: SiriusYEKRA Case Study: Sirius
YEKRA Case Study: SiriusYEKRA
 
SiriusCon2016 - Capella Team: Live collaborative modeling with Sirius
SiriusCon2016 - Capella Team: Live collaborative modeling with SiriusSiriusCon2016 - Capella Team: Live collaborative modeling with Sirius
SiriusCon2016 - Capella Team: Live collaborative modeling with SiriusObeo
 
Форекс роботы, основанные на дивергенции
Форекс роботы, основанные на дивергенцииФорекс роботы, основанные на дивергенции
Форекс роботы, основанные на дивергенцииTIMSERGEI
 
Collaborative Modeling In A Nutshell
Collaborative Modeling In A NutshellCollaborative Modeling In A Nutshell
Collaborative Modeling In A NutshellKent McDonald
 
Dover Street Market Brand Report
Dover Street Market Brand ReportDover Street Market Brand Report
Dover Street Market Brand ReportJames Tustin
 
Syndroma Lupus Eritematosus (SLE)
Syndroma Lupus Eritematosus (SLE)Syndroma Lupus Eritematosus (SLE)
Syndroma Lupus Eritematosus (SLE)Ronald Siregar
 

En vedette (19)

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...
 
Real-Time Metamodeling in the Web Browser
Real-Time Metamodeling in the Web BrowserReal-Time Metamodeling in the Web Browser
Real-Time Metamodeling in the Web Browser
 
What is clooca
What is cloocaWhat is clooca
What is clooca
 
Collaboro - EclipseCon France 2013 - Ignite Talks Session
Collaboro - EclipseCon France 2013 - Ignite Talks SessionCollaboro - EclipseCon France 2013 - Ignite Talks Session
Collaboro - EclipseCon France 2013 - Ignite Talks Session
 
Dianóstico
DianósticoDianóstico
Dianóstico
 
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
 
Interactive DSML Design
Interactive DSML DesignInteractive DSML Design
Interactive DSML Design
 
Domain specific modelling (DSM)
Domain specific modelling (DSM)Domain specific modelling (DSM)
Domain specific modelling (DSM)
 
Collaborative editing of emf ecore meta models and models conflict detection,...
Collaborative editing of emf ecore meta models and models conflict detection,...Collaborative editing of emf ecore meta models and models conflict detection,...
Collaborative editing of emf ecore meta models and models conflict detection,...
 
IBM Connections 4.5 bidirectional synchronization
IBM Connections 4.5 bidirectional synchronizationIBM Connections 4.5 bidirectional synchronization
IBM Connections 4.5 bidirectional synchronization
 
000 FamilyFun-Oct15 DIGI
000 FamilyFun-Oct15 DIGI000 FamilyFun-Oct15 DIGI
000 FamilyFun-Oct15 DIGI
 
Uae embassy attestation
Uae embassy attestation Uae embassy attestation
Uae embassy attestation
 
UMANGGC-Bul082011
UMANGGC-Bul082011UMANGGC-Bul082011
UMANGGC-Bul082011
 
YEKRA Case Study: Sirius
YEKRA Case Study: SiriusYEKRA Case Study: Sirius
YEKRA Case Study: Sirius
 
SiriusCon2016 - Capella Team: Live collaborative modeling with Sirius
SiriusCon2016 - Capella Team: Live collaborative modeling with SiriusSiriusCon2016 - Capella Team: Live collaborative modeling with Sirius
SiriusCon2016 - Capella Team: Live collaborative modeling with Sirius
 
Форекс роботы, основанные на дивергенции
Форекс роботы, основанные на дивергенцииФорекс роботы, основанные на дивергенции
Форекс роботы, основанные на дивергенции
 
Collaborative Modeling In A Nutshell
Collaborative Modeling In A NutshellCollaborative Modeling In A Nutshell
Collaborative Modeling In A Nutshell
 
Dover Street Market Brand Report
Dover Street Market Brand ReportDover Street Market Brand Report
Dover Street Market Brand Report
 
Syndroma Lupus Eritematosus (SLE)
Syndroma Lupus Eritematosus (SLE)Syndroma Lupus Eritematosus (SLE)
Syndroma Lupus Eritematosus (SLE)
 

Similaire à Collaborative modeling with sirius

Be serious with sirius your journey from first experimentation to large deplo...
Be serious with sirius your journey from first experimentation to large deplo...Be serious with sirius your journey from first experimentation to large deplo...
Be serious with sirius your journey from first experimentation to large deplo...Etienne Juliot
 
[SiriusCon 2018] Fluent and Live Collaboration on a Shared Repository with Ob...
[SiriusCon 2018] Fluent and Live Collaboration on a Shared Repository with Ob...[SiriusCon 2018] Fluent and Live Collaboration on a Shared Repository with Ob...
[SiriusCon 2018] Fluent and Live Collaboration on a Shared Repository with Ob...Obeo
 
Tests immutable when refactoring - SegFault Unconference Cracow 2019
Tests immutable when refactoring - SegFault Unconference Cracow 2019Tests immutable when refactoring - SegFault Unconference Cracow 2019
Tests immutable when refactoring - SegFault Unconference Cracow 2019Grzegorz Miejski
 
Umbraco development across large and distributed teams
Umbraco development across large and distributed teamsUmbraco development across large and distributed teams
Umbraco development across large and distributed teamsJanusz Stabik
 
EclipseCon EU 2015 : EMF compare + EGit = Seamless Collaborative Modeling
EclipseCon EU 2015 : EMF compare + EGit = Seamless Collaborative ModelingEclipseCon EU 2015 : EMF compare + EGit = Seamless Collaborative Modeling
EclipseCon EU 2015 : EMF compare + EGit = Seamless Collaborative ModelingObeo
 
10 clues showing that you are doing OSGi in the wrong manner - Jerome Moliere
10 clues showing that you are doing OSGi in the wrong manner - Jerome Moliere10 clues showing that you are doing OSGi in the wrong manner - Jerome Moliere
10 clues showing that you are doing OSGi in the wrong manner - Jerome Molieremfrancis
 
Single Responsibility Principle
Single Responsibility PrincipleSingle Responsibility Principle
Single Responsibility PrincipleBADR
 
Be serious with sirius your journey from first experimentation to large deplo...
Be serious with sirius your journey from first experimentation to large deplo...Be serious with sirius your journey from first experimentation to large deplo...
Be serious with sirius your journey from first experimentation to large deplo...Etienne Juliot
 
Concurrency - Why it's hard ?
Concurrency - Why it's hard ?Concurrency - Why it's hard ?
Concurrency - Why it's hard ?Ramith Jayasinghe
 
Javascript Frameworks (and How to Learn Them)
Javascript Frameworks (and How to Learn Them)Javascript Frameworks (and How to Learn Them)
Javascript Frameworks (and How to Learn Them)All Things Open
 
GoF Design patterns I: Introduction + Structural Patterns
GoF Design patterns I:   Introduction + Structural PatternsGoF Design patterns I:   Introduction + Structural Patterns
GoF Design patterns I: Introduction + Structural PatternsSameh Deabes
 
What every Eclipse developer should know about EMF
What every Eclipse developer should know about EMFWhat every Eclipse developer should know about EMF
What every Eclipse developer should know about EMFPhilip Langer
 
Multidiscipline Collaboration On A Single Central File
Multidiscipline Collaboration On A Single Central FileMultidiscipline Collaboration On A Single Central File
Multidiscipline Collaboration On A Single Central Filejowett9
 
Software Engineering Primer
Software Engineering PrimerSoftware Engineering Primer
Software Engineering PrimerGeorg Buske
 

Similaire à Collaborative modeling with sirius (20)

Be serious with sirius your journey from first experimentation to large deplo...
Be serious with sirius your journey from first experimentation to large deplo...Be serious with sirius your journey from first experimentation to large deplo...
Be serious with sirius your journey from first experimentation to large deplo...
 
[SiriusCon 2018] Fluent and Live Collaboration on a Shared Repository with Ob...
[SiriusCon 2018] Fluent and Live Collaboration on a Shared Repository with Ob...[SiriusCon 2018] Fluent and Live Collaboration on a Shared Repository with Ob...
[SiriusCon 2018] Fluent and Live Collaboration on a Shared Repository with Ob...
 
EduSymp 2022 slides (The Epsilon Playground)
EduSymp 2022 slides (The Epsilon Playground)EduSymp 2022 slides (The Epsilon Playground)
EduSymp 2022 slides (The Epsilon Playground)
 
Design pattern
Design patternDesign pattern
Design pattern
 
Tests immutable when refactoring - SegFault Unconference Cracow 2019
Tests immutable when refactoring - SegFault Unconference Cracow 2019Tests immutable when refactoring - SegFault Unconference Cracow 2019
Tests immutable when refactoring - SegFault Unconference Cracow 2019
 
Umbraco development across large and distributed teams
Umbraco development across large and distributed teamsUmbraco development across large and distributed teams
Umbraco development across large and distributed teams
 
EclipseCon EU 2015 : EMF compare + EGit = Seamless Collaborative Modeling
EclipseCon EU 2015 : EMF compare + EGit = Seamless Collaborative ModelingEclipseCon EU 2015 : EMF compare + EGit = Seamless Collaborative Modeling
EclipseCon EU 2015 : EMF compare + EGit = Seamless Collaborative Modeling
 
10 clues showing that you are doing OSGi in the wrong manner - Jerome Moliere
10 clues showing that you are doing OSGi in the wrong manner - Jerome Moliere10 clues showing that you are doing OSGi in the wrong manner - Jerome Moliere
10 clues showing that you are doing OSGi in the wrong manner - Jerome Moliere
 
Single Responsibility Principle
Single Responsibility PrincipleSingle Responsibility Principle
Single Responsibility Principle
 
Be serious with sirius your journey from first experimentation to large deplo...
Be serious with sirius your journey from first experimentation to large deplo...Be serious with sirius your journey from first experimentation to large deplo...
Be serious with sirius your journey from first experimentation to large deplo...
 
DDD with Behat
DDD with BehatDDD with Behat
DDD with Behat
 
Concurrency - Why it's hard ?
Concurrency - Why it's hard ?Concurrency - Why it's hard ?
Concurrency - Why it's hard ?
 
Why Concurrency is hard ?
Why Concurrency is hard ?Why Concurrency is hard ?
Why Concurrency is hard ?
 
Javascript Frameworks (and How to Learn Them)
Javascript Frameworks (and How to Learn Them)Javascript Frameworks (and How to Learn Them)
Javascript Frameworks (and How to Learn Them)
 
GoF Design patterns I: Introduction + Structural Patterns
GoF Design patterns I:   Introduction + Structural PatternsGoF Design patterns I:   Introduction + Structural Patterns
GoF Design patterns I: Introduction + Structural Patterns
 
MLOps for production-level machine learning
MLOps for production-level machine learningMLOps for production-level machine learning
MLOps for production-level machine learning
 
What every Eclipse developer should know about EMF
What every Eclipse developer should know about EMFWhat every Eclipse developer should know about EMF
What every Eclipse developer should know about EMF
 
Multidiscipline Collaboration On A Single Central File
Multidiscipline Collaboration On A Single Central FileMultidiscipline Collaboration On A Single Central File
Multidiscipline Collaboration On A Single Central File
 
Software Engineering Primer
Software Engineering PrimerSoftware Engineering Primer
Software Engineering Primer
 
The Role of the Architect
The Role of the ArchitectThe Role of the Architect
The Role of the Architect
 

Dernier

Right Money Management App For Your Financial Goals
Right Money Management App For Your Financial GoalsRight Money Management App For Your Financial Goals
Right Money Management App For Your Financial GoalsJhone kinadey
 
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online ☂️
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online  ☂️CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online  ☂️
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online ☂️anilsa9823
 
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdfLearn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdfkalichargn70th171
 
TECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providerTECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providermohitmore19
 
Software Quality Assurance Interview Questions
Software Quality Assurance Interview QuestionsSoftware Quality Assurance Interview Questions
Software Quality Assurance Interview QuestionsArshad QA
 
How To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.jsHow To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.jsAndolasoft Inc
 
HR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comHR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comFatema Valibhai
 
SyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AI
SyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AISyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AI
SyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AIABDERRAOUF MEHENNI
 
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time ApplicationsUnveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time ApplicationsAlberto González Trastoy
 
CALL ON ➥8923113531 🔝Call Girls Badshah Nagar Lucknow best Female service
CALL ON ➥8923113531 🔝Call Girls Badshah Nagar Lucknow best Female serviceCALL ON ➥8923113531 🔝Call Girls Badshah Nagar Lucknow best Female service
CALL ON ➥8923113531 🔝Call Girls Badshah Nagar Lucknow best Female serviceanilsa9823
 
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️Delhi Call girls
 
Hand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptxHand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptxbodapatigopi8531
 
Unlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language ModelsUnlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language Modelsaagamshah0812
 
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...ICS
 
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...panagenda
 
5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdf5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdfWave PLM
 
Diamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with PrecisionDiamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with PrecisionSolGuruz
 
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...MyIntelliSource, Inc.
 
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...kellynguyen01
 

Dernier (20)

Right Money Management App For Your Financial Goals
Right Money Management App For Your Financial GoalsRight Money Management App For Your Financial Goals
Right Money Management App For Your Financial Goals
 
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online ☂️
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online  ☂️CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online  ☂️
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online ☂️
 
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdfLearn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
 
TECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providerTECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service provider
 
Software Quality Assurance Interview Questions
Software Quality Assurance Interview QuestionsSoftware Quality Assurance Interview Questions
Software Quality Assurance Interview Questions
 
How To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.jsHow To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.js
 
HR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comHR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.com
 
SyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AI
SyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AISyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AI
SyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AI
 
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time ApplicationsUnveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
 
CALL ON ➥8923113531 🔝Call Girls Badshah Nagar Lucknow best Female service
CALL ON ➥8923113531 🔝Call Girls Badshah Nagar Lucknow best Female serviceCALL ON ➥8923113531 🔝Call Girls Badshah Nagar Lucknow best Female service
CALL ON ➥8923113531 🔝Call Girls Badshah Nagar Lucknow best Female service
 
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
 
Hand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptxHand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptx
 
Unlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language ModelsUnlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language Models
 
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
 
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
 
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICECHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
 
5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdf5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdf
 
Diamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with PrecisionDiamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with Precision
 
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
 
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
 

Collaborative modeling with sirius

  • 1. From Model Fragments to Shared Repository Pierre-Charles David, Obeo Collaborative Modeling with Sirius
  • 2. Collaborative modeling: what is the challenge? ● Multiple users, single (authoritative) version of the model ● Need to coordinate concurrent changes ○ how and when do I know what the others are doing? ○ how and when do I publish my own part of the work? ○ how to deal with conflicting changes? ● Two possible solutions (in this talk) ○ model fragmentation and SCM tools ○ shared model repository and real-time collaboration
  • 4. Collaboration with model fragments Central SCM server Work locally Work locally Alex Bob 1. Fetch files 2. Work locally 3. Fetch more recent files 4. Detect conflicts 5. Merge 6. Repeat 7. … 8. Publish local modifications 9. Repeat Fetch & Merge Fetch & Merge Publish Publish
  • 6. Reducing conflict occurrences with model fragments ● Fragmentation for isolation ○ semantic models ○ Sirius representations (aird) ● File-level locks ○ if supported by SCM Organizer Alex Bob SCM
  • 8. EMF Compare: comparing and merging models ● Compare models, detect conflicts and resolve them semi-graphically ● May require (programmatic) customization to give its full potential ○ meta-model specific matching, logical conflicts and merge rules ● UI may not be adapted to all end users
  • 9. EMF Compare: comparing and merging diagrams ● EMF Compare can also compare and merge on diagrams ○ below, the Sirius-based “UML Designer” ● Less mature than traditional compare, not yet well integrated with Sirius
  • 10. Collaborating with model fragments: summary ● Advantages ○ Can greatly reduces the risk of conflicts ○ Only coarse-grained locking ○ Some tooling exists to help handling the remaining cases of conflict ● Drawbacks ○ Assumes well defined structure designed in advance ○ May require changes in the metamodel to allow for good isolation ○ Assumes technical support for merge processes ■ may require custom tooling and/or customization of tools like EMF Compare ● Suited for ○ Meta model that can be naturally fragmented ○ Low number of relatively technical users in well organized teams
  • 11. Collaborating using a shared model repository
  • 12. What would it take to avoid conflicts completely? ● Pessimistic locking (automatic and/or preventive) ○ Fine-grained (element-based) locking ○ Automatic/implicit locks on edition ○ Explicit locking to “reserve” whole subtrees for long-term work ● Automatic change propagation on shared repository and teammates ○ On saving, “push” (commit) local changes automatically ■ Immediately incorporated on all connected users ■ Avoid the local state of different users to diverge too much ○ Automatically release implicit locks on saving ■ Avoid blocking others users for too long by default ○ Keep explicit locks on saving (need explicit unlock) ■ Allow exclusive access to part of the model for longer changes
  • 13. Obeo Designer Team: client/server architecture Shared model repository Alex Bob 1. Connect 2. Work locally 3. Acquire locks 4. See remote changes as they are published 5. Save to publish 6. Release explicit locks
  • 14. Collaboration with shared repository DEMO
  • 15. Obeo Designer Team: based on Sirius and CDO Eclipse and EMF Sirius CDO Sirius/CDO integration locking strategies change propagation Sirius representations integration import/export wizards ... Obeo Designer Team
  • 16. Collaborating with Obeo Designer Team: summary ● Advantages: users can focus on business tasks ○ No time lost splitting model ○ No time lost managing conflicts ○ Real time integration of other users’ modifications ● Drawbacks ○ Implicit locking may be overly pessimistic sometimes ○ Not open source ● Suited for ○ Teams of 10-15 users ○ Business domain specialists ○ Co-located (on the same LAN)
  • 17. Combining the best of both worlds Bordeaux Toulouse Central SCM (Paris)
  • 18. Conclusion ● Two approaches presented, with different trade-offs ● File-based model fragmentation ○ more adapted to technical users ○ requires some upfront work ○ implementable with only open source tools ● Real-time collaboration with shared repository ○ more adapted to business-oriented users ○ mostly automatic and real-time ○ requires proprietary tool (Obeo Designer Team) ● Both approaches can be combined in large projects
  • 19. Thank you! Sirius: http://eclipse.org/sirius EMF Compare: https://eclipse.org/emf/compare/ Obeo Designer: http://www.obeodesigner.com/