issue of self-adaptation of processes has to be
investigated.
On the other hand, autonomic computing is a
field of computer science aiming at building systems
that are able to automatically and autonomously
adapt their own structure and behavior in response to
changes occurring in their operating environment
(Horn, 2001). This concept is known as self-
adaptation (De Lemos et al., 2010). To achieve the
self-adaptation, several solutions have recommended
the IBM’s MAPE-K approach (IBM, 2006), which is
the de facto reference model to design self-adaptive
software in the context of autonomic computing.
This approach advocates four functions including (i)
Monitor (M) for collecting data about the managed
system and its environment from sensors, filtering
and aggregating them into symptoms, (ii) Analyze
(A) for analyzing the symptoms to detect if changes
are required, (iii) Plan (P) for constructing the
actions needed to resolve detected changes and (iv)
Execute (E) for applying the actions required to
adapt the behavior of the managed system using
effectors. These four functions (MAPE) handle and
share Knowledge (K).
Several contributions have recommended the use
of solutions from autonomic computing in the BPM
field for making processes self-adaptable (Ayora et
al., 2012), (Oliveira et al., 2012), (Oliveira et al.,
2013), (Ferro and Rubira, 2015), (Seiger et al.,
2016), (Seiger et al., 2017). These contributions are
a step forward for self-adaptation of processes.
However they have the following drawbacks. First,
they do not address the issue of self-adaptation of
processes in a comprehensive and global way within
the framework of the four adaptation needs defined
in Reichert and Weber’s taxonomy (Reichert and
Weber, 2012): they only take into account one or
two adaptation needs but never all four at the same
time. Second, most of the contributions mainly focus
on the self-adaptation of the behavioral dimension of
running process instances (i.e., process activities and
their coordination), the informational dimension
(i.e., data required to or produced by activity
execution) and/or the organizational dimension (i.e.,
resources involved in activity execution), but neglect
the intentional dimension (defining process goals
and process constraints), which is another important
dimension that must be taken into account to have a
comprehensive view of processes.
To overcome these limitations, we recommend
an adaptation engine based on the MAPE-K
approach from autonomic computing to manage the
running of process instances so that they self-adapt
to changes occurring in their operating environment.
The adaptation engine includes a set of autonomic
managers monitoring process components, namely,
the process itself and its activities (i.e., sub-
processes or tasks). Each manager implements the
MAPE control loop responsible for (i) the
identification of adaptation needs and (ii) the
definition and the execution of the operations
required to the implementation of the identified
adaptation. These autonomic managers also handle
and share knowledge (K). Knowledge modeling is
based on a meta-model that allows processes and
their activities to be represented in different ways:
the notion of version serves as a support for such a
representation. The meta-model also makes it
possible to define when to use these versions: the
notion of context serves as a support for such a
definition.
The remainder of the paper is organized as
follows. Section 2 is dedicated to the presentation of
the main works addressing self-adaption of
processes using the MAPE-K approach of
autonomic computing. Section 3 presents our
contribution to address the issue of self-adaptation of
business process instances. It mainly introduces the
recommended adaptation engine and details the
MAPE control loop. Finally, Section 4 concludes the
paper and gives some directions for future works.
2 RELATED WORK
Self-adaptation of processes has been the focus of
several contributions such as (Ayora et al., 2012),
(Oliveira et al., 2012), (Oliveira et al., 2013), (Ferro
and Rubira, 2015), (Seiger et al., 2016) or (Seiger et
al., 2017). Each of these contributions recommends
the use of the MAPE-K approach for activity (sub-
process or tasks) or process monitoring.
For instance, (Ayora et al., 2012) recommended
a solution to manage process variants at design time
and self-adapt them at run-time. At design time, the
solution makes it possible to model process
variability by describing process variants using three
models: the base model to specify process fragments
(i.e., consistent part of processes) shared by all
process variants, the variation model to specify the
replacement fragments that can alternatively replace
fragments of the base model, and the resolution
model to specify the context conditions that define
the conditions of use for the replacement fragments.
At run-time, the recommended solution monitors
fragments and dynamically adapts the base model
according to the variation model. Thus it compares
the context conditions of monitored fragments with
the context events recorded in the context model,
Towards a New Adaptation Engine for Self-Adaptation of BPMN Processes Instances
219