In general, a pattern describes a solution for a recurring problem. Patterns are commonly used in architecture as a formal way of documenting a solution to a design problem in a particular field of expertise. The idea of a pattern was introduced by the architect Christopher Alexander and has been adapted for various other disciplines, including software engineering.
In software engineering, a design pattern is a general reusable solution to a commonly occurring problem within a given context in software design. A design pattern is not a finished design that can be transformed directly into source or machine code. It is a description or template for how to solve a problem that can be used in many different situations.
In this paper, Gregor Polančič explores the different types of workflow patterns that can be used in architecture whilst using the industry standard BPMN as the modeling notation.