<!DOCTYPE article PUBLIC "-//NLM//DTD JATS (Z39.96) Journal Archiving and Interchange DTD v1.0 20120330//EN" "JATS-archivearticle1.dtd">
<article xmlns:xlink="http://www.w3.org/1999/xlink">
  <front>
    <journal-meta />
    <article-meta>
      <title-group>
        <article-title>A WSLA-Extension Supporting Service and Contract Composition Modelling</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Antonella Longo</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Marco Zappatore</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Mario A. Bochicchio</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Lucia Vaira</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Alfredo Cuzzocrea</string-name>
          <email>cuzzocrea@icar.cnr.it</email>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>Department of Engineering for Innovation, University of Salento</institution>
          ,
          <addr-line>Lecce</addr-line>
          ,
          <country country="IT">Italy</country>
        </aff>
        <aff id="aff1">
          <label>1</label>
          <institution>University of Trieste and ICAR-CNR</institution>
          ,
          <country country="IT">Italy</country>
        </aff>
      </contrib-group>
      <abstract>
        <p>When dealing with Cloud Computing Services (CCSs) provisioning and usage, different degrees of complexity can be reached, depending on whether service composition is needed to satisfy users' requests. This scenario demands effective ways for modelling CCSs and corresponding Service Level Agreements (SLAs) in order to facilitate service composition, comparison and monitoring. However, current SLA specifications and tools are not well tailored to service composition. In this paper, starting from WSLA, a widely-known SLA description language, we present an extension aimed at modeling contracts and SLAs suitable to support contract owners during service composition and monitoring phases. The proposed WSLA extension is also supported by a tree-graph based tool that can help during SLA and contract composition phases.</p>
      </abstract>
      <kwd-group>
        <kwd />
        <kwd>SLA Design</kwd>
        <kwd>SLA Composition</kwd>
        <kwd>SLA Measurement</kwd>
        <kwd>Cloud Services</kwd>
      </kwd-group>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>-</title>
      <p>
        Modern Information Technology (IT) environments heavily exploits services
according to a provide-and-consume paradigm, allowing users to perform a wide variety
of tasks. Service terms have to be rendered as contracts that should be effective and
flexible from a strategic point of view as well as workable from an operational
perspective. In this scenario, Service Level Agreements (SLAs) [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ] play a key-role in
describing service relevant features by specifying the agreements between providers and
consumers with respect to Quality of Service (QoS), service level guarantees, Service Level
Objectives (SLOs), compliance to users’ requests, service time-sustainability and so
on. Each of these aspects has different levels of complexity. SLAs also define
measurements and criteria to be used when services fail or deviate beyond specific
tolerability thresholds from the agreed-upon contract terms but such specifications may be
qualitative and difficult to be transformed in machine-readable elements. SLAs are: a)
flexible and potentially language-independent; b) capable of defining both measurable
(e.g., accuracy, availability, latency, cost) and non-measurable aspects (e.g.,
reputation), therefore can be used for modelling domain information. Normally SLAs refer to
single service provisioning and consuming. Cloud Computing Services (CCSs) and
Business Process Outsourcing (BPO) represent two typical scenarios where services
should be aggregated properly for guaranteeing on-demand access to customizable
resources. The available methodologies and frameworks, however, lack in effective
formalization of service (and corresponding contracts and SLAs) composition. Therefore,
IT managers must a) supervise service functional composition and b) assess precisely
Service Levels (SLs) when they design the overall contract for the delivered service.
Similarly, consumers usually require rapid service provisioning, reliable resource
exploitation, reduced management efforts and frequent interaction with service providers,
thus generating a great variety of SLOs that makes more difficult to negotiate and
finalize service selection. Moreover, consumers require visibility on SLAs monitoring
data and auditing tools. Selected composing contracts and their specifications should
allow users to obtain the terms and conditions of the overall contract in a
straightforward, non-domain-specific manner; otherwise, these aspects may severely hinder
providers’ accountability when services do not match with their defined SLs or when
services exhibit failures beyond the allowed guarantees after their delivery.
      </p>
      <p>In this research, we present a descriptive template for contract and SLA composition
