Skip to main content
Jump to: navigation, search

Papyrus/Oxygen.3 Work Description

< Papyrus
Revision as of 10:46, 6 March 2018 by (Talk | contribs) (Call for contributions)

Official Version Papyrus 3.3.0

All bugs may be found in the tracker Papyrus 3.3.0

Work added in Oxygen 3


  • Layers Development and adaptation of the Layer tool for the diagrams.

Profile updates

Model Explorer

  • Bug 484648: Link with Editor does not work with ModelExplorer customized through EMF Facets
    • Note: Follow-up ticket Bug 528312 targets only Photon

Sequence Diagram

Bugs about infinite loop and problems about movement of elements have been fixed.

Work in progress

  • Bug 529945: [Performance] Creation of new element is not done in a constant time
    • We create a small class to get easily a benchmark of the performance to create 5000 elements in the same container.
      • The best way to create 5000 Classes is to use the UML Factory. (constant time)
      • The best way to create 5000 Classes stereotyped SysML Blocks is to use the UML Factory, then the stereotype application for Block (using its factory), then adding ourself the stereotype application to the resource (constant time)
      • Using the native UML API or the Papyrus Edit Service is less efficient and not in constant time, so adding a stereotype application depends on the model's size (we filled the UML bug Bug 528925: 528925)
      • For UML element creation, the Papyrus Edit Service is less efficient than the UML factory itself, and not in constant time. We will continue to investigate on it.
      • benchmarks after applying and testing some patches:
  1. (UML, not yet merged)
  2. (UML, not yet merged)
  3. (SysML 1.4, merged)
  4. (Papyrus, not yet merged)
Before patches Improving Stereotyped elements naming + SysML 1.4 patches + UML2 patches All patches
5000 blocks with service edit 206 800 ms 177 968ms 18 090ms 18 158ms (no impact using service edit?)
5000 classes + apply stereotype 81 616 N/A N/A 1058ms 915ms

We will continue this work, reimplementing the Papyrus method NamedElementUtil.computeDefaultNameWithIncrementFromBase.

Back to the top