|Performance problem of synchronization from Xtext to Sirius [message #1770251]
||Wed, 09 August 2017 11:38
| mind calm
Registered: July 2017
We have an idea to integrate Xtext with Sirius, and these two editors use same model instance (infact it is LazylinkingResource instance) in memory . Currently, we met a performance problem, it is after i editing model in Xtext editor, i switch to Sirius editor, it take long time to show the diagram.
What we did at Sirius editor switch is: in DDiagramEditorImpl.setFocus(), we excute a RefreshRepresentationsCommand. The result is this function costs long time.
As my debug and analysis, i found not only the changed elements, but also the remain elements do refresh operations in the process.
For example, my model contains A B C three elements, and the diagram shows three elements too. If i add a element D in Xtext editor and switch to Sirius editor, not only D will be refreshed on Sirius editor, but also the A B C will be refreshed. The performance will be more worse if the scale of model get larger.
My question is:
Is there any method to do high efficency refresh or incremental refresh in sirius?
by Keep Mind Calm
|Re: Performance problem of synchronization from Xtext to Sirius [message #1770680 is a reply to message #1770251]
||Wed, 16 August 2017 08:17
|| Maxime Porhel
Registered: July 2009
Location: Nantes, France
You might take a look to Akos Horvath's talk presented during SiriusCon 2016:
- slides: https://www.slideshare.net/kosHorvth2/v-for-visualization-viatra-finally-goes-graphical-thanks-to-sirius
V for Visualization in Viatra: The Good-old Integration of Graphical and Textual Representations
As one of the enabler technology for many model-based tools (e.g., Capella, IncA, EMDW etc.) within the Eclipse platform and beyond. Viatra the unique reactive and event-driven model transformation platform has finally broken the barriers of its Xtext based textual specification language and now provides a full featured visual representation of its query definitions using Sirius.
Our talk focuses on the experience we have gained during the development of two different approaches for our visual representation. The first approach followed the traditional rule of thumb to have a separate Ecore metamodel specifically designed for the graphical representation while the second one focused on to reuse the Xtext-based metamodel and specify the editor directly on top of it. Within the talk, we aim to provide our answers and guidelines for the following questions:
What level of reusability is possible from an Xtext based tooling for a Sirius based visualization, especially for model validation?
Which parts of the Sirius editor specification become more complicated when using an Xtext based metamodel (e.g., model manipulation operations, navigation, traceability)?
How to ensure the semantical equivalence of a textual and a graphical representation?
How to handle the different editing strategies of Sirius and Xtext (transactional editing domains compared to complete reparsing)?
The result presented in this talk is the outcome of a cooperation between IncQuery Labs and Thales.
Maxime Porhel - Obeo
Need training or professional services for Sirius?
[Updated on: Wed, 16 August 2017 08:19]
Report message to a moderator
Powered by FUDForum
. Page generated in 0.02282 seconds