This course focuses on enterprise information systems that are driven by models, i.e., instead of constructing code these systems are assembled, configured or generated using a model-driven approach. Of particular interest are so-called “process-aware” information systems. Typical examples are workflow management systems and the process engines of ERP, CRM, PDM and other enterprise information systems. Starting point for the course are the process modeling techniques taught in the Bachelor phase. In particular it is assumed that the students are able to model in terms of (high-level) Petri nets and are able to make object models. Reading materials to refresh main concepts will be provided.
The first part of the course focuses on the modeling and implementation of workflows. Different languages and systems are presented. Using the so-called workflow patterns students need to compare and evaluate languages and systems. Moreover, students need to model and implement non-trivial workflows in a specific workflow management system (e.g., Bizagi and YAWL). It should be noted that although the focus is on pure workflow management systems, the knowledge and experience will also applicable to other process-aware information systems.
The second part of the course focuses on the analysis of workflows using Petri net theory. One of the topics is workflow verification, i.e., How to automatically identify design errors and correct them? Here different tools are being used and, among others, the SAP reference model and its errors are used as examples. This requires an introduction to concepts such as WF-nets, various soundness notions, free-choice nets, reduction rules, etc.
The final part of the course considers how process-aware information systems interact with their “environment” of processes, systems, and applications. The topics include modeling and enacting service-oriented and data-driven process interactions in complex scenarios, and ensuring consistent process execution and data across different processes and applications in case of failures.