<!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>The MAIS approach to web service design</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Marzia Adorni</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
          <xref ref-type="aff" rid="aff2">2</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Francesca Arcelli</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
          <xref ref-type="aff" rid="aff2">2</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Danilo Ardagna</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Luciano Baresi</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Carlo Batini</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
          <xref ref-type="aff" rid="aff2">2</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Cinzia Cappiello</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Marco Comerio</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
          <xref ref-type="aff" rid="aff2">2</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Marco Comuzzi</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Flavio De Paoli</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
          <xref ref-type="aff" rid="aff2">2</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Chiara Francalanci</string-name>
          <email>francala@elet.polimi.it</email>
          <xref ref-type="aff" rid="aff0">0</xref>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Simone Grega</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
          <xref ref-type="aff" rid="aff2">2</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Paolo Losi</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
          <xref ref-type="aff" rid="aff2">2</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Andrea Maurino</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
          <xref ref-type="aff" rid="aff2">2</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Stefano Modafferi</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Barbara Pernici</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Claudia Raibulet</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
          <xref ref-type="aff" rid="aff2">2</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Francesco Tisato</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
          <xref ref-type="aff" rid="aff2">2</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>Mailing address: Prof. Chiara Francalanci Dipartimento di Elettronica e Informazione Politecnico di Milano Piazza Leonardo Da Vinci</institution>
          ,
          <addr-line>32 20133, Milano</addr-line>
          ,
          <country country="IT">Italy</country>
        </aff>
        <aff id="aff1">
          <label>1</label>
          <institution>Politecnico di Milano</institution>
          ,
          <addr-line>Dipartimento di Elettronica e Informazione</addr-line>
        </aff>
        <aff id="aff2">
          <label>2</label>
          <institution>Università di Milano Bicocca</institution>
          ,
          <addr-line>Dipartimento di Informatica, Sistemistica e Comunicazione</addr-line>
        </aff>
      </contrib-group>
      <abstract>
        <p>This paper presents a first attempt to realize a methodological framework supporting the most relevant phases of the design of a value-added service. A value-added service is defined as a functionality of an adaptive and multi-channel information system obtained by composing services offered by different providers. The framework has been developed as part of the MAIS project. The MAIS framework focuses on the following phases of service life cycle: requirements analysis, design, deployment, run time use and negotiation. In the first phase, the designer elicits, validates and negotiates service requirements according to social and business goals. The design phase is in charge of modelling services with an enhanced version of UML, augmented with new features developed within the MAIS project. The deployment phase considers the network infrastructure and, in particular, provides an approach to implement and coordinate the execution of services from different providers. In the run time use and negotiation phase, the MAIS methodology provides support to the optimal selection and quality renegotiation of services and to the dynamic evaluation of management costs. The paper describes the MAIS methodological tools available for different phases of service life cycle and discusses the main guidelines driving the implementation of a service management architecture, called reflective architecture, that complies with the MAIS methodological approach.</p>
      </abstract>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>-</title>
      <p>by a high heterogeneity in both technological platforms and user requirements, and
therefore concepts such as stratification and information hiding turn out to be
inadequate, since it is almost impossible to identify and implement optimal built-in
strategies; non-functional requirements (performance, reliability, security, cost, and, more
generally, quality of service) become more and more relevant and the management of
system resources cannot be hidden, but has to be visible and controllable at the
application level.</p>
      <p>The goal of the MAIS project1 is the development of models, methods, and tools
that allow the implementation of multichannel adaptive information systems.
Functionalities are provided as services on different types of networks and access devices
and are the result of the composition of component services offered by different
providers to build a value-added service. In this paper, we present a first attempt to
realize a methodological framework supporting the most relevant phases of the design of
a value-added service. In particular, we focus on the creation of a service (e.g.,
analysis, design, development) as an abstract service and its use as a component service.</p>
      <p>In MAIS, the design of value-added services is limited to the abstract definition of
their functional and non functional features, with no implementation details such as
service location and service access protocol. Component services are associated with
an abstract value-added service at run time, according to different deployment
alternatives. The paper discusses the design of deployment alternatives and of run-time
quality control procedures.</p>
      <p>
        Several approaches have been proposed in the literature for the design of web
services as composed services and of cooperative information systems based on a
service oriented approach. Some approaches focus on the goal-based selection of
component services at a conceptual level: in [
        <xref ref-type="bibr" rid="ref11">11</xref>
        ] cooperative processes are built on the
basis of intentions and strategies in virtual organizations and in [
        <xref ref-type="bibr" rid="ref9">9</xref>
        ] a goal-based
approach considering non-functional requirements to identify resources and constraints
is proposed. Other approaches dynamically select and adapt services based on
metalevel descriptions [
        <xref ref-type="bibr" rid="ref10">10</xref>
        ] or compose services based on planning and monitoring
techniques [
        <xref ref-type="bibr" rid="ref12">12</xref>
        ]. Process design in organizations cooperating based on a service oriented
approach has been studied by focusing on process control and responsibility in [
        <xref ref-type="bibr" rid="ref14">14</xref>
        ]
and on the evolution of cooperation processes in [
        <xref ref-type="bibr" rid="ref8">8</xref>
        ]. Quality of service is
increasingly studied in the service orientation literature [
        <xref ref-type="bibr" rid="ref15 ref18">18, 15</xref>
        ]. The focus however is more
on the representation and monitoring of quality of service aspects rather than on
design for quality.
      </p>
      <p>The goal of this paper is to provide a first integrated view of design aspects which
