Wikipedia Education Program/Brainstorming for RFC for rewrite/Notes on BPM

From mediawiki.org

ter Hofstede et al., Modern Business Process Automation: YAWL [...][edit]

ter Hofstede, A. H. M. et al., eds. (2010) Modern Business Process Automation: YAWL and its Support Environment. Berlin: Springer.

van der Aalst, W. et al., "Introduction"[edit]

tl;dr The book is about YAWL (a non-standard but apparently powerful workflow language) and the libre BPM system that uses it. In addition to presenting the language and the system, the introduction makes some interesting points about BP modeling and BPM systems in general.

"[...] precise business process descriptions are used to guide the performance of business activities. Work is delivered to selected resources, which can be either humans or software applications, when it needs to be executed. Progress can be monitored and may give rise to the escalation of certain tasks where their deadline has passed or is not likely to be met. Events, such as the completion of a certain task by a certain resource, are logged and the resulting log files can be exploited for analysis purposes [...]" (p. 3 ¶2)

Automation & what to model: "When describing a workflow, which is an executable process, one has to capture all aspects relevant to automation, such as the individual activities (or tasks) and their execution order, data that is to be entered and passed on, and the way resources are involved. [...] By capturing both tasks and resources, it is possible to expedite processes using information regarding the current availability and workload of resources." (p. 3 ¶3 - p. 4 ¶1)

Example of benefits of allocating tasks on the basis of roles, rather than individuals (p. 4 ¶1).

Some benefits of modeling processes: "analysis and simulation" helps predict the effects of changes in processes before they're deployed; monitoring helps detect problems; log analysis can provide a basis for improving processes (p. 4 ¶1).

Overview of BPM lifecycle: process (re)design, system implementation/automation ("system configuration"), enactment and monitoring, diagnosis (p. 4 ¶2).

Workflow patterns: "The inherent complexity of business processes and the question of what fundamental concepts are necessary for business process modeling gave rise to the development of a collection of workflow patterns. These patterns describe process modeling requirements in an implementation independent manner." (p 5 ¶5)

The role of models in BPM: they provide insight (into requirements, assumptions, possible ways of supporting processes); they help analyze the operation of processes (study performance, find deadlocks); and they help enact processes (i.e., they help us create systems used to actually carry out processes) (p. 5 ¶7 - p. 6 ¶2)

Existing event logs (not from BPM systems) may be used to model processes (p. 6 ¶3).

BP modeling languages: history of standardization attempts, brief descriptions of some languages (p. 7 ¶2 - p. 8 ¶3).

General history of BPM systems, background of the Workflow Patterns Initiative (p. 8 ¶4 - p. 9 ¶2).

Overview of the approach taken by the Workflow Patterns Initiative: it focused on "identifying the constructs required for the specification of control-flow dependencies between tasks", since "the ability to explicitly capture tasks and their chronological dependencies is an essential capability of workflow management systems". Many BPM systems and languages were examined and (initially) 20 "control-flow patterns" were identified. Each such "pattern" consisted in "the description of desired control-flow functionality, problems with realizing this functionality and implementation approaches" (the concept was inspired in OO-programming patterns). Languages' and systems' support for different patterns was evaluated not in terms of their formal "expressive power", but rather with regard to their "suitability" for realizing a given pattern (p. 9 ¶3 - p. 10 ¶1).

Petri nets as a formal foundation for workflow managements; workflow nets as a subset of Petri nets (p. 10 ¶2 - p. 10 ¶4).

YAWL (Yet Another Workflow Language) was developed as a way to deal with "patterns that Petri nets have difficulty expressing, in particular patterns dealing with cancelation, synchronization of active branches only, and multiple concurrently executing instances of the same task". YAWL was inspired in Petri nets but cannot be fully mapped to them (p. 10 ¶5 - p. 11 ¶2).

The YAWL reference implementation has evolved into a "full-fledged workflow management system [...] used in a wide variety of academic and industrial settings." (p. 11 ¶3)

Overview of YAWL, including screenshots and comparison with Petri nets (p. 11 ¶4 - p. 14 ¶1).

Advantages of YAWL (reads like an advertisement) (p. 14 ¶2 - p. 16 ¶4).

Overview of the rest of the book, which aims to discuss the foundations of YAWL (language), present YAWL (system) to a wide audience, and bring YAWL-related material together in one place (p. 16 ¶5 - p. 17 ¶7).