Monday, September 24, 2012

Collaborative Modeling

The classical approach to collaborate on the same model is usually to split the model into several files managed with a source control system such as SVN.

There are two major problems to this approach:

  • lock granularity: it is not reasonable to create a file by model element. So, each time you need to modify an object, you lock all the other model elements contained in the same file.
  • real-time updates: when a modification occurs, the other users have to manually reload the files which contain the changes

These problems have been well described by Alex Lagarde in this post: Live Collaboration with Obeo Designer 6

The solution provided with Obeo Designer consists in a CDO-based repository which contains shared models and their representations (diagrams, tables and trees).

Each time a user changes the property of a model element, only this element is locked. The author of the modification sees a green padlock on the element, while other users instantly see a red padlock on each representation where the same element is visible.

On the example below, the family Smith and the man Paul are locked.

Once the modification is saved, the changes are automaticaly reflected to the other users.

I have created this video to illustrate the collaboration mechanism.

No comments:

Post a Comment