BPMN 2 workflow patterns
In many areas, patterns are used to codify best practices. A pattern describes a solution for a problem. Originally, patterns were used in architecture to describe architectural design ideas. In software engineering, patterns are used to describe typical software design solutions, for example like client-server architecture.
In business process management, the so called workflow patterns by Prof. van der Aalst and friends exist. In their original description, they described the most important 20 workflow constructs like loops, decisions, and sequence flows. Later, Prof. van der Aalst and other research fellows extended the list of patterns and revised the initial description (see workflow pattern homepage). Still, the original 20 workflow patterns are valid and a useful tool to learn a modelling language such as BPMN.
Attached to this post, you find my ARIS Express model showing how to do the 20 workflow patterns in BPMN 2. Please consider this to be work in progress. From a theoretical point of view, some of the patterns are not supported by BPMN, but if possible, I tried to come up with a work-around. Please comment this post if you think my way of modelling the 20 workflow patterns in BPMN 2 is incorrect or if you know alternative ways of doing it.