The Context

The business domain is a highly variable application context in which (business) rules change frequently due to many factors.

A first concern is connected to the knowledge of the domain that typically improves after the workflow deployment and execution. Analysts and stakeholders learn from scenarios execution and this experience generally leads to corrections or extensions to increase the correctness or the coverage of exceptional cases that have not been considered yet.

A second aspect is connected to the evolution of the society (with its laws and regulations) and/or of the company business strategie. Changes imply a revision of the workflow model, and often it is necessary to include new goals or constraints.

Traditional languages as BPMN or BPEL take an imperative style for defining the exact sequences of activities to execute. A business process is generally described as the exact sequence of tasks to execute as a reaction to specified events. Moreover, exceptions are defined as special events that may occur during the main flow of execution. This modeling style aims at identifying a solution space as a unique solution (or a limited set of solutions) and it provides the system a plan to orchestrate its servcies but not the ability to recover from exceptions that were not considered in the business analysis phase. However it does not provide enough freedom of action to bypass obstacles when something exceptional happens.

The Objective

The objective of this project is to analyze and to classify real scenarios (from industrial context) in which the self-adaptation ability could be profitable employed. This preliminary study will trigger the implementation of an engine for the execution of dynamic workflow. The dynamic asset is not estalished a-priori, but it should emerge in order to give an assurance to fulfill business analyst's objectives.

Therefore the objectives can be listed below:

  1. to identify scenarios of adaptation by conducting a contextual inquiry in industry partners;
  2. to define a language for modeling opportinity of run-time changing the standards flow of activites, according to needs;
  3. to implement a dynamic workflow engine as demontrator or the previous two points.