General issues
= Questions. Many aspects of the description above are not clear, make sure to ask as the inefficiencies are often in tiny details
= Process Naming: give a meaningful name to the processes and the file. A name such as "ass2" is not informative. remember that you will not be the only person reading what you do, and once you start to model lots of processes it is easy to get confused.
= Naming: do give meaningful names to most or all nodes in the diagrams. for sure give it to all task and event nodes, and to all end nodes (including none end nodes).
Pools and participants
Give a good hard thinking at which are the different pools here. The GC, PC chairs, PC members, and CMS may belong to different organizations, so it is appropriate here to consider them as separate pools.
This means that the communication among them happens via message flows.
Start and end
This was one of the biggest source of confusions. let's see some common design choices and discuss them.
Here we see a process with a start node but no end node. In general it is good practice to put them, and if we have start nodes we must also add end nodes
A possible way to do this is shown in the figure below
This is another example, where we see a message start node, but then also a task with no input flow. Now we do not know when the various threads start. If you use start nodes, stick to start nodes, and tokens will flow from there. do not use uncontrolled activities if you use start nodes.
Dangling nodes
In many diagrams there are dangling nodes. In particular there are many dangling event nodes.
Here are some examples:
In general, only start nodes should have no incoming flows.
Message flows vs sequence flows
Between tasks or nodes within the same pool, use the sequence flow (solid arrow). As a general rule, use communication between message nodes between different pools, and use message flows between them, not sequence flows.
Parallel or Sequential
for more, stay tuned