Pattern 1 (Block Structuring)

FLASH animation of Block Structuring pattern

Description

This pattern refers to methods to structure a process model in blocks. In a block-structured process model, each split element has a corresponding join element of the same type, and split-join pairs are properly nested [74].

Purpose

To improve understandability and maintenance through a simpler process model structure.

Example

Fig. 3a shows an unstructured model where split gateways are not matched by corresponding join gateways. Fig. 3b shows a behavior-equivalent model which is structured.

Metric

Increases structuredness of a process model.

Rationale

Structured models are easier to understand [80], [81] and less error-prone [76], [69] than unstructured models.

Realization

The problem of structuring process models has been extensively analyzed in the literature both from an empirical and from a theoretical point of view. Lau and Mendling [69] report the results of a study showing that structured models are less error-prone than unstructured equiv- alent models. Mendling et al. [81] propose seven guidelines to model easily-understandable process models. One of these guidelines is to model processes as structured as possible, which was ranked by a pool of practitioners as the guide- line with the highest relative potential for improving process model understandability. Kiepuszewski et al. [56] provide a first attempt to classifying unstructured process models that can be transformed to structured equivalents, and show that structured models are less expressive than unstructured ones, thus unstructured model fragments cannot always be replaced with structured fragments that are behavior-equivalent. Liu and Kumar [74] present an alternative taxonomy of unstructured process models which also covers acyclic models, and sketch a method to transform some types of unstructured models into structured trace-equivalent alternatives. Different trans- formation strategies are also illustrated in [78]. In a similar vein, [51] proposes a classification of (unstructured) process models using region trees, and provides a set of rules to transform certain types of unstructured regions into structured equivalents. An alternative classification of process models based on the RPST decomposition [114] (a refinement of [51]) is proposed in [89], showing how unstructured regions can be generated by composing structured process fragments. A method specifically tailored to untangling unstructured cyclic models and transforming them into structured BPEL [12] models is presented in [58], [52]. A complete characteriza- tion of unstructured acyclic process models that cannot be transformed into block-structured ones is presented in [90], [35]. This method is based on the RPST decomposition and is accompanied by a tool to automatically structure acyclic process models that are not in this class. Finally, Weber et al. [117] propose a set of refactoring mechanisms for process models wherein they devise (but do not operationalize) a mechanism to replace a process fragment with a trace- equivalent fragment having simpler structure.