are not considered in an integrated methodological framework in the literature. In
particular, we focus on service selection and on the representation of quality
requirements at a system level.</p>
      <p>The paper is organized as follows: Section 2 presents the MAIS methodological
framework. Sections 3 to 7 describe each component of our methodological
framework, while the last section draws conclusions and outlines future work.
1 MAIS (Multichannel Adaptive Information Systems), web site www.mais-project.it</p>
    </sec>
    <sec id="sec-2">
      <title>The MAIS Methodological Framework</title>
      <p>The life cycle of web services, both simple and complex, is composed of a series of
methodological phases, from requirements analysis to service monitoring at run time.
Figure 1 reports the phases of the MAIS methodological framework:
• requirements analysis;
• design;
• deployment;
• run time use and negotiation.</p>
      <p>In the first phase, the designer elicits, validates and negotiates web service
requirements according to social and business goals. Services are supposed to be
provided to users through different distribution channels. The inputs of this phase are
domain requirements, QoS requirements, user profiles, and architectural requirements
for different distribution channels. The output of this phase is a set of functional and
non-functional requirements, which is taken as input by the subsequent design phase
(see Figure 1). The MAIS methodological framework described in this paper assumes
that an informal description of functional and non-functional requirements is
available and provides support starting from the design phase.</p>
      <p>
        The design phase (Section 3) is in charge of modelling services with an enhanced
version of UML, augmented with new features developed within the MAIS project
(e.g., Abstract Interaction Unit [
        <xref ref-type="bibr" rid="ref5">5</xref>
        ]). At this stage of the methodology, the designer is
interested in defining a high-level description of the whole system. Therefore, starting
from functional and non-functional requirements, the designer identifies the
information and operating services that will be supplied in a multi-channel fashion and the
corresponding distribution channels. The result of this phase is a set of MAIS-UML
diagrams that will be used in the following phases. Design is also supported by the
evaluation of the management costs of services with a varying level of QoS. This
evaluation, described in Section 4, allows the analysis of different service scenarios
and the selection of the most profitable approach to service management for the
MAIS brokering architecture.
      </p>
      <p>The deployment phase (Section 5) considers the network infrastructure. The MAIS
methodology provides an approach to implement and coordinate the execution of
complex services built from multiple services of different providers. The input of this
phase is a MAIS-BPEL description, describing a composition of abstract services
augmented with QoS and coordination definitions automatically derived from the
MAIS-UML diagrams. The output is a set of MAIS-BPEL specifications.</p>
      <p>In the run time use and negotiation phase (Section 6), the MAIS project proposes
two different tools supporting the adaptive and context-aware use of web services.
The first one is based on the optimal selection and quality renegotiation of services
based on a set of abstract descriptions of services and QoS requirements. The second
one is in charge of supporting the negotiation and dynamic evaluation of
managements costs allowing the maximization of MAIS brokering profits.</p>
      <p>The first tool allows workflow engines to invoke the best service satisfying a set of
requirements according to the specific execution context and end-user profile. The
concepts of abstract services and concrete services are distinguished. An abstract
service is a non-invokable service specifying the functional interface of the service
and its QoS requirements. A concrete service is a completely described service, i.e.,
an invokable service, inheriting the functional interface and QoS requirements of a
corresponding abstract service, but specifying additional implementation details (e.g.,
access protocol). This distinction allows the designer to define a generic description
of web services at design time without paying attention to implementation problems.
Implementation problems can be solved at run time, when the right (and optimal)
selection and invocation of web services is realized.</p>
      <p>The second tool evaluates the returns of the MAIS brokering service for each
concrete service. This supports run time decisions on the most profitable degree of QoS
improvement that the MAIS brokering architecture can implement to meet user
requirements. The MAIS architecture can improve QoS in several ways. For example, it
can improve the quality of a data set requested by a user by complementing the
information provided by the supplier of the concrete service with higher-quality
information from additional sources. These improvements increase QoS, but also involve
additional costs. Profits are maximized when the returns from higher QoS are greater
than QoS improvement costs. Section 6 describes the MAIS methodological approach
to these cost-benefit evaluations.</p>
      <p>The MAIS project has also proposed a reflective architecture that can support the
run time selection of services and QoS negotiation. The term “reflective” indicates
the ability of a system to adapt dynamically to user requirements by using appropriate
metadata. In this paper, we present the main guidelines driving the implementation of
a reflective architecture, to show how it is possible to design and realize a reflective
middleware even in a fully distributed environment (Section 7).</p>
      <p>Figure 1 summarizes how the MAIS approach supports the web service life cycle.
In the following sections, we describe the MAIS contribution for each
methodological phase. The reader will be referred to MAIS papers and reports to find more
detailed descriptions of the methodological components described in the next sections.
3</p>
    </sec>
    <sec id="sec-3">
      <title>Service Specification and Compatibility Analysis</title>
      <p>
        Research work on service design has started from the definition of a methodology for
the redesign of existing services, described in [
        <xref ref-type="bibr" rid="ref19">19</xref>
        ] and [
        <xref ref-type="bibr" rid="ref20">20</xref>
        ]. This redesign
methodology is based on existing specifications of services and information on new
requirements. The service redesign methodology considers several aspects of the information
on new requirements, including communication channels and technologies, user
profiles, and quality of service (see Figure 1). The redesign methodology has also
reconsidered traditional development processes to take into account new requirements (see
[
        <xref ref-type="bibr" rid="ref19">19</xref>
        ] and [
        <xref ref-type="bibr" rid="ref20">20</xref>
        ]). The output of the methodology are enhanced UML diagrams that
