eclipse-syson / syson

SysON: web-based graphical modelers for SysMLv2. Please visit https://mbse-syson.org and contact Obeo https://www.obeosoft.com/en/contact for more details!
https://mbse-syson.org
Eclipse Public License 2.0
94 stars 24 forks source link

Handle Perform action concept in diagrams #439

Closed jerome-obeo closed 3 months ago

jerome-obeo commented 3 months ago

Description

The Perform action is a referential ActionUsage referencing a performed action. This can be done explicitly or not. If the performed action is explicitly specified the keyword perform alone is used in the textual representation. Whereas the keywords perform action are used to denote that the performed action is this action itself. Even if the perform action in one single SysML concept, we manage it differently whenever the the reference is explicit or not.

perform element

This PerformActionUsage explicitly references another action usage which should be specified with a dedicated tool.

Example:

        action a1 { ... }
...
        perform a1;

This perform action has the following graphical representation:

image

The content of the action itself is not displayed inside the perform action element, since it is only a reference to the actual action usage.

perform action element

In this case, the performed action is not another action, it is the action itself. Therefore, we don't need to specify it.

Example:

        perform action a1 {
                   action subAction;
                }

This perform action has the following graphical representation:

image

This perform action should be displayed with a regular action with all contained elements.

Semantic representation

Both different perform actions are stored as a PerformActionUsage element. In case the perform action references another action this element has a ReferenceSubsetting relationship with the referencedFeature set properly to point to the other action usage (directly or not).