Does anyone have a good explanation as to the difference between send/replace tasks and message events and guidance as to when to use one notation over another?
6 Replies
-
Well, you would use a send event if you intend to send something out. In contrast, if you are waiting for input from someone else, it is a receiving event.
-
I actually meant the difference between representing something as a task or as an event (e.g. send task and throwing message event). There seems to be two ways of representing the same (or at least similar) action.
-
Just realised that in my initial post I used the term send/replace when I should have written send/receive.
-
You might want to have a look at the discussion here to get some more information about message tasks and events. In general the purpose of events in BPMN is to control the process flow while all activities (e.g. sending and receiving) happen in tasks.
However, the notation is not only black and white, but allows you to show some creativity :-)
-
I would like to extend this question into EPC conventions.
Function-send message
event-message sent
function-receive message (?)
event -message received (?)
I don't like the idea of modeling 'receive message' since it is not a deliberate task, but I need to show a handover. If I fail to receive message is it my fault and should I fix it, or should the sender? How do I know if I have not received a message to launch a correction loop?
A question around this is responsibility, where does the division of responsibilities lie? The answer is "It depends" (there Roland you don't have to say it now).
The following 3 formats are all currently in use, and since it is 3 different formats there can be at least 3 interpretations.
A) send message->message sent->receive message->message received->do something
B) send message->message sent->do something
C) send message->message received->do something
Any thoughts or comments on this would be appreciated
donald
-
I like B as the preferred way to model your example, except in situations where the receiving activity is crucial (e.g. in handling offers within public sector entities; A). C is wrong in EPC method since an event is describing a status as the result of an activity (sending /= receiving).
In EPC you show the handover by using different roles/org units attached to the functions. This relationship will be evaluated in the org change report that shows the number of hand overs in one process model (as percentage; less is better of course).
This is different in BPMN because there an event is "something that happens" and therefore a receiving event is perfectly fine to use. Most likely you will reuse a send event in BPMN as a start or intermediate event in another process (occurence copy); the catch/throw visualization (empty/filled envelope) shows the direction without the need to use the words "send" or "receive" as you would do in an EPC.