describe services in terms of functional and non functional properties.
      </p>
      <p>
        Recently, a revised version of the methodology that considers design in addition to
redesign has been proposed. The revised methodology is composed by 3
macrophases: functional service modeling, high-level redesign, and context adaptation. The
functional service modeling phase aims at modelling functional service requirements
as a set of UML diagrams. These diagrams highlight the logical and operational
structure of services. The main objective of the second phase, high-level redesign, is to
redesign existing services according to new requirements. QoS requirements are
modelled by means of appropriate quality dimensions and metrics extracted from the
MAIS QoS registry, which provides a structured list of QoS dimensions and
corresponding metrics. QoS requirements are quantified with Bk values that represent the
quality level that the service must provide for the kth quality dimension. Finally, QoS
constraints are modeled by using an extension of UML proposed by OMG [
        <xref ref-type="bibr" rid="ref21">21</xref>
        ]. The
enhanced UML diagrams, that are the output of this phase, define services at an
abstract level, i.e., without considering specific technologies or user characteristics.
Such diagrams will be exploited to actually implement and deploy the service in
subsequent methodological phases.
      </p>
      <p>The context adaptation phase takes into account the actual target environment in
order to evaluate technological and user requirements. An abstract QoS requirement
is verified if contextual technical characteristics (for example, the actual device or the
network connection) provide quality values greater than or equal to threshold Bk.</p>
      <p>
        The value of each quality dimension can be quantified by considering ideal quality
values associated with the profile of the requesting user. Therefore, a comparison
between the level Bk of each quality dimension defined in the high-level redesign
phase (service quality request) and the ideal level Bu associated with the profile of the
requesting user (user quality request) allows the compatibility analysis between user
requirements and service characteristics. An overall evaluation of compatibility on
multiple quality dimensions can be performed by using QoS trees, where each node
represents a quality dimension. The MAIS methodology provides a bottom-up quality
evaluation approach based on the Simple Additive Weighting technique [
        <xref ref-type="bibr" rid="ref20 ref22">20, 22</xref>
        ]. If
design assumptions are compatible with quality requirements, the context adaptation
phase is completed, otherwise the set of violated constraints is provided.
4
      </p>
    </sec>
    <sec id="sec-4">
      <title>Broker-Provider</title>
      <p>Management Costs</p>
    </sec>
    <sec id="sec-5">
      <title>Negotiation and</title>
    </sec>
    <sec id="sec-6">
      <title>Dynamic</title>
    </sec>
    <sec id="sec-7">
      <title>Evaluation of</title>
      <p>The MAIS methodology assumes the existence of a broker between providers and
users. The broker has two conflicting goals: to maximize the satisfaction of user
requirements and to achieve maximum possible returns from its brokering role. The
broker is supposed to be paid by each provider every time a service of that provider is
supplied to a user. Payment is quantified as a percentage of price. The value of this
percentage is the output of a negotiation process between the broker and the provider
occurring when the provider subscribes the brokering service. The broker can also
increase the quality of a service offered by a provider by complementing the service
in several ways, whose discussion is out of the scope of this paper.</p>
      <p>
        The aim of the service provider i of the service j and the broker in the preliminary
negotiation phase is to set the value of a triple &lt;pij, percij, qij&gt; where pij is the price
paid by the user for the service, percij is the percentage on the price due by the service
provider to the broker, comprised between 0 and 1, and qij is the aggregate value of
QoS (see Section 3) with which the service will be provided (0 ≤ qi j≤ 1). The
negotiation process is defined by the Negotiation Protocol, the Negotiation Objectives, and
the participants’ Decision Model, as discussed in [
        <xref ref-type="bibr" rid="ref23">23</xref>
        ]. A utility function V is defined,
evaluating how much an offer is worth to a participant. Such utility function is:
• V = pij for the provider, which is interested in maximizing its revenue;
percij ⋅qij
• V = pij ⋅ qij ⋅ percij for the broker, which is interested in maximizing both its revenue
and user satisfaction.
      </p>
      <p>The broker can increase the service quality level qij to a quality level qij*. In order
to provide an example, let us consider a user that requires a data quality level equal to
Qj. If the service provider can offer a quality qij&lt; Qj, the broker can increase the
quality level by improving the data provided with other data retrieved from certified
external sources. In general, in order to increase the quality level of a service, the broker
will incur an extra cost c*(qij*), but can also provide the service to the customer at a
higher price p*(qij*). Formally, the goal of the broker is to maximize the function:
WBroker*UBroker(q)+WUser*UUser(q), where UBroker and UUser indicate the broker and user
utility functions, while WBroker and WUser are two weights such that WBroker+WUser=1,
which establish the relative importance of broker returns and user satisfaction.
utility function reaches its maximum. Vice versa, the broker’s utility function is
expressed as the net revenue from service provisioning, i.e.
UBroker(q)=p*(q)-p+p*percc*(q). As will be discussed in Section 6 the maximization problem is NP-hard if the
platform has to guarantee global constraints for the execution of complex services
built from simple services from multiple providers.
The execution of a complex service in a mobile environment, with different devices
connected through different network technologies, needs new strategies with respect
to the traditional solutions adopted for centralized workflows. These solutions rely on
a single engine that knows and controls all system resources, while mobility demands
a decentralized execution carried out by a federation of heterogeneous devices. These
requirements lead to a new strategy that stresses the independency among actors, to
minimize interaction and knowledge sharing, and, thus, increases reliability.</p>
      <p>The MAIS methodology proposes a set of formal partitioning rules that transform
