In a BPMN 2.0 collaboration model, when do I use message events between processes in different pools to describe notifications? I've observed that in many models sequential activities across pools are connected directly, without any intermediate throw/catch message event - is that a correct simplification?
I'd assume that usually any transition from an activity A in one pool to an activity B in another pool would incur a messaging event. However hardly anyone does it like this. How come?
Additionally, when people do use message events they use only the 'catch' instance on the receiver side - where's the 'throw' side? A message requires a sender as well as a receiver, doesn't it? Look at the many example BPMN diagrams on this site - you'll hardly find any message event.
Thanks in advance for the clarification!
Roland Woldt on
Frank,
You are absolutely correct when you are using messages between pools (which most likely represent other processes) you have to use message flows. ARIS will not allow you to create a regular, non-dashed connection between pools. According to the spec, you can model multiple "flavors" of messages:
Semantically it is also the same if you have a construct like "function > message event" or "function > send function" - the later only makes it more obvious that someone does something and sending is an activity. Remember, events are no activities, but only "something that happens" - the activity is always in the function.
It is also your choice if you want to include a message symbol (envelope) or not or if you want to add a connection description or not, even though I recommend that you find a standard modeling style in your project, so that the models are visually comparable.
Please have a look at the graphic below for some examples of message flows.