that extends WSLA. WSLA is one the several formal specifications developed so far to
model SLAs and their subject of application so far and it has been selected since it is
XML-based and sufficiently general to cover different domain scenarios). Its proposed
extension overcome its expressivity limitations for service and contract composition
scenarios and allows us identifying accountability issues more efficiently in the Cloud
scenario. We also propose a tool for easing the design and visualization phases in
service contract composition, named Contract-Aware Service COmposer (CASCO),
specifically tailored to IT contracts. We validated our model, in a SLA composition
scenario, by using the tool to calculate five Key Performance Indicators (KPIs) typically
adopted in the CCSs: availability, response time and Mean Time To Response (MTTR),
Mean Time Between Failure (MTBF), Mean Time To Failure (MTTF).</p>
      <p>The paper is organized as follows. Section 2 analyzes existing works on contract
representation and SLA management, Section 3 and 4 present the CASCO tool, its
design and implementation. Conclusions are presented in Section 5.
2
2.1</p>
    </sec>
    <sec id="sec-2">
      <title>Theoretical Background</title>
      <sec id="sec-2-1">
        <title>SLA for SOAs and WSs</title>
        <p>A SLA referring to a specific service should consider: a) description of agreeing
parties, QoS and obligations; b) matching with required QoS; c) collected metrics (and
when and by whom); d) penalties for failures or unmatched SLs; e) responses to
nondeliveries; f) providers’ responsibilities; g) effects of technology re-alignments.</p>
        <p>
          SLAs are enforced by management policies, thus ad-hoc frameworks are needed to
ensure that applications and services meet the required SLs at deployment, operation,
support and maintenance stages [
          <xref ref-type="bibr" rid="ref2">2</xref>
          ] and they should be machine-readable, in order to
support service discovery, selection and processing with respect to QoS and SLs. This
originates numerous language specifications to define SLAs. Some of them adopt a
combination of high-level modeling languages and knowledge representation
techniques, such as: SLAng [
          <xref ref-type="bibr" rid="ref3">3</xref>
          ], where SLAs are defined by mixing natural and
objectconstraint languages; RBSLA [
          <xref ref-type="bibr" rid="ref4">4</xref>
          ], where SLAs are provided as RuleML constructs;
PANDA [
          <xref ref-type="bibr" rid="ref5">5</xref>
          ], where SLAs are managed by a multi-agent system primarily referred to
Enterprise Resource Planning systems (ERPs).
        </p>
        <p>
          Despite their high-level of expressivity, those approaches are not so suitable for
machine processing and for theintegration with Web Services description languages (e.g.,
WSDL [
          <xref ref-type="bibr" rid="ref6">6</xref>
          ]). Thus, XML-based solutions were proposed, such as the Web Service Level
Agreement (WSLA) framework [
          <xref ref-type="bibr" rid="ref7">7</xref>
          ]. Its main elements are: subjects, services and
obligations (which comprise SLOs and action guarantees). Its first prototype was
introduced into WSTK [
          <xref ref-type="bibr" rid="ref8">8</xref>
          ], an integrated IBM environment for WS design, implementation
and management. Although WSLA allows defining, negotiating, deploying, monitoring
and enforcing SLAs, it has some limitations: 1) it refers to two-party contracts only; 2)
partner responsibilities are described in terms of parameters and metrics, without
considering their actions; 3) corrective management actions are not well supported.
Subsequently, the WS-Agreement [
          <xref ref-type="bibr" rid="ref9">9</xref>
          ] protocol was proposed to facilitate: 1) agreement
contextual definition, 2) service attributes definition, 3) customers support (by allowing the
XML formalization of service requirements), 4) providers support (by allowing
resource monitoring). However, neither third parties’ contributions nor service
composition monitoring could be modeled. The Cremona architecture [
          <xref ref-type="bibr" rid="ref6">6</xref>
          ] by IBM adopted this
protocol but neither decision-making capabilities nor support workflow were provided
for managing service compositions.
        </p>
        <p>
          Modeling and monitoring aspects related to service chains and networks in many
