There are different transition types in KIELER SyncCharts, which are "weak abortion", "strong abortion", or "normal termination". The "weak abortion" transition is represented as a simple black arrow. The "strong abortion" transition is represented as a black arrow with a little red circle at the start point. The "normal termination" transition has a little green triangle at the start point.
To add the transition types in Yakindu SCT Editor, we need the following steps:
Modify the Metamodel in org.yakindu.sct.model.sgraph/model/emf/sgraph.genmodel
Create an enumeration type "TransitionType".
Add the attribute "type" to the Transition Class.
And then generate the EMF Model Code.
Modify the State Figure in org.yakindu.sct.ui.editor/src/org/yakindu/sct/ui/editor/editor/figures/TransitionFigure.java
Modify the constructor
Add the methods createNormalTerminationDecoration() and createStrongAbortDecoration() to draw the different source decorators.
And then create a method refreshSourceDecoration() to refresh the source decorator, if the transition type is changed.
Modify the Transition Propertysheets in org.yakindu.sct.ui.editor/src/org/yakindu/sct/ui/editor/propertysheets/TransitionPropertySection.java
Add a transitionType ComboBox. The user can select between the different options: Weak Abort, Strong Abort, and Normal Termination.
Modify the Transition EditPart in org.yakindu.sct.ui.editor/src/org/yakindu/sct/ui/editor/editparts/TransitionEditPart.java
Add the following code lines in the method handleNotificationEvent() to update the source decorator when the user changes the Transition Type.