a unique workflow into a set of federated workflows that can be executed by different
engines. Our partitioning approach is based on graph transformation [BH02], where a
typed graph defines the types of nodes and edges that can be used to create graphs
and transformation rules manipulate these graphs. The left-hand side L of a rule
defines the pre-conditions that must hold on the graph to enable the rule, while the
right-hand side R describes the post-conditions, that is, the modifications on the graph
after applying the rule.</p>
      <p>The rules read a MAIS-BPEL specification of the original workflow, along with
the description of the topology of the network infrastructure (i.e., the list of available
engines). The result is a set of MAIS-BPEL specifications that represent the local
processes (views) of each engine.</p>
      <p>The partitioning framework is implemented as a Web service, called Partitioner,
based on AGG, an existing general-purpose graph transformation tool. This module
receives a GXL file, representing the original MAIS-BPEL description, and produces
a set of GXL files representing the local views for the orchestrators. Consequently,
we first translate the original MAIS-BPEL description into GXL, by means to XSL
technology, and then we re-translate GXL files into a MAIS-BPEL description.</p>
      <p>
        The feasibility of our transformation depends on the assumptions that partitioning
rules define a graph transformation system that exposes a functional behavior, i.e., is
confluent and terminates. Moreover, the execution flow of the original workflow has
to be preserved. We check the first hypothesis by exploiting the critical pair analysis
capabilities supplied by AGG [
        <xref ref-type="bibr" rid="ref7">7</xref>
        ]. Our rules have no conflicts such as the ones
described before; thus our graph transformation system has a functional behaviour [
        <xref ref-type="bibr" rid="ref6">6</xref>
        ].
Currently our proof of the second hypothesis is based on the observation that
partitioning rules only add activities to synchronize the different sub-workflows, which do
not alter the execution flow.
6
      </p>
    </sec>
    <sec id="sec-8">
      <title>Optimal Service Selection and Quality Renegotiation</title>
      <p>
        The goal of this phase is to select a set of services satisfying requirements from a
registry of available services at runtime. Usually, a set of functional equivalent
services can be selected, i.e., services which implement the same functionality but differ
in their quality parameters [37]. Therefore, service selection raises an optimization
problem. In the work presented in [
        <xref ref-type="bibr" rid="ref17">17</xref>
        ], two main approaches have been proposed:
local and global optimization. The former selects at run time the best candidate
service which supports the execution of a running high level activity. The latter
identifies the set of candidate services which satisfy end-user preferences for an entire
application. The two approaches allow the specification of Quality of Service (QoS)
constraints at a local and global level, respectively. A local constraint allows the
selection of a service according to a required characteristic. For example, a service can
be selected such that its price or its execution time are lower than a given threshold.
Global constraints are constraints on the overall execution of a set of services
constituting an application, i.e., constraints such as "The overall execution time of the
application has to be lower than 3 seconds" or "total price has to be lower than 2$."
      </p>
      <p>
        Note that the end-user is mainly interested in global constraints. For example, a
user is typically concerned with the total execution time of the application instead of
the execution time of individual activities. Furthermore, service composition could be
transparent to the end-user. In the MAIS methodology, we have implemented a
global approach for service selection and optimization. The problem of service
composition with QoS constraints has been modelled as a mixed integer linear
programming problem. The problem is NP-hard, since it is equivalent to a Multiple Choice
Multiple Dimension Knapsack problem [
        <xref ref-type="bibr" rid="ref16 ref18 ref22">16, 22, 18</xref>
        ]. The optimization problem is
solved by formulating a mixed integer linear programming (MILP) model which is
solved with CPLEX, a state of the art commercial solver, which implements a branch
and cut technique [
        <xref ref-type="bibr" rid="ref18">18</xref>
        ]. In the MAIS methodology, negotiation, service selection,
optimization, and service execution are interleaved. Re-optimization is performed
periodically, if the end-user changes the service channel or if a service invocation
fails.
      </p>
      <p>
        In order to evaluate the effectiveness of our approach, we have compared our
solutions with those provided by the local optimization approach proposed in [
        <xref ref-type="bibr" rid="ref17">17</xref>
        ].
Results have shown [
        <xref ref-type="bibr" rid="ref16">16</xref>
        ] that the global optimization provides better results, since
bounds for quality dimensions can be always guaranteed and the value of the quality
dimensions can be improved by 10-70%.
7
      </p>
    </sec>
    <sec id="sec-9">
      <title>Implementation</title>
      <p>Architecture</p>
    </sec>
    <sec id="sec-10">
      <title>Guidelines for a</title>
    </sec>
    <sec id="sec-11">
      <title>QoS-Oriented</title>
    </sec>
    <sec id="sec-12">
      <title>Reflective</title>
      <p>
        The methodological framework for the definition of adaptive services introduced in
the previous sections is supported by an underlying reflective architecture. Generally,
services rely on a logical layer (e.g., OS and middleware) exploiting functional
features of the system components (e.g., devices and network services). Architectural
reflection [
        <xref ref-type="bibr" rid="ref26 ref28">26, 28</xref>
        ] introduces a reflective layer allowing applications to observe and
control non-functional features of system components at execution time, thus
supporting adaptability. A reflective layer is causally connected [
        <xref ref-type="bibr" rid="ref28">28</xref>
        ] to the logical layer. The
reflective architecture [
        <xref ref-type="bibr" rid="ref24 ref25 ref29">24, 25, 29</xref>
        ] models the quality of service [
        <xref ref-type="bibr" rid="ref27">27</xref>
        ] of system
components by means of reflective objects (R_Objects).
      </p>
      <p>R_Object