business ecosystems are usually based on graph models: BPMN [
          <xref ref-type="bibr" rid="ref10">10</xref>
          ] and BPEL [
          <xref ref-type="bibr" rid="ref11">11</xref>
          ]
models represent a viable alternative Errore. L'origine riferimento non è stata
trovata.for technicians and domain-skilled professionals, but the majority of the
stakeholders does not benefit from adequate modeling tools.
        </p>
        <p>
          Therefore, a standardized model would enable to apply templates to every type of
contracts and SLAs, and to categorize contract terms in different services domains.
However, despite their usefulness, SLA standardization policies are still in their
infancy, thus providing IT professionals with just static or semi-structured information
rather than structured contents during the entire service lifecycle [
          <xref ref-type="bibr" rid="ref12">12</xref>
          ] (e.g.,
pre-instantiated, active and terminated SLAs, metrics, service descriptions, guarantees).
Moreover, SLA data belong to several domains and the presence of various vocabularies of
provisioning terms determines semantic and structural SLA heterogeneity. This hinders
the comparison and the efficient SLA manipulation in distributed service markets.
3
        </p>
      </sec>
    </sec>
    <sec id="sec-3">
      <title>The WSLA Model Extension</title>
      <p>
        Contracts for CCSs often result from the composition of underpinning service
contracts, thus their specifications refer to those of composing contracts. Starting from
them, final providers need to automatically obtain the terms of the overall contract, after
defining composition rules. A service-based approach of this problem enables to derive
the final contract from service composition rules, and contract specifications from the
application of these rules on the parameters of each low-level contract and service.
Consequently, services from different providers can be used and composed [
        <xref ref-type="bibr" rid="ref13">13</xref>
        ] but
service contracts (and SLAs) must be properly defined.
      </p>
      <p>
        A composed contract is obtained from the integration of other contracts, signed with
different providers [
        <xref ref-type="bibr" rid="ref14">14</xref>
        ], and its terms and conditions can be derived by applying
composition rules to the composing contracts. Similarly, this implies that a provider of a
composite contract is able to extract and feed clients with the correct terms from the
component contracts. The provider has also to manage responsibilities of underpinning
providers if necessary (i.e., service-oriented approach to Contract Management).
      </p>
      <p>In order to model this scenario, we introduce three levels of conceptual abstraction:
1) the Contracts Layer, which collects service-provisioning agreements; 2) the Services
Layer, which gathers the composing services; 3) the Resources Layer, which contains
IT infrastructure components. The links across levels represent dependencies between
contracts and services and between services and resources respectively. The links
across the same level represent resources topologically composed to deliver a certain
service. Thus, different levels of internal visibility of its composing sub-services are
possible for a given service, depending on which kind of details are available about
them. For instance, sub-services can be described by using their external parameters
only (e.g., availability, response time, MTTF, etc.) or by exposing their internal details,
thus enabling more precise monitoring. We decided to consider the Services Layer and
the Resources Layer as a unique layer at this stage of our research, in order to strictly
focus on highlighting the issues arising in service and SLA aggregation. In this way,
we just consider contracts in terms of basic composing elements, thus forwarding the
subsequent step of service-to-resource mapping to further research developments.</p>
      <p>
        The aspects described so far cannot be fully described by current SLA models and
frameworks, therefore we propose a WSLA extension that introduces SL management
aspects, according to [
        <xref ref-type="bibr" rid="ref15">15</xref>
        ]. Our template presents contracts as composed by three
sections: 1) the Agreement Info, which handles general contract information (e.g., name,
description, start and expiry date); 2) the Agreement Parties, which models contracting
parties and third parties (i.e., entities providing goods or services in underpinning
contracts that have to support service delivery to final customers); 3) the Agreement
Services, which manages services information for one or more services. Each service
exposes specific properties: a description, a guarantee calendar and its SLA, which is the
core element of this component as well as of the entire template. In turn, each SLA
exhibits specific features, such as reference period, description, report date and SLA
specification. SLAs specifications usually refer to multiple parameters; therefore, we
decided to include the following properties:
• Cost (established for a SL with specific parameters);
• Start/End Date;
• Sample Period (used during SL monitoring to make decisions about service
times and to improve quality);
• Service Level Objective (SLO): the SL threshold value;
• Working Window: time span for SL generation;
• Penalty: the set of algorithms used when providers fail to meet the agreed SLs;
• Service Level Indicator (SLI): it includes units of measure and algorithms for
      </p>
      <p>SLA calculation and service monitoring.</p>
      <p>
        The contract template described so far can be modeled as a directed tree graph (i.e.,
digraph) where nodes represents template components whilst oriented edges are the
available properties. Edges are labeled with corresponding cardinalities (i.e. how many
nodes having those properties can be repeated). This approach allows representing data
about a single contract, even if with a great level of detail. Therefore, composition
topologies and rules have been introduced as additional elements to WSLA, for
describing SLA and contract composition. Topologies offer an intuitive way of creating service
chains matching users’ requests. We adopted four compositional patterns: series (each
service starts once the previous one stops), parallel (services work simultaneously),
loop (several cycles are needed to complete a service), condition (service execution is
oriented by an initial choice) [
        <xref ref-type="bibr" rid="ref16">16</xref>
        ]. Topologies can be further composed to create
complex systems (in a way similar to circuit elements are cascaded in circuit theory) and
the final service is obtained by recursively choosing the available topology patterns.
      </p>
      <p>Fig. 1A depicts the contract template while Fig. 1B and 1C show the composition
and rule model, respectively. Listing 1 enlists the formal definitions for all the entities
mentioned so far, obtained through sets language.</p>
      <p>Definitions
 ∶= / , / , 7 , ℎ  ∈ 1, 
 ∶= / , / , 7 , 3B , ℎ  ∈ 0,  ,  ∈ 0, 
 ∶= 7 ,</p>
      <p>ℎ  ∈ 0, 
 ∶= 7 , / , / , ℎ  ∈ 0, 
 ∶= 7 , ℎ  ∈ 1, 
 ∶= 7 , ℎ  ∈ 1, 
 ∶= 7 , / , / , / , ℎ  ∈ 0, 
 ∶= 7 , B , ℎ  ∈ 1,  ,  ∈ 1, 
 ∶= 7 , ℎ  ∈ 0, 
 ∶= ℎ/
 ∶= 7 , ℎ  ∈ 1, 
 ∶=  , ℎ  ∈ 0,1
 ∶= 7 , ℎ  ∈ 0,1
 ∶= 7 , ℎ  ∈ 1, 
 ∶= 7 , ℎ  ∈ 0, 
 ∶=
7 , B , R , S , ℎ , , ,  ∈ 0,1 ∶  +  +  +  = 1</p>
      <p>Listing 1. Contract template (formal definition)</p>
      <p>The main goal of CASCO is to test the model proposed in Section 3 and to help
customers and providers in composing SLAs both in design and execution phases.
During the design phase, composition can be simulated to verify the compliance with
requested SLs, as well as to obtain the SLAs of composed services starting from elemental
ones. During the execution phase, the system comes in handy since it offers an engine
that is able to calculate the result of composite SLAs. The tool has been designed
starting from identifying stakeholders for a generic service providing/consuming firm: both
managers (general, technical and business, department, human resources, service and
contract) and administration personnel have been considered. Different tasks have been
identified during the subsequent goals elicitation. For instance, a service manager can
use the tool to: 1) insert contracts signed with other companies to buy primary services;
2) access and visualize the service catalogue; 3) insert new primary services; 4) create
a new service by composing services from the catalogue; 5) create new contracts to be
signed with other companies or final users. The tool exploits a 3-layer architecture
(Fig. 4) to clearly separate data management, business logic and user interface
components. Moreover, the application complies with the widely adopted
Model-View-Controller (MVC) pattern. In order to separate contract visualization issues from user-agent
interaction during composition, the tool splits the front end (Presentation module) and
the back end (Business Logic and Data Management module) by using XML files
describing agreements, topologies and rules. The Presentation module manages user
operations and parses input, in order to generate the XML files (Fig. 3). The Manager
module is further divided into four subsections. The Parser allows extracting and
manipulating data from XML files to store them in the graph database (DB). The
Agreement Manager handles contracts and the operations that have to be performed on them.
The SLA Compositor creates composed services, defines corresponding measurement
metrics and stores output services into the DB. The SLA Control allows accessing
services information and parameters for resources and services monitoring.</p>
      <p>
        From an implementation point of view, the digraph model has been defined into a
NoSQL graph DBMS (Neo4j v.1.9.6/v.2.0.0 [
        <xref ref-type="bibr" rid="ref17">17</xref>
        ]), in order to store SLA and contracts
information as well as composition topologies and rules. The tool has been developed
in PHP with HTML5 compliancy for the front end in order to be natively compatible
with mobile devices, and in Java for the back end. We used Spring-data-neo4j (v2.3.4)
[
        <xref ref-type="bibr" rid="ref18">18</xref>
        ], a framework for mapping classes with the elements stored in Neo4j, and
Neo4jPHP (v.0.1.0) [
        <xref ref-type="bibr" rid="ref19">19</xref>
        ], a PHP library for accessing Neo4j database. The tool has been
used to evaluate and assess SLAs during the design phase of service composition.
      </p>
    </sec>
    <sec id="sec-4">
      <title>Applying The Model To A Real Scenario</title>
      <sec id="sec-4-1">
        <title>SLA Metrics</title>
        <p>Given a specific topology, services are composed and SL specifications are
calculated accordingly. To decide the acquisition of a service as part of a final one, a manager
needs to know which constraints the final service undergoes. Indeed, this is necessary
in order to evaluate the feasibility, the sustainability, the compatibility of the composite
service against the requirements. SLA values are calculated with respect to metrics
capable of measuring whether a service is compliant with the contract terms and whether
the service can achieve the desired business objectives. If we consider a service
composition scenario, in order to perform a suitable SLA composition, metrics must be the
same and their measurement units must be commensurable and compatible (e.g., all
measures have to be time-related or all measures must be percentages, etc.). We
considered five metrics exhibiting a great relevance in cloud scenarios to demonstrate the
feasibility of the proposed model by using our ad-hoc developed tool. The selected
metrics are: Availability, Response Time, Mean Time To Failure (MTTF), Mean Time
Between Failures (MTBF), Mean Time To Repair (MTTR).</p>
        <p>Fig. 3 introduces some relevant quantities used in calculating the adopted metrics.
We refer to Service Downtime (TSD), as the time period during which a specific service
is not available (i.e., it is the time span between the i-th occurrence of a service failure,
td,i and the i-th occurrence of its reactivation, tu,i). Similarly, Service Uptime (TSU), is
the time interval during which a specific service is working (i.e., the time range between
the i-th occurrence of the service start, tu,i, and the i+1-th occurrence of its failure td,i+1).
The period between two failures (Time Between Failures, TBF) is the sum of the time
needed to have the service up again (Time To Repair, TTR) and the time elapsed before
another failure occurs (Time To Failure, TTF), that is: TBF = TTR+TTF.</p>
        <p>Availability: it describes how long a service SA is available within its temporal
window of analysis. Being TAW the duration of this temporal window and TSD the service
downtime period, the availability A is expressed as in (1):</p>
        <p>U = VW − YZ /VW (1)</p>
        <p>Response Time: it quantifies how long it takes to a service SA to answer client’s
interrogation. If we have N interrogations from client, each with its own response time
rtSA(t)i, the overall response time RT is the average of the distinct responses rt, as in (2):
 U =</p>
        <p>7]^7 Y\  7 /</p>
        <p>MTTF: it measures the mean time between two consecutive failures for the same
service SA. If we have N monitored events (i.e., service failures and restorations), tSAu,i
indicates the time from which the service is up for the i-th time and tSAd,i+1 is the time at
which the same service fails again, then MTTF (3) is:</p>
        <p>U = (3)</p>
        <p>MTTR: it measures the mean time needed to repair a specific service SA for N times.
Let be tSAd,i the time from which the service is down and tSAu,i the time from which the
same service is up again, MTTR is given by (4):</p>
        <p>7]^d// Y\a,7b/ − Y\c,7 /
 U =
