Skip to content

CIF events are removed even when referenced by multiple Petri net transitions #670

@AndreaPuffo

Description

@AndreaPuffo

In #645 we have added SynthesisChainTracking#updateConcreteDecisionMergeNodesAndEdges, a method to remove Petri net transitions and CIF events that are related to removed decision or merge nodes. These decision and merge nodes are removed since they are "duplicates" nodes, arising from the UML-to-CIF translation of a concrete activity.

While we can always remove the Petri net transitions, we need to filter out some CIF events. Multiple Petri net transitions can refer to the same CIF events (these transitions have an extra /1, /2, .. in their name). If one of these multiple transitions is not to be removed, neither should be the corresponding CIF event. Currently, we remove all CIF events, leaving some Petri net transitions orphans of the CIF event they are referencing.

Attached is a minimal (non-)working example of this.

VS_checkLoop_cifEventBug.zip

Metadata

Metadata

Assignees

Labels

bugSomething isn't workingsynthesisImprovements to synthesis capabilities

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions