definition of process models in the form of service 
orchestrations. BPEL provides an inherent 
extensibility mechanism at the process and activity 
level. The orchestration process allows to control 
the collaboration between services, but 
unfortunately it does not provide a means to control 
QoS attributes. Our system focuses on monitoring 
the different services’ orchestration process 
activities that run in the BPEL engine, then adapting 
the composition, if it does not meet the requirements 
set. This system breaks down into two levels:  the 
first level encompasses two components responsible 
for monitoring and analysis of the composition 
operation and the second one includes three 
components that provide a solution for dynamically 
adapting the composition of services. In the 
following we present the components of our 
architecture which is modularized into five distinct 
components working in cooperation to achieve 
dynamic adaptation issues. 
3.1 Monitoring Component 
This component is responsible for providing 
information about the execution state of the 
orchestration in the BPEL Engine. It has two parts: 
the first part is the extraction and collection of QoS 
values from monitoring tools and the second one 
aims to calculate the QoS parameters collected in 
the previous part. After computing the QoS values, 
the monitoring service sends these parameters to the 
analysis component for the evaluation.  
3.2 Analysis Component 
This component is responsible for verifying and 
evaluating the information collected by the 
monitoring component to determine the case of an 
inequality QoS values. It is based on a set of policies 
expressed with WS-Policy that represents a 
repository containing the necessary values of QoS 
that must be verified during the execution of the 
services.  WS-Policy is an extensible model that we 
can adapt in any system case. In our work, we adopt 
the QoS policy model suggested in (Mezni et al., 
2014), in which a QoS parameter is presented as : 
<assertion> including attributes <name>, <value> 
and <unit> which contain other child parameters.  
3.3 Diagnostic Component 
It is the system responsible for identifying the type 
of deviation according to the faulty QoS types sent 
by the analysis component. It interacts with a 
repository that contains the deviation types of these 
parameters. Then, it selects the mismatch type, and 
sends it to the filtering component. The mismatches 
repository also serves to record the different faulty 
QoS parameter data. This support can be provided 
in the specification of the compositions during the 
design phase. 
3.4 Filtering Component 
This component’s role is to recover the type of 
deviation sent by the diagnostic component and to 
select the appropriate configuration action. We 
provide the adaptation policies (Mezni et al., 2014) 
and the services repository that allows one to 
dynamically select the service equivalent to the 
chosen adaptation action. We use WS-Policy to 
specify the set of events and actions for each type of 
event. We adopt the extension AWS-Policy 
(Autonomic Web Service Policy) presented in 
(Mezni et al., 2014), in which a model of adaptation 
policies is described. It contains the actions that can 
be performed in the case of a detected event, 
described in an <EventAssertion> element. An 
adaptation plan can consist of a set of adaptation 
actions described in an <ActionAssertion> element. 
However, we will not introduce the name of 
alternative WS in adaptation policies. The filtering 
component is responsible for dynamically selecting 
WS equivalent to the adaptation process. 
3.5 Configuration Component 
The configuration component is responsible for 
retrieving the information sent by the filtering 
component, by applying the necessary changes to 
the system. It presents a final step in the adaptation 
process. After the adaptation of the orchestration 
process, the monitoring system takes the control of 
the interactions following the composition process 
with the partner services. 
4 EXAMPLE 
To provide illustration with regard to our proposed 
architecture, we take a simple example of a 
bookstore process (Chan and Bishop, 2009). The 
process includes a series of activities allowing users 
to buy books online. The system begins by 
authenticating the user. After that, the system 
invokes the “ResultSorting” WS to present the 
existing catalogues. Then, the user can browse the 
catalogues for making a search. (S)he can select 
Seventh International Symposium on Business Modeling and Software Design
240