A workflow (Yu and Buyya 2005) is an ordered sequence of steps applied to a set of inputs (parameters and data) and producing some outputs. The steps can be part of a single application or may use several separate applications.
Workflows are often represented by graphs where nodes represent the steps, and edges the connectors between them, see Fig.
1. Most workflow management systems only allow the definition of a workflow as a directed acyclic graph. However, some can also handle loops or conditional execution to support iteration or event-driven decision points.