getQoS()
setQoS()
R_Aggregate
1</p>
      <p>0..* R_Elemental
1
1
QoSStrategy
mapUp()
mapDown()</p>
      <p>QoS
name : String
unitOfMeasure : String</p>
      <p>1
QoSValueSet
1
1</p>
      <p>1
1..*
QoSValue +actualValue</p>
      <p>1
QoSQualitative</p>
      <p>QoSQuantitative
Neither components nor their QoS can be defined in an absolute way. For example,
an application may observe just the maximum screen resolution of an end-user
channel in terms of qualitative, domain-dependent QoS (e.g., “low”, “medium”, “high”).
A different application may observe and/or control both specific devices (e.g., a
desktop monitor, a wall screen, and a projector) and their “pixel x pixel” resolution.
Therefore, a general mechanism for defining R_Objects and their QoS according to domain
requirements is needed.</p>
      <p>The QoS extension pattern of Figure 3 highlights that an R_Aggregate is a
reflective object whose QoS is causally connected via a QoSStrategy to the QoS of a
collection of R_Elemental reflected objects. The mapUp() method of the QoSStrategy
defines how QoS of an aggregate is obtained by exploiting the QoS of its elemental
components. The mapDown() method defines how the QoS of an aggregate is
mapped onto the QoS of its elemental components. Figure 4 shows how the general
extension pattern fits into the reflective architecture. R_Objects at the Base Reflective
Layer are causally connected to the Logical Layer components. They expose
measurable QoS values which can be observed and/or controlled via platform-dependent
mechanisms.</p>
      <p>
        R_Objects at the Extended Reflective Layer model higher-level, domain-oriented
abstractions. For example, the maximum resolution of a laptop is computed as the
maximum resolution of all the display components it is connected to (e.g., wall
monitor, desktop, hand-on device monitor). The bandwidth of the extended network
service can be controlled by selecting one among several service providers.
This paper discusses a first attempt to define a methodological framework supporting
the most relevant phases of the design of a value-added service, that is a functionality
of an adaptive and multichannel information system obtained by composing services
offered by different providers. The discussion has focused on the following phases of
the life cycle of web-services: requirements analysis, design, deployment, run time
use and negotiation. Current work is focusing on the use of specific requirement
techniques to elicit user requirements and usage scenario [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ], and to extend our
proposal including other contributes of the MAIS project such as design and deployment
of context-aware data-intensive web applications [
        <xref ref-type="bibr" rid="ref2">2</xref>
        ], techniques for evaluating the
usability of interfaces [
        <xref ref-type="bibr" rid="ref4">4</xref>
        ], and tools for adaptive interfaces [
        <xref ref-type="bibr" rid="ref3">3</xref>
        ].
      </p>
    </sec>
    <sec id="sec-13">
      <title>Acknowledgements</title>
      <p>This work has been supported by the Italian MIUR-FIRB Project MAIS. The authors
acknowledge the contribution of all MAIS participants to this work in many
discussions in project meetings.</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          1.
          <string-name>
            <given-names>D.</given-names>
            <surname>Bolchini</surname>
          </string-name>
          and
          <string-name>
            <given-names>J.</given-names>
            <surname>Mylopoulos</surname>
          </string-name>
          .
          <article-title>From Task-Oriented to Goal-Oriented Web Requirements Analysis</article-title>
          .
          <source>In Proceedings of the 4th International Conference on Web Information Systems Engineering</source>
          , WISE'
          <fpage>03</fpage>
          , Rome, Italy,
          <year>December 2003</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          2.
          <string-name>
            <given-names>S.</given-names>
            <surname>Ceri</surname>
          </string-name>
          ,
          <string-name>
            <given-names>P.</given-names>
            <surname>Fraternali</surname>
          </string-name>
          and
          <string-name>
            <given-names>A.</given-names>
            <surname>Bongio. Web Modeling</surname>
          </string-name>
          <article-title>Language (WebML): a Modeling Language for Designing Web Sites</article-title>
          .
          <source>In Proceedings of the 9th International World Wide Web Conference, WWW</source>
          <year>2000</year>
          , Amsterdam, The Netherlands, May
          <year>2000</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          3.
          <string-name>
            <given-names>R.</given-names>
            <surname>Torlone</surname>
          </string-name>
          and
          <string-name>
            <given-names>P.</given-names>
            <surname>Ciaccia</surname>
          </string-name>
          .
          <article-title>Management of User Preferences in Data Intensive Applications</article-title>
          .
          <source>In Proceedings of the 11th Italian National Conference on Advanced Data Base Systems, SEBD</source>
          <year>2003</year>
          , Cetraro, Italy,
          <year>June 2003</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          4.
          <string-name>
            <given-names>E.</given-names>
            <surname>Bertini</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Billi</surname>
          </string-name>
          ,
          <string-name>
            <given-names>L.</given-names>
            <surname>Burzagli</surname>
          </string-name>
          ,
          <string-name>
            <given-names>T.</given-names>
            <surname>Catarci</surname>
          </string-name>
          ,
          <string-name>
            <given-names>F.</given-names>
            <surname>Gabbanini</surname>
          </string-name>
          ,
          <string-name>
            <given-names>P.</given-names>
            <surname>Graziani</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.</given-names>
            <surname>Kimani</surname>
          </string-name>
          , E. Palchetti, and
          <string-name>
            <given-names>G.</given-names>
            <surname>Santucci</surname>
          </string-name>
          .
          <article-title>Evaluation of the Usability and Accessibility wrt Channels, Devices, and Users</article-title>
          .
          <source>MAIS technical report 7.3.5</source>
          ,
          <year>2005</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          5.
          <string-name>
            <given-names>E.</given-names>
            <surname>Bestini</surname>
          </string-name>
          and
          <string-name>
            <given-names>G.</given-names>
            <surname>Santucci</surname>
          </string-name>
          .
          <article-title>Modeling internet based applications for designing multidevice adaptive interfaces</article-title>
          .
          <source>In Proceedings of the working conference on Advanced Visual Interfaces</source>
          ,
          <source>AVI</source>
          <year>2004</year>
          , Gallipoli, Italy, May
          <year>2004</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          6.
          <string-name>
            <given-names>L.</given-names>
            <surname>Baresi</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Maurino</surname>
          </string-name>
          , and
          <string-name>
            <given-names>S.</given-names>
            <surname>Modafferi</surname>
          </string-name>
          .
          <article-title>Workflow Partitioning in Mobile Information Systems</article-title>
          .
          <source>In Proceedings of the IFIP TC 8 Working Conference on Mobile Information Systems (MOBIS)</source>
          , Oslo, Norway, pages
          <fpage>93</fpage>
          -
          <lpage>106</lpage>
          ,
          <year>September 2004</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          7.
          <string-name>
            <given-names>J.H.</given-names>
            <surname>Hausmann</surname>
          </string-name>
          ,
          <string-name>
            <given-names>R.</given-names>
            <surname>Heckel</surname>
          </string-name>
          , and
          <string-name>
            <given-names>G.</given-names>
            <surname>Taentzer</surname>
          </string-name>
          .
          <article-title>Detection of conflicting functional requirements in a use case-driven approach: a static analysis technique based on graph transformation</article-title>
          .
          <source>In Proceedings of the International Conference on Software Engineering, ICSE</source>
          <year>2002</year>
          ,
          <article-title>Orlando</article-title>
          , FL, USA, pages
          <fpage>105</fpage>
          -
          <lpage>115</lpage>
          , May
          <year>2002</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          8.
          <string-name>
            <given-names>K.</given-names>
            <surname>Baïna</surname>
          </string-name>
          ,
          <string-name>
            <given-names>B.</given-names>
            <surname>Benatallah</surname>
          </string-name>
          ,
          <string-name>
            <given-names>F.</given-names>
            <surname>Casati</surname>
          </string-name>
          , and
          <string-name>
            <given-names>F.</given-names>
            <surname>Toumani</surname>
          </string-name>
          .
          <article-title>Model-Driven Web Service Development</article-title>
          .
          <source>In Proceedings of the 16th International Conference on Advanced Information Systems Engineering, CAiSE</source>
          <year>2004</year>
          , Riga, Latvia, pages
          <fpage>290</fpage>
          -
          <lpage>306</lpage>
          ,
          <year>June 2004</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          9.
          <string-name>
            <given-names>E.</given-names>
            <surname>Colombo</surname>
          </string-name>
          ,
          <string-name>
            <given-names>C.</given-names>
            <surname>Francalanci</surname>
          </string-name>
          , and
          <string-name>
            <given-names>B.</given-names>
            <surname>Pernici</surname>
          </string-name>
          .
          <article-title>Modeling Cooperation in Virtual Districts: A Methodology for E-Service Design</article-title>
          .
          <source>Int. Journal of Cooperative Information Systems</source>
          ,
          <volume>13</volume>
          (
          <issue>4</issue>
          ):
          <fpage>369</fpage>
          -
          <lpage>411</lpage>
          ,
          <year>2004</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          10.
          <string-name>
            <given-names>F.</given-names>
            <surname>Casati</surname>
          </string-name>
          and
          <string-name>
            <given-names>M.</given-names>
            <surname>Shan</surname>
          </string-name>
          .
          <article-title>Dynamic and adaptive composition of e-services</article-title>
          .
          <source>Information Systems</source>
          ,
          <volume>6</volume>
          (
          <issue>3</issue>
          ),
          <year>2001</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          11.
          <string-name>
            <given-names>R.S.</given-names>
            <surname>Kaabi</surname>
          </string-name>
          ,
          <string-name>
            <given-names>C.</given-names>
            <surname>Souveyet</surname>
          </string-name>
          , and
          <string-name>
            <given-names>C.</given-names>
            <surname>Rolland</surname>
          </string-name>
          .
          <article-title>Eliciting service composition in a goal driven manner</article-title>
          .
          <source>In Proceedings of the 2nd International Conference on Service Oriented Computing, ICSOC</source>
          <year>2004</year>
          , New York City, NY, USA, pages
          <fpage>308</fpage>
          -
          <lpage>315</lpage>
          ,
          <year>November 2004</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref12">
        <mixed-citation>
          12.
          <string-name>
            <given-names>A.</given-names>
            <surname>Lazovik</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Aiello</surname>
          </string-name>
          , and
          <string-name>
            <given-names>M.P.</given-names>
            <surname>Papazoglou</surname>
          </string-name>
          .
          <article-title>Planning and Monitoring the Execution of Web Service Requests</article-title>
          .
          <source>In Proceedings of the 1st International Conference on Service Oriented Computing, ICSOC</source>
          <year>2003</year>
          , Trento, Italy, pages
          <fpage>335</fpage>
          -
          <lpage>350</lpage>
          ,
          <year>November 2004</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref13">
        <mixed-citation>
          13.
          <string-name>
            <given-names>D.</given-names>
            <surname>Menasce</surname>
          </string-name>
          . Composing Web Services:
          <article-title>A QoS View</article-title>
          .,
          <source>IEEE Internet Computing</source>
          ,
          <volume>8</volume>
          (
          <issue>6</issue>
          ), November/
          <year>December 2004</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref14">
        <mixed-citation>
          14.
          <string-name>
            <surname>M. Mecella</surname>
            ,
            <given-names>F.</given-names>
          </string-name>
          <string-name>
            <surname>Parisi-Presicce</surname>
            , and
            <given-names>B.</given-names>
          </string-name>
          <string-name>
            <surname>Pernici</surname>
          </string-name>
          . Modeling E
          <article-title>-service Orchestration through Petri Nets</article-title>
          .
          <source>In Proceedings of the 3rd VLDB International Workshop on Technologies for E-Services, TES'02</source>
          ,
          <string-name>
            <surname>Hong</surname>
            <given-names>Kong</given-names>
          </string-name>
          , China, pages
          <fpage>38</fpage>
          -
          <lpage>47</lpage>
          ,
          <year>August 2002</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref15">
        <mixed-citation>
          15.
          <string-name>
            <given-names>A.</given-names>
            <surname>Abhijit</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Patil</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Swapna</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Oundhakar</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A. P.</given-names>
            <surname>Sheth</surname>
          </string-name>
          , and
          <string-name>
            <given-names>K.</given-names>
            <surname>Verma</surname>
          </string-name>
          .
          <article-title>Meteor-s web service annotation framework</article-title>
          .
          <source>In Proceedings of the 13th International World Wide Web Conference, WWW</source>
          <year>2004</year>
          , New York City, NY, USA, pages
          <fpage>553</fpage>
          -
          <lpage>562</lpage>
          , May
          <year>2004</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref16">
        <mixed-citation>
          16.
          <string-name>
            <given-names>D.</given-names>
            <surname>Ardagna</surname>
          </string-name>
          and
          <string-name>
            <given-names>B.</given-names>
            <surname>Pernici</surname>
          </string-name>
          .
          <article-title>QoS Evaluation in Web Service Selection</article-title>
          .
          <source>Politecnico di Milano</source>
          ,
          <source>Technical Report n</source>
          .
          <year>2005</year>
          .
          <volume>20</volume>
          ,
          <year>2005</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref17">
        <mixed-citation>
          17. L.
          <string-name>
            <surname>Zeng</surname>
            ,
            <given-names>B.</given-names>
          </string-name>
          <string-name>
            <surname>Benatallah</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          <string-name>
            <surname>Dumas</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          <string-name>
            <surname>Kalagnamam</surname>
            , and
            <given-names>H.</given-names>
          </string-name>
          <string-name>
            <surname>Chang</surname>
          </string-name>
          .
          <article-title>QoS-Aware Middleware for Web Services Composition</article-title>
          .
          <source>IEEE Transactions on Software Engineering</source>
          ,
          <volume>30</volume>
          (
          <issue>11</issue>
          ):
          <fpage>315</fpage>
          -
          <lpage>327</lpage>
          , May
          <year>2004</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref18">
        <mixed-citation>
          18.
          <string-name>
            <given-names>L. Wolsey. Integer</given-names>
            <surname>Programming</surname>
          </string-name>
          . John Wiley &amp; Sons,
          <year>1998</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref19">
        <mixed-citation>
          19.
          <string-name>
            <surname>M. Comerio</surname>
            ,
            <given-names>F.</given-names>
          </string-name>
          <string-name>
            <surname>De Paoli</surname>
          </string-name>
          ,
          <string-name>
            <surname>C. De Francesco</surname>
            ,
            <given-names>A. Di</given-names>
          </string-name>
          <string-name>
            <surname>Pasquale</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          <string-name>
            <surname>Grega</surname>
            , and
            <given-names>C.</given-names>
          </string-name>
          <string-name>
            <surname>Batini</surname>
          </string-name>
          .
          <article-title>A Redesign Methodology for Multi-channel Applications in the Zootechnical Domain</article-title>
          .
          <source>In Proceedings of the 12th Italian Symposium on Advanced Database Systems</source>
          , SEBD 2004, S.Margherita di Pula, Italy,
          <year>June 2004</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref20">
        <mixed-citation>
          20.
          <string-name>
            <surname>M. Comerio</surname>
            ,
            <given-names>F.</given-names>
          </string-name>
          <string-name>
            <surname>De Paoli</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          <string-name>
            <surname>Grega</surname>
            ,
            <given-names>C.</given-names>
          </string-name>
          <string-name>
            <surname>Batini</surname>
            ,
            <given-names>C.</given-names>
          </string-name>
          <article-title>Di Francesco, and</article-title>
          <string-name>
            <given-names>A. Di</given-names>
            <surname>Pasquale</surname>
          </string-name>
          .
          <article-title>A service re-design methodology for multi-channel adaptation</article-title>
          .
          <source>In Proceedings of the 2nd International Conference on Service Oriented Computing, ICSOC</source>
          <year>2004</year>
          , New York City, NY, USA,
          <year>November 2004</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref21">
        <mixed-citation>
          21.
          <article-title>UML Profile for Modeling Quality of Service and Fault Tolerance Characteristics and Mechanisms</article-title>
          .
          <source>OMG report</source>
          ,
          <year>September 2004</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref22">
        <mixed-citation>
          22.
          <string-name>
            <given-names>W.Y.</given-names>
            <surname>Lum</surname>
          </string-name>
          and
          <string-name>
            <given-names>F.C.M.</given-names>
            <surname>Lau</surname>
          </string-name>
          .
          <article-title>User-Centric Content Negotiation for Effective Adaptation Service in Mobile Computing</article-title>
          .
          <source>IEEE Transaction on Software Engineering</source>
          ,
          <volume>29</volume>
          (
          <issue>12</issue>
          ):
          <fpage>1000</fpage>
          -
          <lpage>1111</lpage>
          ,
          <year>December 2003</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref23">
        <mixed-citation>
          23.
          <string-name>
            <given-names>N.R.</given-names>
            <surname>Jennings</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.R.</given-names>
            <surname>Lomuscio</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.</given-names>
            <surname>Parsons</surname>
          </string-name>
          ,
          <string-name>
            <given-names>C.</given-names>
            <surname>Sierra</surname>
          </string-name>
          , and
          <string-name>
            <given-names>M.</given-names>
            <surname>Wooldridge</surname>
          </string-name>
          .
          <source>Automated Negotiation: prospects</source>
          , methods, and challenges.
          <source>International Journal of Group Decision and Negotiation</source>
          ,
          <volume>10</volume>
          (
          <issue>2</issue>
          ):
          <fpage>199</fpage>
          -
          <lpage>215</lpage>
          ,
          <year>2001</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref24">
        <mixed-citation>
          24.
          <string-name>
            <surname>M. Adorni</surname>
            ,
            <given-names>F.</given-names>
          </string-name>
          <string-name>
            <surname>Arcelli</surname>
            ,
            <given-names>C.</given-names>
          </string-name>
          <string-name>
            <surname>Raibulet</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          <string-name>
            <surname>Sarini</surname>
            , and
            <given-names>F.</given-names>
          </string-name>
          <string-name>
            <surname>Tisato</surname>
          </string-name>
          .
          <article-title>Designing an Architecture for Multichannel Adaptive Information Systems</article-title>
          .
          <source>In Proceedings of the 2004 International Conference on Software Engineering Research and Practice, SERP</source>
          <year>2004</year>
          ,
          <string-name>
            <given-names>Las</given-names>
            <surname>Vegas</surname>
          </string-name>
          , Nevada, USA, pages
          <fpage>652</fpage>
          -
          <lpage>658</lpage>
          ,
          <year>June 2004</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref25">
        <mixed-citation>
          25.
          <string-name>
            <given-names>F.</given-names>
            <surname>Arcelli</surname>
          </string-name>
          ,
          <string-name>
            <given-names>C.</given-names>
            <surname>Raibulet</surname>
          </string-name>
          ,
          <string-name>
            <given-names>F.</given-names>
            <surname>Tisato</surname>
          </string-name>
          , and
          <string-name>
            <given-names>M.</given-names>
            <surname>Adorni</surname>
          </string-name>
          .
          <article-title>Architectural Reflection in Adaptive Systems</article-title>
          .
          <source>In Proceedings of the 16th International Conference on Software Engineering &amp; Knowledge Engineering, SEKE</source>
          <year>2004</year>
          , Banff, Alberta, Canada, pages
          <fpage>74</fpage>
          -
          <lpage>79</lpage>
          ,
          <year>June 2004</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref26">
        <mixed-citation>
          26.
          <string-name>
            <given-names>W.</given-names>
            <surname>Cazzola</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Savigni</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Sosio</surname>
          </string-name>
          , and
          <string-name>
            <given-names>F.</given-names>
            <surname>Tisato</surname>
          </string-name>
          .
          <article-title>Rule-Based Strategic Reflection: Observing and Modifying Behaviour at the Architectural Level</article-title>
          .
          <source>In Proceedings of the 14th IEEE International Conference on Automated Software Engineering</source>
          , pages
          <fpage>263</fpage>
          -
          <lpage>266</lpage>
          ,
          <year>1999</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref27">
        <mixed-citation>
          27.
          <string-name>
            <given-names>D.</given-names>
            <surname>Chalmers</surname>
          </string-name>
          and
          <string-name>
            <given-names>M.</given-names>
            <surname>Sloman</surname>
          </string-name>
          .
          <article-title>A Survey of Quality of Service in Mobile Computing Environments</article-title>
          .
          <source>IEEE Communications Surveys</source>
          ,
          <year>1999</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref28">
        <mixed-citation>
          28.
          <string-name>
            <given-names>P.</given-names>
            <surname>Maes</surname>
          </string-name>
          .
          <article-title>Concepts and Experiments in Computational Reflection</article-title>
          .
          <source>In Proceedings of the Conference on Object-Oriented Programming Systems, Languages and Applications</source>
          , OOPSLA'
          <volume>87</volume>
          , pages
          <fpage>147</fpage>
          -
          <lpage>155</lpage>
          ,
          <year>1987</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref29">
        <mixed-citation>
          29.
          <string-name>
            <given-names>F.</given-names>
            <surname>Tisato</surname>
          </string-name>
          et al.
          <article-title>The MAIS Reflected Architecture</article-title>
          .
          <source>MAIS Technical Report</source>
          ,
          <year>November 2004</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref30">
        <mixed-citation>
          30.
          <string-name>
            <given-names>D.</given-names>
            <surname>Bianchini</surname>
          </string-name>
          , V. De Antonellis,
          <string-name>
            <given-names>B.</given-names>
            <surname>Pernici</surname>
          </string-name>
          , and
          <string-name>
            <given-names>P.</given-names>
            <surname>Plebani</surname>
          </string-name>
          .
          <article-title>Ontology-based methodology for e-Service discovery</article-title>
          .
          <source>Journal of Information Systems</source>
          , Elsevier Science (to appear).
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>