7]^d// Y\c,7 − Y\a,7 /
(2)
(4)
 U =  U +  U</p>
        <p>MTBF: it measures the mean time occurred between two consecutive failures of the
same service. It can be considered as the sum between (4) and (3), as depicted in (5):
(5)
5.2</p>
      </sec>
      <sec id="sec-4-2">
        <title>Composition Rules</title>
        <p>
          New services resulting from a process of composition [
          <xref ref-type="bibr" rid="ref20">20</xref>
          ] exhibit different metrics,
according to the composition rules and topologies selected during the design phase. In
order to define such rules, let us refer to series and parallel topologies and let us
consider two different services SA and SB that have to be composed and whose metrics are
known before the composition is performed. By applying math relationships borrowed
from circuits theory, the indicators specified in (1)-(5) can be derived for parallel and
series topologies, as in parallel and series configurations of circuital elements, thus
providing us with the corresponding composition rules. Table I resumes the rules for
Availability, Response Time and MTTF metrics. For the sake of brevity, their
mathematical derivation is not reported in this paper.
        </p>
        <p>Complex modeling approaches typically require a multi-year effort to be validated.
Both design- and run-time validation activities against functional and non-functional
requirements are required. During validation, specific aspects should be checked, such
as the suitability of the model to describe properly a significant variety of SLAs, its
amenability to be integrated within information systems, its capability to handle
managed resources. Therefore, we started with an internal validation. A set of agreements
having as metrics the ones described in Section 5.1 has been simulated. Then, the
composition rules described in Section 5.2 have been loaded into the tool (within the
corresponding XML file, see Section 4). Specific tests have been executed to both evaluate
the template feasibility for modeling SLA aspects and the tool usability for IT managers
and contract owners. Therefore, 20 Italian users, aging from 30 to 50 y.o. and belonging
to technical and juridical areas, have been selected as testers. The candidates have been
assigned with three tasks deemed as representative of a concrete deployment scenario
for the application. Task 1) to retrieve a service purchased by a company. Task 2) to
register an agreement and to compose a new output service. Task 3) to evaluate the
application completeness and user-friendliness.</p>
        <p>The users were required to fill a questionnaire in order to assess their mood against
the proposed system and the features it exposes. A 10-point psychometric Likert scale
has been used to measure users’ responses in evaluating each task, according to the
easiness in retrieving information, navigational and message clarity, ranging from 1
(i.e., worst evaluation) to 10 (i.e., best evaluation). Table II enlists average scores (AS)
for the features evaluated when performing a specific task and mean execution times
(MET) for each task (means are computed across all users). At the end of the
questionnaire, users’ comments were collected, thus observing their concerns was only about
explanatory labels and the localization of the application (which actually is in English
to better match references about service contracts and service composition) and do not
refer to possible issues in contract and SLA modeling or missing modeling functions.
6</p>
      </sec>
    </sec>
    <sec id="sec-5">
      <title>Conclusions</title>
      <p>
        A model for managing SLA information when dealing with contracts and SLA
composition in service-based IT environments has been presented in this paper. An
extension of the widely known, XML-based WSLA framework [
        <xref ref-type="bibr" rid="ref7">7</xref>
        ] has been proposed in
order to obtain a flexible template for IT service contracts. We aim at overcoming two
main issues in managing SLAs: 1) tackling the lack in standard models representing
service contracts and their SLAs in service network environments; 2) making SLAs
more machine-readable. The former one is obtained by complementing WSLA with
composition topologies and rules, extremely useful when dealing with CCSs (typically
provided as compositions of multiple, third-party services). The latter one is achieved
by modeling our template as a digraph (implemented in a NoSQL graph DBMS).
According to the proposed model, we developed a specific tool named CASCO
(ContractAware Service COmposer) in order to offer SLA evaluation and assessment capabilities
to IT professionals during design phase. Five metrics (i.e., Availability, RT, MTTR,
MTTF, MTBF), typically used in CCSs were selected to evaluate the template
feasibility in our tool. We have ascertained that the WSLA extension is suitable to handle all
the information needed to describe contracts and SLAs for composed services.
      </p>
      <p>In the near future, this research will be widened and improved by: 1) extending the
