|Ph.D Student||Mati Golani|
|Subject||Dynamic Mechanism of Business Process Modeling in Workflows|
|Department||Department of Industrial Engineering and Management||Supervisor||Full Professor Gal Avigdor|
Workflow Management Systems (WfMS) serve nowadays as the basic process-based technology, while one major deficiency of today's WfMS products is their functional rigidity, especially with respect to the handling of unexpected situations. During run-time execution, they offer only limited mechanisms (if any) for deviating from a pre-planned execution sequence in an ad-hoc fashion (e.g., inserting additional process steps, moving process steps, etc.). To handle an exceptional case may only require aborting the execution of the current process step, replacing it with an alternative step which can be executed in full. However, it may also require, for example, to backtrack to a previous step in the process, re-performing some process steps (with new outcome), and then to setup process execution at this point. We provide an exception handler model, that serves as a conceptual framework in which backtracking and forward stepping can be evaluated and implemented as a process. We provide a set of efficient algorithms for alternative route identification (at design time or runtime) and forward stepping (at runtime), to allow dynamic modifications to workflows. An algorithm for constructing exception handlers, a cost model for ranking exception handlers, and an algorithm for constructing a normalized workflow graph were developed.
We introduce the concept of a meta-process, an efficient and a fully automatic mechanism (at the WfMS level) that acts as a client for activating the proposed exception handling algorithms. A meta-process that operates the "analysis module" is used to interact with the various users of the process where the exception occurred. The decision on what solution to take is based on a cost function which uses various and pluggable heuristics. Further more, this decision mechanism can use a mining-based data in order to take into consideration already executed processes of the same kind.