Papyrus Banner

This page describes the work that will be performed on Papyrus Mars to support synchronization. There are at least 2 kind of synchronization to implement in Papyrus:

Canonical mode, a.k.a. diagram synchronized on semantic model

Bugzilla reference:

This mode has already been partially implemented in Papyrus Luna, but never deployed as there were not as many tests as expected to be sure the feature would not slow down or even corrupt the tool. The work on canonical model could be based on that first implementation. see org.eclipse.papyrus\plugins\uml\diagram\org.eclipse.papyrus.uml.diagram.synchronizeview for that initial implementation There is also an implementation of this framework in the tables, it could be interesting to see how it is implemented and how the 2 synchronizations mechanism could rely on the same framework.

Here are some requirements, to be developed more extensively (taken from model in plugin org.eclipse.papyrus\plugins\uml\diagram\org.eclipse.papyrus.uml.diagram.synchronizeview)

Automated tests for view synchronization are added to the in-progress Papyrus Diagram Tests Generation Framework:

Demo Videos

Diagram synchronized on another diagram

Bugzilla reference:

Requirements

The requirements for diagram-to-diagram synchronization are primarily driven by UML-RT use cases such as state machine inheritance:

Demo Videos

Prototype

An initial prototype is posted to Gerrit: Change 36747. This comprises

Basic use cases in the prototype work like so:

  1. Create two Capsule Diagrams in a package
  2. In each, right-click on the diagram surface and invoke the Synchronize context menu action
  3. On one of the diagrams, right-click on the diagram surface and invoke the Setup as sync master context menu action
  4. In the master diagram, create a Capsule.
  5. In the master diagram, create another Capsule.
  6. In the master diagram, create an association between the two capsules.
  7. In the master diagram, move one of the capsules and resize it.
  8. Undo.
  9. In the other diagram (not master), move a capsule.

To-do tasks

Several instances of the same diagram