Pattern 9 (Omission)

FLASH animation of Omission pattern

Description

Omission (aka Elimination) captures features to remove one or more elements from a process model and reconnect the remaining ones. It implies information lost.

Purpose

To focus on specific parts of a process model while abstracting from the rest, due to the requirements of a project or specific audience.

Example

Fig. 9a shows an example of Omission by displaying only the tasks from the process in Fig. 3b which are performed by a Loan Clerk, and omitting the automated tasks.

Metric

Decreases model size, and may also decrease diameter and average connector degree.

Rationale

Simpler process models which focus on specific aspects relevant to a given audience are easier to understand by the latter [107].

Realization

Omitting process behavior is related to the notion of inheritance of workflow behavior [3]. Accordingly, process model behavior can be restricted by applying two operators to Petri net transitions: hiding (an hidden transition remains in the model but its behavior is no longer observable) and blocking (a blocked transition is removed from the model with possible consequences to the control-flow). [109] proposes a decimation algorithm to remove model nodes that are less relevant, and reconstructing the process flow. The relevance of a node is determined according to a text search (the nodes whose labels contain a given string are kept), and to structural importance (the main model structure is kept). [91] proposes a slider approach for building process model abstractions based on thresholds such as execution frequency, time and cost of nodes. [25] applies Omission to create public process views for inter-organizational cooperation, driven by the need to hide business data for confidentiality reasons. Users specify which process tasks represent cooperative tasks that can be safely shared with partners, and then a public process is derived which shows these tasks only. These approaches are close to the separation of concerns between BPEL public processes, containing communication tasks only, and BPEL private processes, also containing internal tasks [12]. Deriving customized process views for specific audiences is also the purpose of [46], where a method for removing EPC functions based on the organizational structure is proposed. Process configuration is another research area where Omission is applied. It consists in removing from a configurable process model those fragments that are not relevant to a specific sce- nario. This is done via the application of an individualization algorithm. Individualization algorithms have been defined for various languages, including UML ADs [27], LTSs [43], EPCs [30], [102], integrated EPCs (an extension of eEPCs) [64], YAWL [45] and Petri Nets [4]. Finally, Omission also occurs in [36] and in [19], [20] for achieving customized process views, and in [49] for simplifying process models that have been mined from logs. These approaches apply Omission in combination with Collapse mechanisms (more details are given in the realization of Collapse).