THE ECOS LAB

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.
Elmi Software srl – Capofila e Partner Industriale Contatto: Rosario Minasola Via A. De Gasperi, 90146 Palermo, Italy
Ecos Lab - ICAR-CNR Coordinatore Scientifico: Massimo Cossentino Via Ugo La Malfa n.153, 90146 Palermo, Italy
Giuseppe Di Maria spa - Partner Industriale Contatto: Adriana Mauro Via Enrico Mattei 4, 90124 Palermo, Italy
CASCINO Partner Industriale Contatto: Nicola Cascino Via Crisone 24, 90018 Termini Imerese (Palermo) , Italy

The Approach

Whereas the imperative specification style limits the solution space, on the other hand, a declarative specification style would help in opening the solution space to many alternatives. In particular many authors indicate the goal-oriented approach may be used to define the expected results of a system, without forcing it to follow a pre-established plan in order to address these results.


We adopted an ontology based goal oriented specification language (GoalSPEC) as the grounding asset for our solution. This is used for defining the business process in terms of goals to address rather than tasks to execute. The goal oriented description of the process breaks some rigid constraints that are typical of the imperative style of BPMN. We decided to completely decouple the description of what should be addressed by the plans used to accomplish these results. In this way there is not a pre-established set of tasks to execute for each specified goal. The responsibility of deciding which task to select is delayed at run-time, so goals may be dynamically injected into the system.


In order to exploit the flexibility and the expressiveness of BPMN (first of all that of being targeted to humans) we defined an automatic translator (BPMN2GoalSPEC) that gets a BPMN as input and produces a GoalSPEC model. This allows the business analyst to continue to think in terms of BPMN (thus maintaining the BPMN as an interface for business analysts to model their processes).

Finaly, as demonstration we have designed and implemented a workflow engine as a multi-agent system (developed in JASON) in which each autonomous software agent is aware of its own capabilities and it is able to decide when and how to contribute to goal achievement. Agents self-organize in groups that proactively discover a distributed solution as the orchestration of many capabilities.



The Artifacts


Papers

Sabatucci, L., Lodato, C., Lopes, S., & Cossentino, M. (2013). Towards Self-Adaptation and Evolution in Business Process. In AIBP@ AI* IA (pp. 1-10). [download] [cite]

Sabatucci, L., Ribino, P., Lodato, C., Lopes, S., & Cossentino, M. (2013). GoalSPEC: A Goal Specification Language Supporting Adaptivity and Evolution. In Engineering Multi-Agent Systems (pp. 235-254). Springer Berlin Heidelberg. [download] [cite]

Sabatucci, L., Cossentino, M., Lodato, C., Lopes, S., & Seidita, V. (2013). A Possible Approach for Implementing Self-Awareness in JASON. In EUMAS (pp. 68-81). [download] [cite]

Presentations


  1. [ita] BPMN2GoalSPEC (Tirocinio F. Garofalo) [download]
  2. [eng] Dynamic Workflow Enactment with Multi-Agent System [download]
  3. [eng] Towards Self-Adaptation and Evolution in Business Process [download]
  4. [eng] Self-Adaptive Workflows [download]