Skip to main content

Notice: this Wiki will be going read only early in 2024 and edits will no longer be possible. Please see: https://gitlab.eclipse.org/eclipsefdn/helpdesk/-/wikis/Wiki-shutdown-plan for the plan.

Jump to: navigation, search

Difference between revisions of "Papyrus/Mars Work Description/Improvments/Diagram synchronization support"

(Diagram synchronized on another diagram)
m (Diagram synchronized on another diagram)
Line 25: Line 25:
 
** synchronizing the children of a node in a diagram
 
** synchronizing the children of a node in a diagram
 
** synchronizing the location and size of a node in a diagram
 
** synchronizing the location and size of a node in a diagram
* an implementation of the framework for synchronization of UML-RT Capsules, re-using the common diagram sync pieces
+
* an implementation of the framework for synchronization of the size and position of UML-RT Capsules in the diagram of a capsule package, re-using the common diagram sync pieces
  
 
=== Several instances of the same diagram ===
 
=== Several instances of the same diagram ===
 
* Having several instances of the same diagram (Moka example)
 
* Having several instances of the same diagram (Moka example)

Revision as of 16:23, 20 February 2015

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:

  • diagram content synchronized on semantic model content, called canonical mode
  • diagram content synchronized on another diagram.

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

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)

  • The synchronization should be local to an element or for the whole diagram
  • The synchronization mechanism should alter the performances only in a reasonable way
  • The synchronization should take into account all features of Papyrus: drag'n'drop, copy and paste,
  • The synchonization should be linked to CSS framework (reuse canonical style from GMF ?)
  • The synchronization should share its framework with the table framework

Diagram synchronized on another diagram

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

  • a generic framework for synchronization of source objects to target objects, including
    • a model of source/target synchronization pairs
    • collection of synchronizations on the same source object
    • orchestration of synchronization updates based on an abstraction of change messages
  • an implementation of the framework in the Papyrus Diagram Common plug-in for common scenarios such as
    • synchronizing the children of a node in a diagram
    • synchronizing the location and size of a node in a diagram
  • an implementation of the framework for synchronization of the size and position of UML-RT Capsules in the diagram of a capsule package, re-using the common diagram sync pieces

Several instances of the same diagram

  • Having several instances of the same diagram (Moka example)

Back to the top