Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...
Exploring the Future of Eclipse Modeling: Web and Semantic Collaboration
1. Semantic Collaboration for Eclipse Modeling
Budapest University of Technology and Economics
Department of Measurement and Information Systems
Exploring the future of Eclipse Modeling:
Semantic Collaboration
Gábor Bergmann1,2, Csaba Debreceni1,2,
István Ráth1,3 and Dániel Varró1,2
1 Budapest University of Technology and Economics
2 MTA-BME Lendület Research Group on Cyber-Physical Systems
3 IncQuery Labs Ltd.
2. Semantic Collaboration for Eclipse Modeling
Motivation
Growing interest in collaborative modeling
Difficult problem
o Allow a group of modeling users work together seamlessly
• Not block each other
• But minimize the impact of conflicts
o On complex modeling scenarios (e.g. Systems Engineering)
• Logical hierarchies
• File structures
o While not necessarily seeing everything
• Internal policies
• External organizational boundaries (OEMS, subcontractors, ...)
3. Semantic Collaboration for Eclipse Modeling
What’s wrong today?
Offline team support for Modeling still has gaps
o Usability
o Scalability
o Rigidity
• Access control tied to file system structure through file-
centric legacy mechanisms (e.g. SVN ACLs, Git addons)
• Model re-fragmentation is not easy
Online collaboration (CDO, EMFStore) not always
a solution
o Requires (deep) modification of modeling tools
o “Exotic” infrastructure overhead (databases)
o Does not interplay well with file-centric processes
Challenge:
How to provide secure
access for collaboration,
while retaining
compatibility with
traditional VCS?
Access control
aspects are interleaved
with model
fragmentation policies
Access policy
changes are not easy
to follow through
(to say the least)
4. Semantic Collaboration for Eclipse Modeling
Fine-grained access control
o Additional access restrictions
• Complementing file-based solutions
– Works together with SVN/Git ACLs
• Filtering and obfuscation
o Grant separate permissions on each
• Object (class instance)
• Slot (attribute instance)
• Link (reference instance)
Our vision for access control for models
Challenge:
How to identify assets in
rule-based policy?
…rules may evaluate
the context of
the model element via
model queries
Challenge:
How to express policy
for so many assets?
…use access rules instead
of individual permission
assignment
assets
5. Semantic Collaboration for Eclipse Modeling
How model repositories work
M
V1 V2 Filtered views
Gold model
Synchronization
User A User B
Database
DB
transactions
In-memory
copies
CDO/EMFStore-
aware tool
6. Semantic Collaboration for Eclipse Modeling
Our approach
M
V1 V2
Filtered views
Gold model
Synchronization
User A User B
VCS gold
repo
VCS operations
(checkout,
commit, …)
Local files in
working copy Your standard
tool
Server-side bidirectional model
transformations (VIATRA)
• Integrated via VCS hooks
• Scales well to large models
• New ACL
• Extends existing ACLs
• Context-aware, based
on model queries
V1 V2
VCS front
repos
All standard VCS
features work out of
the box!
• Locking
• Model-aware
• History
• Compare/merge
8. Semantic Collaboration for Eclipse Modeling
Conclusions
New semantic collaborative modeling framework
o Semantic = ACL „understands” the contents of model files
o Distinguished paper at MODELS 2016: https://goo.gl/hYWLhb
SVN/Git
o Additional flexibility (fine-grained rule-based model-aware ACL)
o Security through server-side enforcement
o Without changing existing modeling and VCS tools
Online collaboration on the web
o RAP
o Future plans: Che, others (WMF? even CDO/EMFStore is possible)
We want to bring this to Eclipse, looking for interested parties
and contributors!
o Code, demos:
https://github.com/FTSRG/mondo-collab-framework
o Project proposal draft: http://goo.gl/ZndnQZ