Bug 508754 - [Tooling] Add support for toggling transition kind
Summary: [Tooling] Add support for toggling transition kind
Status: NEW
Alias: None
Product: Papyrus-rt
Classification: Modeling
Component: tool (show other bugs)
Version: 0.8.0   Edit
Hardware: PC Windows 7
: P3 normal
Target Milestone: Future   Edit
Assignee: Project Inbox CLA
QA Contact:
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2016-12-06 10:31 EST by Peter Cigehn CLA
Modified: 2017-02-07 04:25 EST (History)
2 users (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Peter Cigehn CLA 2016-12-06 10:31:31 EST
Currently a limitation have been introduced due to the lack of support, where you cannot toggle the transition kind using the radio buttons in the properties view of a transition, see Bug 494291.

It should however be added support for actually toggling the transition kind to ease the editing of state machines, and making the corresponding changes in both the semantic model and visualization of the state machine diagrams. 

The following cases should be supported:

External (both self and non-self) -> Internal
External (only self) -> Local

Internal -> External
Internal -> Local

Local (both self and non-self) -> Internal
Local (only self) -> External

The following cases needs to be explicitly prohibited:

External (non-self) -> Local
Local (non-self) -> External

What needs to be considered (apart from changing the kind property of the transition) is to also ensure the correct ownership of the transition.

An external transition is always owned by the region of the parent state/state-machine, i.e. "on the outside", whereas an internal/local transition always is owned by the region of the composite state, i.e. "on the inside". So when toggling between external to/from internal/local the ownership of the transition needs to be ensured accordingly, and it needs to be shown in the diagram "on the outside", i.e. the diagram of the parent state/state-machine or "on the inside", i.e. the diagram of the composite state, accordingly as well.
Comment 1 Peter Cigehn CLA 2016-12-06 10:43:17 EST
To clarify: The same ruling regarding when to create additional entry and exit points as identified in Bug 494284 is of course applicable in these toggling scenarios. Also the aspects when creating an internal transition with respect to the creating a region and making a simple state into a composite state as identified in Bug 494287 is of course also applicable for the case when changing to an internal transition.
Comment 2 Peter Cigehn CLA 2017-02-07 04:25:43 EST
Further clarification: To align with the behavior of visualizing entry and exit points on the outside vs. the inside of a composite state, as described in Bug 494284 Comment 14, the toggling to a local self-transition should ensure that the corresponding entry and exit points shall not be shown on the outside of the composite state.