The spec does not explicitly explain the apparent contradiction of this statement with the prohibition against message flow originating from an intermediate event. After ACME generates a “Sell” signal, the broker notifies the investor to sell her ACME stock.Īn intermediate message event within normal flow can be used to send a message, according to table 9.8 in section 9.3.4 of the spec. After ACME generates a “Buy” signal, the broker calls the client and suggests that she buy shares of ACME. In the corrected diagram example, we see the broker’s process as well as the investor’s process. To demonstrate messages being sent from the broker to the investor (for the process diagrammed incorrectly above), we would use the following diagram. All message flow travels from one pool to another. What this means is that an intermediate message event can not send a message to a participant in a different pool. A new diagram depicting the proper way to model the same business process has been added.]īPMN intermediate message events can be used to send messages, but they can not be the source of message flow because no intermediate events can be the source of message flow.The original text associated with that diagram has been replaced with text explaining the error.The original diagram has been replaced with one that is marked up to show the error.However, this is not supported, per section 8.4.2 of the 1.0 version of the spec. [Update: Previously, there was a section explaining how intermediate message events can be used to send messages, with an example showing how message flow is originated from the intermediate message event. If the message is never received, the flow will never finish.
![if message is received sequence diagram if message is received sequence diagram](https://i.pinimg.com/originals/c3/f8/e7/c3f8e7a2b073c621f3e358266abc8d87.jpg)
This BPMN example shows an intermediate message event that is an element of the sequence flow. After the message has been received, the Investor’s process can continue, but it is hanging in limbo until then. The two key takeaways are that the message intermediate event is a “step” – the equivalent of “Receive Broker Suggestion”, and that the Investor’s process waits until it receives notification from the broker in the form of a message. The investor then sells the stock and the end of the process is reached. The investor’s process then waits until another message is received from the broker, suggesting sale of the stock. The broker (who’s internal process is not defined, using what is called a “black box swim pool”, sends a message which is received by the investor, initiating the purchase of ACME stock. In the following BPMN example, a message start event initiates a process, which will wait until it receives another message before being completed. Or a message can come from or be received by a message intermediate event within the sequence flow of a process. Communication can be achieved with message flow objects from an activity in one pool to an activity in another pool. We have a link to the official version of the spec in our introductory post (we will update that link if and when the spec changes).īusiness process modeling is about a lot more than showing a sequence of steps and decisions – it is also about showing communication.
![if message is received sequence diagram if message is received sequence diagram](https://i.stack.imgur.com/tECFk.png)
This common convention allows people who are familiar with modeling, but new to a project to avoid learning a new diagramming language on each project or for each client. The BPMN specification is designed to establish a common language and convention for creating process diagrams. The diagrams can also help uncover requirements that might be overlooked without diagramming the processes. These diagrams help identify the scope of a software project. Business analysts are often required to document as-is processes and to-be processes. We presented an introduction to BPMN diagrams almost a month ago. See how to use message intermediate events in a sequence flow. There are two ways to use the message intermediate event, as an element in the sequence flow, or as an attachment to the boundary of an activity for exception processing. One of the 9 intermediate events in BPMN is the message intermediate event.