Hi,
while working with the BPMN library I have noticed that there seems to be a small mistake with the Triggers in the GraphRep of the BPMN Start Event. In the AttrRep the Triggers "Error" and "Compensation" are only available for "
Event Sub-Process (interrupting)", but in the GraphRep the "big IF" (the one with the many ANDs and ORs) checks those two triggers only for "
Event Sub-Process (non-interrupting)". This in turn leads to strange behaviour in the visualization of the Start Event (i.e. in some cases when multiple triggers are selected the notation does not use the "multiple-triger" pentagon). The simplest solution for this to switch the "
Event Sub-Process (interrupting)" and the "
Event Sub-Process (non-interrupting)" in the "big IF".
Also if anybody is interested, I tried to make the "big IF" a bit more readable in the Library that I am working on and this is what I am using there:
1# Count how many of the triggers are set (top-level, non-interrupting
2and interrupting)
3SET topcnt:(cond(sMes = "Yes", 1, 0))
4SET topcnt:(cond(sTim = "Yes", topcnt+1, topcnt))
5SET topcnt:(cond(sCon = "Yes", topcnt+1, topcnt))
6SET topcnt:(cond(sSig = "Yes", topcnt+1, topcnt))
7SET nonintercnt:(cond(sEsc = "Yes", topcnt+1, topcnt))
8SET intercnt:(cond(sErr = "Yes", nonintercnt+1, nonintercnt))
9SET intercnt:(cond(sCom = "Yes", intercnt+1, intercnt))
10
11IF (((sTyp = "Top-level") AND (topcnt > 1)) OR
12 ((sTyp = "Event Sub-Process (non-interrupting)") AND (nonintercnt >
131)) OR
14 ((sTyp = "Event Sub-Process (interrupting)") AND (intercnt > 1)))
I personaly find this version of the condition more readable. Also the same thing (the SETs which count the selected triggers) works in the AttrRep to enable the "Parallel" attribute.