template (SLAs for BPO contracts); 2) proposing an ontological formalization of the
template; 3) adopting rule-based policies to perform real-time monitoring of composed
services as in Complex Event Processing (CEP) scenarios.</p>
      <p>The research has been partially supported by Engineering SpA and Essentia SpA.</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          1.
          <string-name>
            <surname>Telemanagement (TM) Forum: SLA Handbook Solution</surname>
            <given-names>Suite</given-names>
          </string-name>
          <year>v2</year>
          .
          <fpage>0</fpage>
          . (
          <year>2008</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          2.
          <string-name>
            <surname>Allen</surname>
            ,
            <given-names>P.: Service</given-names>
          </string-name>
          <string-name>
            <surname>Orientation-Winning Strategies</surname>
            and
            <given-names>Best</given-names>
          </string-name>
          <string-name>
            <surname>Practices</surname>
          </string-name>
          . Cambridge Univ. Press,
          <year>2006</year>
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          3.
          <string-name>
            <surname>Paschke</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          :
          <article-title>Knowledge Representation Concepts for Automated SLA Management</article-title>
          .
          <source>Decision Support Systems</source>
          <volume>46</volume>
          (
          <issue>1</issue>
          ),
          <fpage>187</fpage>
          -
          <lpage>205</lpage>
          (
          <year>2008</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          4.
          <string-name>
            <surname>Boley</surname>
            ,
            <given-names>H.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Tabet</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Wagner</surname>
            ,
            <given-names>G.</given-names>
          </string-name>
          :
          <article-title>Design Rationale of RuleML: A Markup Language for Semantic Web Rules</article-title>
          .
          <source>In : First Semantic Web Working Symposiium (SWWS-2001)</source>
          , pp.
          <fpage>381</fpage>
          -
          <lpage>401</lpage>
          (
          <year>2001</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          5. IST:
          <article-title>PANDA: Collaborative Process Automation Support Using Service Level Agreements and Intelligent Dynamic Agents in SME Clusters</article-title>
          .
          <source>PANDA Research Project Report</source>
          (
          <year>2007</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          6.
          <string-name>
            <surname>Ludwig</surname>
            ,
            <given-names>H.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Dan</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Kearney</surname>
            ,
            <given-names>R.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Heights</surname>
            ,
            <given-names>Y.</given-names>
          </string-name>
          :
          <article-title>Cremona: an Architecture and Library for Creation and Monitoring of WS Agreements</article-title>
          .
          <source>Research Report</source>
          , IBM (
          <year>2004</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          7. Keller, A.,
          <string-name>
            <surname>Ludwig</surname>
          </string-name>
          , H.:
          <article-title>The WSLA Framework: Specifying and Monitoring Service Level Agreements</article-title>
          .
          <source>Technical Paper RC22456</source>
          , IBM Research (
          <year>2002</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          8.
          <string-name>
            <given-names>IBM</given-names>
            <surname>Corp.: IBM Web Services</surname>
          </string-name>
          <article-title>Toolkit (WSTK) v2006</article-title>
          . Available at: http://www.ibm.com
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          9.
          <string-name>
            <surname>Andrieux</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          :
          <string-name>
            <surname>Web Services Agreement Specification. Memo GFD-R-P</surname>
          </string-name>
          .
          <year>107</year>
          ,
          <string-name>
            <surname>WG</surname>
          </string-name>
          (
          <year>2007</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          10.
          <string-name>
            <surname>Dijkman</surname>
            ,
            <given-names>R. M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Dumas</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Ouyang</surname>
            ,
            <given-names>C.</given-names>
          </string-name>
          :
          <article-title>Semantics and Analysis of Business Process Models in BPMN</article-title>
          .
          <source>Information and Software Technology</source>
          <volume>50</volume>
          (
          <issue>12</issue>
          ),
          <fpage>1281</fpage>
          -
          <lpage>1294</lpage>
          (
          <year>2008</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          11.
          <string-name>
            <surname>Xiang</surname>
            ,
            <given-names>F.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Tevfik</surname>
            ,
            <given-names>B.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Jianwen</surname>
            ,
            <given-names>S.:</given-names>
          </string-name>
          <article-title>Analysis of Interacting BPEL Web Services</article-title>
          .
          <source>In : 13th Int. Conf. on World Wide Web (WWW'04)</source>
          , pp.
          <fpage>621</fpage>
          -
          <lpage>630</lpage>
          (
          <year>2004</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref12">
        <mixed-citation>
          12.
          <string-name>
            <surname>Stamou</surname>
            ,
            <given-names>K.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Kantere</surname>
            ,
            <given-names>V.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Morin</surname>
            ,
            <given-names>J. H.</given-names>
          </string-name>
          :
          <article-title>SLA Data Management Criteria</article-title>
          .
          <source>In : IEEE Big Data</source>
          (
          <year>2013</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref13">
        <mixed-citation>
          13.
          <string-name>
            <surname>Piccinelli</surname>
          </string-name>
          , G.:
          <article-title>Service Provision and Composition in Virtual Business Communities</article-title>
          .
          <source>HP Technical Report HPL-1999-84</source>
          ,
          <string-name>
            <surname>Hewlett-Packard</surname>
          </string-name>
          (
          <year>1999</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref14">
        <mixed-citation>
          14.
          <string-name>
            <surname>Bochicchio</surname>
            ,
            <given-names>M. A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Longo</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Giacovelli</surname>
            ,
            <given-names>S.:</given-names>
          </string-name>
          <article-title>SARA: a Tool for Service Level Aware Contracts</article-title>
          .
          <source>In : IFIP/IEEE Int. Symp. on Integrated Network Management</source>
          (
          <year>2013</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref15">
        <mixed-citation>
          15.
          <string-name>
            <surname>Stamou</surname>
            ,
            <given-names>K.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Kantere</surname>
            ,
            <given-names>V.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Morin</surname>
            ,
            <given-names>J. H.</given-names>
          </string-name>
          :
          <article-title>SLA Template Filtering: a Faceted Approach</article-title>
          .
          <source>In : 4th Int. Conf. on Cloud Computing, GRIDs and Virtualization</source>
          (
          <year>2013</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref16">
        <mixed-citation>
          16.
          <string-name>
            <given-names>Ul</given-names>
            <surname>Haq</surname>
          </string-name>
          ,
          <string-name>
            <given-names>I.</given-names>
            ,
            <surname>Schikuta</surname>
          </string-name>
          , E.:
          <article-title>Aggregation Patterns of Service Level Agreements</article-title>
          .
          <source>In : 8th Int. Conf. on Frontiers of Information Technology (FIT'10)</source>
          (
          <year>2010</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref17">
        <mixed-citation>
          17. Neo4j:
          <fpage>Neo4j</fpage>
          . Available at: http://www.neo4j.org
        </mixed-citation>
      </ref>
      <ref id="ref18">
        <mixed-citation>
          18.
          <string-name>
            <surname>Spring</surname>
          </string-name>
          <article-title>: spring-data-neo4j</article-title>
          . Available at: https://projects.spring.io/spring-data-neo4j
        </mixed-citation>
      </ref>
      <ref id="ref19">
        <mixed-citation>
          19.
          <string-name>
            <surname>Jadell</surname>
          </string-name>
          , J.:
          <source>Neo4jPHP</source>
          . Available at: https://github.com/jadell/neo4jphp
        </mixed-citation>
      </ref>
      <ref id="ref20">
        <mixed-citation>
          20.
          <string-name>
            <surname>Cardoso</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Sheth</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Miller</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Arnold</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Kochut</surname>
            ,
            <given-names>K.</given-names>
          </string-name>
          :
          <article-title>Quality of Service for Workflows and Web Service Processes</article-title>
          .
          <source>J. of Web Semantics</source>
          <volume>1</volume>
          ,
          <fpage>281</fpage>
          -
          <lpage>308</lpage>
          (
          <year>2004</year>
          )
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>