Have you already tried to work on the same model with your team members? Then, you probably faces the problem of accessing a coveted resource! And you rapidly came to the conclusion that one single file for a model is not scalable on active teams.
In this talk we will explain the two main solutions that you can adopt to collaborate on a model with Sirius: splitting your model into several resources or store your model into a shared repository.
Slides from the talk of the same name presented at SiriusCon 2015 (http://www.siriuscon.org/).
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
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
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)
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