Home - lengyela89/sirius-incremental-refresh GitHub Wiki

Welcome to the sirius-incremental-refresh wiki!

Overview

The aim of this tool is to modify the Sirius tool to be able to refresh representation incrementally. The simplified architecture of the tool is depicted below. Overview

As on the picture above can be seen, to incrementally maintain the opened representation (e.g. diagram), we have to incrementally maintain the sirius notation model. This model can be derived through model transformations from the semantic model and viewpoint specification model. As incremental transformation engine I used this one, which is built upon the VIATRA framework.

Limitation

The tool currently only supports

  • Node mapping
  • Container mapping
  • Bordered node mapping
  • Element-based edge mapping
  • Relation-based edge mapping.

In these cases for the Semantic Candidates Expression / Source Finder Expression / Target Finder Expression you have to use the VIATRA Query Language (for language details see here, for working example see CPS example's viewpoint specification model). As only the above-mentioned expressions are used currently by the incremental refresh, for the rest of the expression properties (label, size, etc.) the built-in languages (AQL, OCL, etc.) can be used.

In contrast with the Sirius' currently used solution, the modification of the diagram definition (viewpoint specification model) won't cause the refreshing of the opened representations, because it's not yet supported.