Skip to main content
Jump to: navigation, search

Papyrus/Oxygen Work Description/Refactoring/PerformancesImprovements

< Papyrus‎ | Oxygen Work Description
Revision as of 05:34, 2 December 2016 by (Talk | contribs) (Use cases:)

Thanks to their experience in modeling performance and their expertise on the VIATRA technology, IncQuery Labs contributes to the Oxygen release of Papyrus by:

  • Providing means to assess and monitor some performance critical use cases in Papyrus.
  • Improving the performances on some of these cases.

Use cases:

  1. Open a model (with many diagram already opened)
  2. Navigation in model explorer (Especially with stereotype with custom icons)
  3. Drop an element from the palette (Especially with a custom css)
  4. Drop an element from the model explorer (Especially with a custom css)
  5. Change the selection with the property view open
  6. Flat View in Select type widget
    • Create a model with many elements
    • Create a class with a property
    • Select the property and set the type in the property view
    • In the popup widget there is a tab named Flat (this tab presents all elements from the model and can be slow in big models)
  7. Create View dialog
    • Open a model with many model elements
    • In the Welcome page of the Papyrus editor, click on the Create View button
    • In case of large models, simply opening the dialog takes minutes or even more
  8. Filter in Model explorer
    • Open a model with many model elements
    • In the model explorer use the search/filter box
    • In case of large models, the model tree takes some times to refresh


Task 1.

Setting up a continuous scalability evaluation testbed for Papyrus. This testbed will be based on RcpTT tests and Hudson jobs

Its goal is to:

  1. highlight future regressions
  2. validate future enhancements

Task 2.

Identifying and sharing existing models (UML, notation, css, profile) related to performance bottlenecks in Papyrus. The Papyrus community is expected to share some models, but many performance issues are only present in big proprietary models (Obfuscation will probably be required)

Its goal is to:

  1. share a library of models that can be used for any kind of testing in Papyrus

Task 3.

Integrate a Papyrus specific indexing module based on the VIATRA base-indexer and query engine to improve model navigation and derived feature usage. Based on the 2 previous tasks, there will be an evaluation before and after the model integration to check performance improvements.


To be completed:

  • links to shared models
  • links to RcpTT tests and Hudson performance jobs

Back to the top