Introduction to BPMN Processes

Process defines the sequence and rules of flow objects:

Events:  something that happens during the process

Activities: work Performed in the process

Gateways:  decision points to split or merge the flow

Flow:  navigation tools between Nodes (Events, Activities and Gateways).

Got Mail2

Here is the sequence of execution

1

start Event

BPMN_start_event-47x47 (1) This is the starting point of the Process
2 Get Mail Message BPMN_task_activity-100x75 Why: the sequence flow goes from Start Event to here

It is a user task, so a user need to complete this task

3 Gateway BPMN_exclusive_gateway-59x59 Why: the sequence flow again brings us to this point

This is a decision (XOR) gateway, it will invoke either branch but never both, based on the logic determined earlier:

If the email is Junk it will go to Bin Message

If the email is Not Junk it will go to Read Message 

4 Bin Message BPMN_task_activity-100x75 A User Task
5 Read Message BPMN_task_activity-100x75 Another Task
6 Gateway BPMN_exclusive_gateway-59x59 This Gateway will wait for either Task to complete before proceeding
7 End Event BPMN_end_event-50x51 This will End the Process

Complete listing of Support BPMN Objects

Notation Description
Start Event Start point for the process. Every Process must have at least one Start Event.
Intermediate Event In the middle of the process
End Event At end of Process
Normal Event

BPMN_start_event-47x47

Timer Event

BPMN_timer-47x47

The Event goes in a wait state till the timer (delay or schedule) condition is met, then the Event is executed and continues the flow.

Catch Message Event

message

The Event goes in a wait state till the exepcted Message is received then the Event is executed and continues the flow.

Throw Message Event

event throw message

Catch Signal Event

BPMN_signal-47x47 (1)

The Event goes in a wait state till the exepcted Signal is received then the Event is executed and continues the flow.

Throw  Signal Event

event throw signal

User Task

BPMN User Task

A User Task is a typical “workflow” Task where a human performer performs the Task with the assistance of a software application and is scheduled through a task list manager of some sort. Typically it produces a form to capture user input.

Script Task

BPMN ScriptTask

Service Task

BPMN Service Task

Receive Task

BPMN Receive Task

A Receive Task is a simple Task that is designed to wait for a Message to arrive from an external Participant (relative to the Process). Once the Message has been received, the Task is completed.
Send Task

BPMN SendTask

A Send Task is a simple Task that is designed to send a Message to an external Participant (relative to the Process). Once the Message has been sent, the Task is completed.
 Inbound (Converging)  Outbound (Diverging)
Parallel Gateway(AND)BPMN_parallel_gateway-59x59 It waits for all active incoming branches to complete. all outgoing branches are activated simultaneously.
Exclusive Gateway (XOR)

BPMN_exclusive_gateway-59x59

it waits for one incoming branch to complete Only one of the outgoing branches based on conditions.
 Inclusive Gatewy (OR)

BPMN_inclusive_gateway-59x59

It waits for all active incoming branches to complete.  One or more branches are activated based on branching conditions.
 Event-Based Gateway

BPMN_event_based_gateway-59x59

 Event based gateway with eventsWaits for the any event to take place before proceeding, then cancels other events.

Next: Model the process