<!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>Modelling Variability, Evolvability, and Adaptability in Service Computing</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>M.H. ter Beek</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>S. Gnesi ISTI-CNR</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>Italy</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>terbeek</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>gnesi}@isti.cnr.it</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>A. Fantechi Università di Firenze</institution>
          ,
          <country country="IT">Italy</country>
        </aff>
        <aff id="aff1">
          <label>1</label>
          <institution>G. Zavattaro Università di Bologna</institution>
          ,
          <country country="IT">Italy</country>
        </aff>
      </contrib-group>
      <pub-date>
        <year>2010</year>
      </pub-date>
      <fpage>14</fpage>
      <lpage>19</lpage>
      <abstract>
        <p>-We present a vision for future research on an emerging topic in software engineering, namely the synergy between Software Product Line Engineering (SPLE) and ServiceOriented Computing (SOC). Our aim is to develop rigorous modelling techniques and analysis and verification tools that can be used for the systematic, large-scale provision and market segmentation of software services. We foresee flexible design techniques with which software service line organizations can develop novel classes of service-oriented applications that can easily be adapted to customer requirements as well as to changes in the context in which, and while, they execute. By superposing variability mechanisms on current languages for service design, based on policies and strategies defined by service providers, we envision the possibility to identify variability points that can be triggered at run time to increase adaptability and optimize the (re)use of resources.</p>
      </abstract>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>I. INTRODUCTION</title>
      <p>
        Product Line Engineering (PLE) is a paradigm to develop
a family of products using a common platform and mass
customization [
        <xref ref-type="bibr" rid="ref34">34</xref>
        ]. This engineering approach aims to lower
production costs of the individual products by letting them
share an overall reference model of the product family, while at
the same time allowing them to differ with respect to particular
characteristics in order to serve, e.g., different markets. As
a result, the production process in PLE is organized so as
to maximize commonalities of the products and at the same
time minimize the cost of variations. The product variants can
be derived from the product family, which allows reuse and
differentiation of products of the family. Software Product Line
Engineering (SPLE) is a paradigm for developing a diversity
of software products and software-intensive systems based
on the underlying architecture of an organization’s product
platform [
        <xref ref-type="bibr" rid="ref11">11</xref>
        ], [
        <xref ref-type="bibr" rid="ref38">38</xref>
        ].
      </p>
      <p>
        Service-Oriented Computing (SOC) has emerged as an
evolutionary new paradigm for distributed and object-oriented
computing [
        <xref ref-type="bibr" rid="ref37">37</xref>
        ], [
        <xref ref-type="bibr" rid="ref39">39</xref>
        ]. Services are autonomous, distributed,
and platform-independent computational elements capable of
solving specific tasks (ranging from answers to simple requests
to complex business processes) which all need to be described,
published, categorized, discovered, and then dynamically and
loosely coupled in novel ways (composed, orchestrated) so
as to create largely distributed, interoperable, and dynamic
applications and business processes which span organizational
boundaries as well as computing platforms. In the end,
serviceoriented systems deliver application functionalities as services
to either end-user applications or other services. Their
underlying infrastructures are called Service-Oriented Architectures
(SOAs). Unlike any earlier computing paradigm, SOC is
destined to exert a continuous influence on modern day domains
like e-Commerce, e-Government, e-Health, and e-Learning.
      </p>
      <p>
        In this paper, we present a vision for future research on an
emerging topic in software engineering, namely the synergy
between SPLE and SOC [
        <xref ref-type="bibr" rid="ref6">6</xref>
        ], [
        <xref ref-type="bibr" rid="ref12">12</xref>
        ], [
        <xref ref-type="bibr" rid="ref20">20</xref>
        ], [
        <xref ref-type="bibr" rid="ref22">22</xref>
        ]–[
        <xref ref-type="bibr" rid="ref27">27</xref>
        ], [
        <xref ref-type="bibr" rid="ref29">29</xref>
        ], [
        <xref ref-type="bibr" rid="ref40">40</xref>
        ].
Our aim is to develop rigorous modelling techniques as well as
analysis and verification tools that can be used for the
systematic, large-scale provision and market segmentation of software
services. We foresee flexible design techniques with which
software service line organizations can develop novel classes
of service-oriented applications that can easily be adapted to
customer requirements as well as to changes in the context
in which, and while, they execute. By superposing variability
mechanisms on current languages for service design, based
on policies and strategies defined by service providers, we
envision the possibility to identify variability points that can
be triggered at run-time to increase adaptability and optimize
the (re)use of resources. The resulting design techniques and
support tools will be able to assist organizations to plan,
optimize, and control the quality of software service provision,
both at design- and at run-time. We currently do not aim
to assist also the early requirements engineering phase of
system modelling; instead, the reader is referred to [
        <xref ref-type="bibr" rid="ref20">20</xref>
        ] and
its references for work on enhancing the i framework with
variability modelling capabilities.
      </p>
      <p>Our concrete proposal is to first focus on the definition of
the formal modelling framework, with a threefold objective:
1) the extension of (semi)formal existing notations and
languages for SOC with notions of variability through
which increased levels of flexibility and adaptability can
be achieved in software service provision;
2) the definition of a rigorous semantics of variability
over behavioural models of services that can support a
number of design- and run-time analysis techniques;
3) the development of analysis and verification techniques
that remain effective over specifications with variability
points, including situations in which the variability is
triggered at run-time.
As a motivating example, consider a case study drawn from
daily academic life, namely a software system that supports the
teaching activities of a university. This system is constituted
by a set of services offered to the teachers, to the students and
to the university staff, following a SOC paradigm. Migration
of such a system to a different university will introduce some
changes due to the different governance structure, different
size, and/or different teaching organization.</p>
      <p>A product family, or product line, can therefore be envisaged
to encompass all possible variants. Hence, a definition of
a service-oriented product line is needed. This product line
definition should be able to cope with static variability, which
is confined to deal with the difference between universities.
However, the evolution of laws introduce another form of
variability, namely dynamic variability, which needs to be
addressed in order to make the system adaptable to the
evolution of its environment.</p>
    </sec>
    <sec id="sec-2">
      <title>II. BEYOND THE STATE OF THE ART</title>
      <p>
        The SPLE and SOC approaches to software development
share a common goal: Both encourage an organization to
reuse existing assets and capabilities rather than repeatedly
redevelop them for new software systems. These approaches
enable organizations to capitalize on reuse to achieve desired
benefits such as productivity gains, decreased development
costs, improved time-to-market, higher reliability, and
competitive advantage. Their distinct goals may be stated as
follows [
        <xref ref-type="bibr" rid="ref40">40</xref>
        ].
      </p>
      <p>SPLE Systematically capture and exploit commonalities
among a set of related systems, while managing
variations for specific customers or market segments;
SOC Enable the assembly, orchestration, and maintenance
of enterprise solutions to quickly react to changing
business requirements.</p>
      <p>
        Contributions concerning the connection between SPLE and
SOC are starting to emerge in the software engineering
community [
        <xref ref-type="bibr" rid="ref6">6</xref>
        ], [
        <xref ref-type="bibr" rid="ref20">20</xref>
        ], [
        <xref ref-type="bibr" rid="ref22">22</xref>
        ]–[
        <xref ref-type="bibr" rid="ref25">25</xref>
        ], [
        <xref ref-type="bibr" rid="ref29">29</xref>
        ] and a recent workshop
series [
        <xref ref-type="bibr" rid="ref12">12</xref>
        ], [
        <xref ref-type="bibr" rid="ref26">26</xref>
        ], [
        <xref ref-type="bibr" rid="ref27">27</xref>
        ] examines the connection between SOA
and SPL approaches with the purpose of answering how the
two techniques can benefit from each other. Indeed
serviceoriented systems can benefit from SPL’s variation management
approaches to identify and design services targeted to multiple
service-oriented systems.
      </p>
      <p>
        In [
        <xref ref-type="bibr" rid="ref6">6</xref>
        ] an approach is proposed to transfer the main
peculiarities of a SPL (i.e., asset reuse and variation mechanisms)
to service-oriented systems development, in order to realize
a service-oriented systems line. In this way, a method is
provided to easily adapt a service-oriented application to
different customer needs in changeable environments. The
service-oriented systems line consists of two main phases
using respectively the Business Process Lines concept, that
allows realizing a process variant specifically for the given
requirements and the Process-Oriented Development paradigm
that allows automating this model and transforming it into a
service-oriented system.
      </p>
      <p>
        In [
        <xref ref-type="bibr" rid="ref24">24</xref>
        ] the application of dynamic product line practices
is proposed to facilitate the design of service-based systems.
Atomic services are used to represent basic system features.
A composition of such services creates a configuration, which
is a product of the product line. The requirements of an
application are modelled in terms of a feature diagram during
a domain analysis phase, while distinguishing between atomic
and composite features. The entire system is built from atomic
features, mapped directly onto a set of existing services.
      </p>
      <p>
        In [
        <xref ref-type="bibr" rid="ref29">29</xref>
        ] feature analysis and service analysis are combined
into a method to guide developers to developed
serviceoriented product lines. While the methods inherits the
flexibility from service orientation, it still allows to manage variability
through SPLE techniques. It comes with an architectural model
for the systematic development of service-oriented product
lines, and with support for dynamic reconfiguration.
      </p>
      <p>We envision to go beyond the state-of-the-art of the
connection between SPLE and SOC, with a twofold objective:
1) to provide a full formal model of such connections, with
verification techniques based upon them;
2) to address run-time adaptability by extending the scope
of the flexibility that can be achieved by introducing
variability in service definitions.</p>
    </sec>
    <sec id="sec-3">
      <title>III. OVERALL STRATEGY</title>
      <p>The primary objective of the research we envision is to
add variability and adaptability to the principles of SOC.
The strategy is, in the first instance, to inherit from SPLE
mechanisms to include variability notions in a software
artifact. A crosscutting concern is to guarantee basic correctness
assumptions of the provided services, in terms of certain
desired qualitative and quantitative properties, by means of
formal modelling of variability and adaptability. The
rationale is that families of services should be formally defined
with a service-oriented description language such as, e.g,
UML4SOA (www.uml4soa.eu), BPEL 2.0 (www.oasis-open.
org/committees/wsbpel) and/or JOLIE (www.jolie-lang.org),
suitably extended to deal with variability and adaptability.
Current service-oriented languages do not support (or support
in a very limited form) the possibility to configure, adapt, and
reconfigure the specified system. Subsequently, the extension
along the same lines of the formal verification techniques
already available for such languages, will provide the
possibility to conduct formal property verification on service-oriented
specifications that include variability.</p>
      <p>In our vision, variability needs to be investigated from
several points of view:
1) The formal modelling of variability and evolvability;
2) The linguistic mechanisms to express variability in
service-oriented descriptions;
3) The development of formal verification techniques and
tools for service-oriented systems utilizing variability.
We now provide details on how to pursue these three issues.</p>
      <sec id="sec-3-1">
        <title>A. Modelling Variability and Evolvability</title>
        <p>To address the aforementioned crosscutting concern on
correctness, we need to provide a formal model of service
lines that is able to capture the notion of variability, i.e., it
is able to express the variations that certain characteristics
of services can be subject to. To this aim, the basics of
variability modelling need to be investigated in connection
with the formal modelling of SOAs.</p>
        <p>A common reference model for the behaviour of a service
in SOC computing is based on Labelled Transition Systems
(LTSs): A service is defined as a state machine that interacts
with its clients and with other services, and such interactions
may trigger a transition to a different state.</p>
        <p>
          An extension of LTSs, called Modal Transition Systems
(MTSs), has been proposed as a formal model for product
families [
          <xref ref-type="bibr" rid="ref19">19</xref>
          ], [
          <xref ref-type="bibr" rid="ref28">28</xref>
          ], allowing one to embed in a single model
the behaviour of a family of products that share the basic
structure of states and transitions, transitions which can
moreover be seen as mandatory or possible for the products of the
family. In [
          <xref ref-type="bibr" rid="ref17">17</xref>
          ], the MTS concept has been pushed to a more
general form, allowing more precise modelling of the different
kinds of variability that can typically be found in the definition
of a product family.
        </p>
        <p>
          On the other hand, deontic logics [
          <xref ref-type="bibr" rid="ref1">1</xref>
          ], [
          <xref ref-type="bibr" rid="ref30">30</xref>
          ], [
          <xref ref-type="bibr" rid="ref32">32</xref>
          ], [
          <xref ref-type="bibr" rid="ref33">33</xref>
          ],
[
          <xref ref-type="bibr" rid="ref41">41</xref>
          ] have recently become popular in computer science for
formalizing descriptional and behavioural aspects of systems.
This is mainly because they provide a natural way to
formalize concepts like violation, obligation, permission, and
prohibition. Intuitively, they permit one to distinguish between
correct (normative) states and actions on the one hand and
non-compliant states and actions on the other hand. This
makes deontic logic a natural candidate for expressing the
conformance of members of a family of products with respect
to variability rules.
        </p>
        <p>A first goal is therefore to establish a common reference
model that develops these concepts to fully take into account
the peculiarities of SOC and the characteristics of SPLE.
When the modelling of variability in SOC is consolidated,
the reference model will be extended to address run-time
adaptability. However, this is a challenging task that can only
be attacked when the modelling of variability in SOC is fully
understood (cf. Sect. III-C).</p>
        <p>
          A second, future goal is to model not only functional
variability but also quality attribute variability in SPLE [
          <xref ref-type="bibr" rid="ref16">16</xref>
          ].
In particular, it would be interesting to study how to model
and maintain certain Quality of Service (QoS) levels and
QoS-aware service composition in the presence of variability,
evolvability, and adaptability [
          <xref ref-type="bibr" rid="ref31">31</xref>
          ], [
          <xref ref-type="bibr" rid="ref36">36</xref>
          ].
        </p>
      </sec>
      <sec id="sec-3-2">
        <title>B. Extending Service-Oriented Languages</title>
        <p>The idea is to investigate the extensions/modifications that
need to be applied to current service-oriented languages in
order to support both static and dynamic variability. It is
necessary to revisit choreography, orchestration, and behavioural
contract languages.</p>
        <p>Concerning static variability, we need to investigate the most
effective ways to include constructs in the languages to express
so-called variation points, i.e., the points where a single
service, or a choreography, or an orchestration, admit different
variants. The choice of variants is made at configuration time
(i.e., product derivation time), hence we expect that a single
product respects the syntax of the considered language.</p>
        <p>
          A particular role can be played in this regard by behavioural
contracts. Behavioural contracts have been independently
introduced in SOC by various authors (see, e.g., [
          <xref ref-type="bibr" rid="ref7">7</xref>
          ]–[
          <xref ref-type="bibr" rid="ref9">9</xref>
          ] and
the references therein), and represent an abstraction of the
expected behaviour of a service according to its main
observable features: a notion of compliance is also defined, to verify
that a service actually presents the abstraction required by the
contract. Indeed, the very same definition of contract entails
a definition of a family of services: the family of all services
that are compliant to the contract. Hence, one of the possible
ways to express variability is just an invocation to a service
compliant to a contract, leaving free the binding to an actual
service at configuration time.
        </p>
        <p>Regarding dynamic variability, several directions of
investigation can be pursued. For instance, we plan to study two
different scenarios: predictable and unpredictable updates.
In general, a dynamic update is triggered by some specific
events indicating the necessity to modify the system. If the
modifications to be applied are known at design-time (i.e.,
they are predictable), then it is possible to program such
modifications using mechanisms similar to fault-handling in
standard languages. On the other hand, if the modifications to
be applied to the system are not known at design-time (i.e.,
they are unpredictable), then it is not only necessary to extend
the language, but the system architecture needs to be changed
by adding specific components that we call reconfiguration
managers.</p>
        <p>First of all, we can address it by including in the language
evolution hooks, i.e., information on part of the system
structure or behaviour on which modifications could be applied,
allowing the programmer specify points that could be affected
by future system reconfigurations. A reconfiguration manager
is responsible for catching the events indicating the necessity
to reconfigure the system, and then it reacts by applying the
required modifications to the evolution hooks. In our vision, a
reconfiguration manager should follow some update rules that
can be dynamically modified, thus giving the possibility to
inject in the system new adaptation policies that were unknown
at design-time.</p>
        <p>The dynamic variability logic should be developed
separately, e.g., as a set of evolution rules. Such rules could
be created/changed after the application has been deployed
without affecting the running application. Evolution should
be enacted by an evolution manager, possibly composed by
different evolution servers. At run-time, such servers should
check the environment conditions and the user needs, control
whether some modification has to be applied to the application,
and exploit the evolution hooks provided by the application to
reconfigure it.
Based on the extended languages, also the theories already
developed for choreographies, orchestrators, and behavioural
contracts need to be revisited. These three distinct aspects
of SOC are strictly related. For instance, one could extract
from choreographies the behavioural contracts of the involved
services, or verify whether or not an orchestrator respects a
behavioural contract. The theories relating these aspects need
to be revisited in order to cope with variability.</p>
        <p>In particular, variability of the system architecture can be
more easily expressed with choreography languages. In the
case of dynamic variability, in order for the reconfiguration to
take place, the modifications must be applied to the running
services. Therefore, appropriate projection functions must be
defined which can automatically obtain, from the variability
expressed with choreography languages, the modifications to
be applied to the evolution hooks of the relevant services.
Moreover, current behavioural contract theories have to be
enhanced in order to include also dynamic checks that are able
to verify, at reconfiguration time, whether or not the modified
system still preserves some expected properties such as service
compliance.</p>
        <p>These proposed enhancements to SOC languages have to
be validated by experimenting them on an existing SOC
framework, like JOLIE (www.jolie-lang.org). JOLIE is a fully
fledged orchestration language that already includes some
form of dynamic variability such as the possibility to rebind
service ports or replace internal services. The goal in this
case is to extend JOLIE with evolution hooks, to define a
choreography language for JOLIE applications, and to assess
the developed behavioural contract theories by applying them
to this specific JOLIE-based framework.</p>
      </sec>
      <sec id="sec-3-3">
        <title>C. Develop Verification Techniques/Tools</title>
        <p>The combination and extension of the ideas underlying the
modelling and verification techniques and tools that have been
developed in the SOC domain with those from the SPLE
domain, will have the aim of developing analysis and verification
techniques that support design-time verification and validation,
run-time monitoring, and verification of flexible and adaptable
services. The fact that the resulting analysis and verification
techniques should still be effective over specifications with
variability points, including situations of variability triggered
at run-time, requires particular care.</p>
        <p>
          A first concern is the analysis of abstract properties
(qualitative and possibly quantitative) both at the level of the family
specification and at that of their derived products. Exemplary
qualitative properties of services are [
          <xref ref-type="bibr" rid="ref18">18</xref>
          ]:
        </p>
        <p>Availability: a service is always capable of accepting a
request;
Responsiveness: a service guarantees a response to each
received request;
Reliability: a service guarantees a successful response to
each received request.</p>
        <p>
          Quantitative properties instead include QoS properties based
on a notion such as cost, as well as classical quantitative
properties, stating that certain properties hold within a given
probability bound. Recent results on the verification of such
quantitative and qualitative properties on service
descriptions [
          <xref ref-type="bibr" rid="ref4">4</xref>
          ], [
          <xref ref-type="bibr" rid="ref5">5</xref>
          ], [
          <xref ref-type="bibr" rid="ref13">13</xref>
          ]–[
          <xref ref-type="bibr" rid="ref15">15</xref>
          ], [
          <xref ref-type="bibr" rid="ref18">18</xref>
          ] can be adapted in order to be able
to deal not only with single services, but directly with service
family specifications. In this way we can factorize both the
time and the cost that is needed to verify products that have
been correctly derived from a family definition.
        </p>
        <p>
          A second, related, concern will be the adoption of specific
analysis and verification techniques aimed at proving correct
derivations of products from a service family definition [
          <xref ref-type="bibr" rid="ref2">2</xref>
          ]. We
have already mentioned (in Sect. 3.1) the recent interest raised
by deontic logics for the modelling of variability. Indeed,
some work [
          <xref ref-type="bibr" rid="ref2">2</xref>
          ], [
          <xref ref-type="bibr" rid="ref3">3</xref>
          ] has been done on the use of
deonticstyle logics for modelling notions of variability in product
family descriptions, in two different directions: characterizing
feature models by direct modelling of constraints over the
products of a family, and proposing behavioural extensions
of deontic-style logics. A behavioural extension of a
deonticstyle logic permits one to express in a unique framework
both behavioural aspects, using standard branching-time logic
operators, and static constraints over the products of a family
(usually a separate expression in a first-order logic is required).
Proper variants of established model checkers, like CMC
(fmt.isti.cnr.it/cmc), must be defined as automatic verification
tools for checking such properties.
        </p>
        <p>
          A third concern is the introduction of run-time adaptability,
which presents a big challenge for the off-line verification
by model checking [
          <xref ref-type="bibr" rid="ref10">10</xref>
          ]. This question requires innovative
verification techniques and a deep understanding of the
relation between sought service properties and variability in the
definition of services. For instance, a typical question can be
whether a SOA satisfies a given property, irrespective of which
variant has actually been chosen, or of which evolution is
occurring inside the architecture. Finally, variability is used
differently in adaptive system modelling. For product lines,
a particular set of variants is chosen at compile time (or at
deployment time) while for an adaptive system variability has
to be available and managed also at run-time [
          <xref ref-type="bibr" rid="ref35">35</xref>
          ]. A possible
way out is thus to represent the product family architecture at
run-time [
          <xref ref-type="bibr" rid="ref21">21</xref>
          ].
        </p>
      </sec>
    </sec>
    <sec id="sec-4">
      <title>IV. APPLICATION DOMAINS</title>
      <p>The research activity envisioned in this paper will produce
innovative elements to be used in the definition of a design
and development methodology for the systematic large-scale
production of software systems and their market segmentation.
These innovative elements will consist of the definition of
techniques for the flexible modelling and design of software
adaptability, by means of which it will be possible to develop
services families. These are new classes of service-based
applications, easily derivable from the definition of the family
through adaptation to client needs or to modification of the
specific context for which the application has been deployed.</p>
      <p>We can refer to the motivating example already introduced
in Sect. 1, i.e. a software system that supports the teaching
activities of a university. This system is constituted by a
set of services offered to the teachers, to the students and
to the university staff, following a SOC paradigm. Selling
such a system to different universities requires to manage
variability due to the different governance structure, different
size, and/or different teaching organization of the different
universities. A product family, or product line, can therefore
be envisaged to encompass all possible variants. Hence, a
definition of a service-oriented product line is needed. This
product line definition is however confined to cope with static
variability, i.e., differences between universities. However, the
rapid evolution of laws (at least in Italy...) and their following
reception from the university offices can be dealt efficiently
only introducing dynamic adaptability and evolvability.</p>
      <p>Another application domain where we can expect that
the proposed advancements can have a favourable impact is
that of the so-called package-based software distributions,
an approach adopted, typically, by FOSS (Free and
OpenSource Software) to flexibly manage the different variants
and versions of a software system, as exemplified by the
distribution of open-source operating systems like LINUX.</p>
      <p>One of the main challenges for such distributions is the
possibility to scale the system to distributed computing
platforms, beyond the bound of executing on a single computing
element. In the framework of recent virtualization technologies
known as Cloud Computing, e.g., the management of virtual
machines that support flexible and on-demand computing
resource offering, such as "Infrastructures as a Service" (IaaS)
and "Platform as a Service" (PaaS) turns to be extremely
complex.</p>
      <p>Traditionally, the package-based software distributions
provide flexible tools for personalizing and updating the system.
Moreover, they provide tools that support the system
administrator to design and manage the system. Such tools are based
on a complex interdependency network between packages that
allow the automatic installation of updates and of new system
components. Normally, as the system executes on a single
computing element, such elements should be switched off first
to make new functions available (cold update). This approach
turns out to be impossible in a distributed system. A new
approach (hot update), which does not interrupt the system
functioning, is needed.</p>
      <p>The definition of mechanisms supporting the update of only
the relevant components is fundamental for the widespread
utilization of emerging technologies such as, e.g., Cloud
Computing. This technology, based on virtualization, is at the basis
of the so-called disappearing computer scenario, according to
which computing and storage devices are physically moved
far from the end user, and are offered by specific vendors able
to deliver computing and storage power as a remote service
(see, e.g., Google AppEngine and Amazon EC2).</p>
      <p>Concerning remote file storage, some services already
reached large diffusion, see, e.g., Dropbox (that provides
storage, sharing and synchronization of files) that in February
2010 already counted more than 4 million users. One of the
aspects that contributed most to the success of Dropbox is the
possibility to provide the user with a virtual hard disk shared
by different devices. In this way, this service realized the
Forever Yours model — one of the objectives of the European
Commission FP7 in ICT — at least as far as data and file
storage is concerned. Cloud Computing aims at the realization
of this model also as far as programs and computing power
is concerned. Nevertheless, such systems are subject to an
evolution which is far more complex than that in file systems
(in which only creation, change, and delete operations can be
performed) as strong dependencies exist among the involved
software components.</p>
      <p>The techniques developed according to the research vision
outlined in this paper will be applicable in this specific field,
with the aim of facilitating the management of this kind of
services, making the user configuration completely automatic,
and providing the user with tools supporting the update and
evolution of the system.</p>
      <p>One can think also of many other fields of applications, in
which a high degree of configurability and an easy and fast
adaptation are extremely critical. One could consider, e.g.,
eHealth where hospital services must be highly flexible in order
to quickly adapt to specific medical needs, or the emergency
management field where the support tools must be quickly
exploitable in an always different and unstable context, in
which run-time adaptability features are clearly needed.</p>
      <p>In all these application fields, the models, techniques and
tools developed according to the vision proposed in this paper
can achieve significant advantages in terms of development
costs, as it will be able to factorize common elements as well
as the verification processes.</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          [1]
          <string-name>
            <given-names>L.</given-names>
            <surname>Åqvist</surname>
          </string-name>
          ,
          <string-name>
            <given-names>Deontic</given-names>
            <surname>Logic</surname>
          </string-name>
          . In Handbook of Philosophical Logic, 2nd
          <string-name>
            <surname>Edition (D. Gabbay</surname>
            and
            <given-names>F.</given-names>
          </string-name>
          <string-name>
            <surname>Guenthner</surname>
          </string-name>
          , Eds.), Volume
          <volume>8</volume>
          , Kluwer Academic,
          <year>2002</year>
          ,
          <fpage>147</fpage>
          -
          <lpage>264</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          [2]
          <string-name>
            <given-names>P.</given-names>
            <surname>Asirelli</surname>
          </string-name>
          ,
          <string-name>
            <surname>M.H. ter Beek</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          <string-name>
            <surname>Fantechi</surname>
            and
            <given-names>S.</given-names>
          </string-name>
          <string-name>
            <surname>Gnesi</surname>
          </string-name>
          ,
          <article-title>Deontic Logics for Modeling Behavioural Variability</article-title>
          .
          <source>In Proceedings of the 3rd International Workshop on Variability Modelling of Software-intensive Systems (VaMoS'09</source>
          <string-name>
            <surname>) (D. Benavides</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          <string-name>
            <surname>Metzger</surname>
          </string-name>
          and U. Eisenecker, Eds.),
          <source>ICB Research Report</source>
          <volume>29</volume>
          ,
          <string-name>
            <surname>Universität</surname>
          </string-name>
          Duisburg-Essen,
          <year>2009</year>
          ,
          <fpage>71</fpage>
          -
          <lpage>76</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          [3]
          <string-name>
            <given-names>P.</given-names>
            <surname>Asirelli</surname>
          </string-name>
          ,
          <string-name>
            <surname>M.H. ter Beek</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          <string-name>
            <surname>Fantechi</surname>
            and
            <given-names>S.</given-names>
          </string-name>
          <string-name>
            <surname>Gnesi</surname>
          </string-name>
          ,
          <article-title>A deontic logical framework for modelling product families</article-title>
          .
          <source>In Proceedings of the 4th International Workshop on Variability Modelling of Software-intensive Systems (VaMoS'10</source>
          <string-name>
            <surname>) (D. Benavides</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          <string-name>
            <surname>Batory</surname>
          </string-name>
          and P. Grünbacher, Eds.),
          <source>ICB Research Report</source>
          <volume>37</volume>
          ,
          <string-name>
            <surname>Universität</surname>
          </string-name>
          Duisburg-Essen,
          <year>2010</year>
          ,
          <fpage>37</fpage>
          -
          <lpage>44</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          [4]
          <string-name>
            <surname>M.H. ter Beek</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          <string-name>
            <surname>Fantechi</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          <string-name>
            <surname>Gnesi</surname>
            and
            <given-names>F. Mazzanti,</given-names>
          </string-name>
          <article-title>An action/statebased model-checking approach for the analysis of communication protocols for Service-Oriented Applications</article-title>
          .
          <source>In Formal Methods for Industrial Critical Systems-Revised Selected Papers of the 12th International Workshop on Formal Methods for Industrial Critical Systems (FMICS'07)</source>
          , Berlin, Germany (
          <string-name>
            <given-names>S.</given-names>
            <surname>Leue</surname>
          </string-name>
          and P. Merino, Eds.),
          <source>LNCS 4916</source>
          , Springer,
          <year>2008</year>
          ,
          <fpage>133</fpage>
          -
          <lpage>148</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          [5]
          <string-name>
            <surname>M.H. ter Beek</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          <string-name>
            <surname>Fantechi</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          <string-name>
            <surname>Gnesi</surname>
            and
            <given-names>F.</given-names>
          </string-name>
          <string-name>
            <surname>Mazzanti</surname>
          </string-name>
          ,
          <article-title>A state/eventbased model-checking approach for the analysis of abstract system properties</article-title>
          . To appear in Science of Computer Programming,
          <year>2010</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          [6]
          <string-name>
            <given-names>N.</given-names>
            <surname>Boffoli</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Cimitile</surname>
          </string-name>
          ,
          <string-name>
            <given-names>F.</given-names>
            <surname>Maria Maggi</surname>
          </string-name>
          ,
          <string-name>
            <surname>G.</surname>
          </string-name>
          <article-title>Visaggio, Managing SOA System Variation through Business Process Lines and Process Oriented Development</article-title>
          .
          <source>In [27].</source>
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          [7]
          <string-name>
            <given-names>M.</given-names>
            <surname>Bravetti</surname>
          </string-name>
          and
          <string-name>
            <given-names>G.</given-names>
            <surname>Zavattaro</surname>
          </string-name>
          ,
          <article-title>A Theory for Strong Service Compliance</article-title>
          .
          <source>In Proceedings of the 9th International Conference on Coordination Models and Languages (COORDINATION'07)</source>
          , Paphos,
          <string-name>
            <surname>Cyprus (A.L. Murphy</surname>
          </string-name>
          and J. Vitek, Eds.),
          <source>LNCS 4467</source>
          , Springer,
          <year>2007</year>
          ,
          <fpage>96</fpage>
          -
          <lpage>112</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          [8]
          <string-name>
            <given-names>M.</given-names>
            <surname>Bravetti</surname>
          </string-name>
          and
          <string-name>
            <given-names>G.</given-names>
            <surname>Zavattaro</surname>
          </string-name>
          ,
          <article-title>Contract based Multi-party Service Composition</article-title>
          .
          <source>In Proceedings of the 1st International Symposium on Fundamentals of Software Engineering (FSEN'07)</source>
          , Tehran, Iran (
          <string-name>
            <given-names>F.</given-names>
            <surname>Arbab</surname>
          </string-name>
          and
          <string-name>
            <given-names>M.</given-names>
            <surname>Sirjani</surname>
          </string-name>
          , Eds.),
          <source>LNCS 4767</source>
          , Springer,
          <year>2007</year>
          ,
          <fpage>207</fpage>
          -
          <lpage>222</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          [9]
          <string-name>
            <given-names>M.</given-names>
            <surname>Bravetti</surname>
          </string-name>
          and
          <string-name>
            <given-names>G.</given-names>
            <surname>Zavattaro</surname>
          </string-name>
          ,
          <article-title>Towards a Unifying Theory for Choreography Conformance and Contract Compliance</article-title>
          .
          <source>In Proceedings of the 6th International Symposium on Software Composition (SC'07)</source>
          , Braga,
          <string-name>
            <surname>Portugal (M. Lumpe</surname>
          </string-name>
          and W. Vanderperren, Eds.),
          <source>LNCS 4829</source>
          , Springer,
          <year>2007</year>
          ,
          <fpage>34</fpage>
          -
          <lpage>50</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          [10]
          <string-name>
            <given-names>E.M.</given-names>
            <surname>Clarke</surname>
          </string-name>
          ,
          <string-name>
            <given-names>O.</given-names>
            <surname>Grumberg</surname>
          </string-name>
          and
          <string-name>
            <given-names>D.A.</given-names>
            <surname>Peled</surname>
          </string-name>
          ,
          <string-name>
            <given-names>Model</given-names>
            <surname>Checking</surname>
          </string-name>
          . The MIT Press,
          <year>2000</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          [11]
          <string-name>
            <given-names>P.C.</given-names>
            <surname>Clements</surname>
          </string-name>
          and
          <string-name>
            <given-names>L.</given-names>
            <surname>Northrop</surname>
          </string-name>
          ,
          <source>Software Product Lines: Practices and Patterns. Addison-Wesley</source>
          ,
          <year>2002</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref12">
        <mixed-citation>
          [12]
          <string-name>
            <given-names>S.G.</given-names>
            <surname>Cohen</surname>
          </string-name>
          and
          <string-name>
            <given-names>R.W.</given-names>
            <surname>Krut</surname>
          </string-name>
          (Eds.),
          <source>Proceedings of the 1st Workshop on Service-Oriented Architectures and Software Product Lines: What is the Connection? (SOAPL'07)</source>
          .
          <source>Technical Report CMU/SEI-2008-SR006</source>
          ,
          <year>2008</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref13">
        <mixed-citation>
          [13]
          <string-name>
            <surname>R. De Nicola</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          <string-name>
            <surname>Latella</surname>
            and
            <given-names>M.</given-names>
          </string-name>
          <string-name>
            <surname>Massink</surname>
          </string-name>
          ,
          <article-title>Formal modeling and quantitative analysis of KLAIM-based mobile systems</article-title>
          .
          <source>In Proceedings of the 20th Annual ACM Symposium on Applied Computing (SAC'05)</source>
          , ACM,
          <year>2005</year>
          ,
          <fpage>428</fpage>
          -
          <lpage>435</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref14">
        <mixed-citation>
          [14]
          <string-name>
            <surname>R. De Nicola</surname>
            ,
            <given-names>J.-P.</given-names>
          </string-name>
          <string-name>
            <surname>Katoen</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          <string-name>
            <surname>Latella</surname>
            and
            <given-names>M.</given-names>
          </string-name>
          <string-name>
            <surname>Massink</surname>
          </string-name>
          ,
          <article-title>Towards a logic for performance and mobility</article-title>
          .
          <source>Electronic Notes in Theoretical Computer Science</source>
          <volume>153</volume>
          ,
          <issue>2</issue>
          (
          <year>2006</year>
          ),
          <fpage>161</fpage>
          -
          <lpage>175</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref15">
        <mixed-citation>
          [15]
          <string-name>
            <surname>R. De Nicola</surname>
            ,
            <given-names>J.-P.</given-names>
          </string-name>
          <string-name>
            <surname>Katoen</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          <string-name>
            <surname>Latella</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          <string-name>
            <surname>Loreti</surname>
            and
            <given-names>M.</given-names>
          </string-name>
          <string-name>
            <surname>Massink</surname>
          </string-name>
          ,
          <article-title>Model checking mobile stochastic logic</article-title>
          .
          <source>Theoretical Computer Science</source>
          <volume>382</volume>
          ,
          <issue>1</issue>
          (
          <year>2007</year>
          ),
          <fpage>42</fpage>
          -
          <lpage>70</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref16">
        <mixed-citation>
          [16]
          <string-name>
            <given-names>L.</given-names>
            <surname>Etxeberria</surname>
          </string-name>
          ,
          <string-name>
            <given-names>G.</given-names>
            <surname>Sagardui</surname>
          </string-name>
          and
          <string-name>
            <given-names>L.</given-names>
            <surname>Belategi</surname>
          </string-name>
          ,
          <article-title>Modelling Variation in Quality Attributes</article-title>
          .
          <source>In Proceedings of the 1st International Workshop on Variability Modelling of Software-Intensive Systems (VaMoS'07</source>
          <string-name>
            <surname>) (K. Pohl</surname>
            ,
            <given-names>P.</given-names>
          </string-name>
          <string-name>
            <surname>Heymans</surname>
            ,
            <given-names>K.C.</given-names>
          </string-name>
          <string-name>
            <surname>Kang</surname>
            and
            <given-names>A</given-names>
          </string-name>
          . Metzger, Eds.),
          <source>Lero Technical Report 2007-01</source>
          ,
          <year>2007</year>
          ,
          <fpage>51</fpage>
          -
          <lpage>59</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref17">
        <mixed-citation>
          [17]
          <string-name>
            <given-names>A.</given-names>
            <surname>Fantechi</surname>
          </string-name>
          and
          <string-name>
            <given-names>S.</given-names>
            <surname>Gnesi</surname>
          </string-name>
          ,
          <article-title>Formal modelling for Product Families Engineering</article-title>
          .
          <source>In Proceedings of the 12th International Software Product Lines Conference (SPLC'08)</source>
          , IEEE,
          <year>2008</year>
          ,
          <fpage>193</fpage>
          -
          <lpage>202</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref18">
        <mixed-citation>
          [18]
          <string-name>
            <given-names>A.</given-names>
            <surname>Fantechi</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.</given-names>
            <surname>Gnesi</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Lapadula</surname>
          </string-name>
          ,
          <string-name>
            <given-names>F.</given-names>
            <surname>Mazzanti</surname>
          </string-name>
          ,
          <string-name>
            <given-names>R.</given-names>
            <surname>Pugliese</surname>
          </string-name>
          and
          <string-name>
            <given-names>F.</given-names>
            <surname>Tiezzi</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A Model</given-names>
            <surname>Checking</surname>
          </string-name>
          <article-title>Approach for Verifying COWS Specifications</article-title>
          .
          <source>In Proceedings of the 11th International Conference on Fundamental Approaches</source>
          to Software Engineering (FASE'08)
          <string-name>
            <surname>(J.L. Fiadeiro</surname>
          </string-name>
          and P. Inverardi, Eds.),
          <source>LNCS 4961</source>
          , Springer,
          <year>2008</year>
          ,
          <fpage>230</fpage>
          -
          <lpage>245</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref19">
        <mixed-citation>
          [19]
          <string-name>
            <given-names>D.</given-names>
            <surname>Fischbein</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.</given-names>
            <surname>Uchitel</surname>
          </string-name>
          and
          <string-name>
            <given-names>V.A.</given-names>
            <surname>Braberman</surname>
          </string-name>
          ,
          <article-title>A Foundation for Behavioural Conformance in Software Product Line Architectures</article-title>
          .
          <source>In Proceedings of the 2nd Workshop on the Role of Software Architecture for Testing and Analysis (ROSATEA'06</source>
          <string-name>
            <surname>) (R.M. Hierons</surname>
          </string-name>
          and H. Muccini, Eds.), ACM,
          <year>2006</year>
          ,
          <fpage>39</fpage>
          -
          <lpage>48</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref20">
        <mixed-citation>
          [20]
          <string-name>
            <given-names>P.</given-names>
            <surname>Grünbacher</surname>
          </string-name>
          ,
          <string-name>
            <given-names>D.</given-names>
            <surname>Dhungana</surname>
          </string-name>
          ,
          <string-name>
            <given-names>N.</given-names>
            <surname>Seyff</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Quintus</surname>
          </string-name>
          ,
          <string-name>
            <given-names>R.</given-names>
            <surname>Clotet</surname>
          </string-name>
          ,
          <string-name>
            <given-names>X.</given-names>
            <surname>Franch</surname>
          </string-name>
          ,
          <string-name>
            <given-names>L.</given-names>
            <surname>López</surname>
          </string-name>
          and
          <string-name>
            <given-names>J.</given-names>
            <surname>Marco</surname>
          </string-name>
          ,
          <article-title>Goal and Variability Modeling for Serviceoriented System: Integrating i with Decision Models</article-title>
          .
          <source>In Proceedings of Software and Services Variability Management Workshop - Concepts</source>
          Models and
          <string-name>
            <surname>Tools (T. Männistö</surname>
            ,
            <given-names>E.</given-names>
          </string-name>
          <string-name>
            <surname>Niemelä</surname>
            and
            <given-names>M.</given-names>
          </string-name>
          <string-name>
            <surname>Raatikainen</surname>
          </string-name>
          , Eds.), Helsinki University of Technology, Software Business and Engineering Institute Research Reports 3,
          <string-name>
            <surname>HUT-SoberIT-A3</surname>
          </string-name>
          ,
          <year>2007</year>
          ,
          <fpage>99</fpage>
          -
          <lpage>104</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref21">
        <mixed-citation>
          [21]
          <string-name>
            <given-names>S.O.</given-names>
            <surname>Hallsteinsen</surname>
          </string-name>
          ,
          <string-name>
            <given-names>E.</given-names>
            <surname>Stav</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Solberg</surname>
          </string-name>
          and
          <string-name>
            <given-names>J.</given-names>
            <surname>Floch</surname>
          </string-name>
          ,
          <article-title>Using Product Line Techniques to Build Adaptive Systems</article-title>
          .
          <source>In Proceedings of the 10th International Software Product Lines Conference (SPLC'06)</source>
          , IEEE,
          <year>2006</year>
          ,
          <fpage>141</fpage>
          -
          <lpage>150</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref22">
        <mixed-citation>
          [22]
          <string-name>
            <given-names>A.</given-names>
            <surname>Helferich</surname>
          </string-name>
          ,
          <string-name>
            <surname>G.</surname>
          </string-name>
          <article-title>Herzwurm and S. Jesse, Software Product Lines and Service-Oriented Architecture: A Systematic Comparison of Two Concepts</article-title>
          .
          <source>In [12].</source>
        </mixed-citation>
      </ref>
      <ref id="ref23">
        <mixed-citation>
          [23]
          <string-name>
            <given-names>A.</given-names>
            <surname>Helferich</surname>
          </string-name>
          , G. Herzwurm,
          <string-name>
            <given-names>S.</given-names>
            <surname>Jesse</surname>
          </string-name>
          and
          <string-name>
            <given-names>M.</given-names>
            <surname>Mikusz</surname>
          </string-name>
          , Software Product Lines,
          <article-title>Service-Oriented Architecture and Frameworks: Worlds Apart or Ideal Partners? In Trends in Enterprise Application Architecture</article-title>
          ,
          <source>LNCS 4473</source>
          , Springer,
          <year>2007</year>
          ,
          <fpage>187</fpage>
          -
          <lpage>201</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref24">
        <mixed-citation>
          [24]
          <string-name>
            <given-names>P.</given-names>
            <surname>Istoan</surname>
          </string-name>
          , G. Nain,
          <string-name>
            <given-names>G.</given-names>
            <surname>Perrouin and J.-M. Jezequel</surname>
          </string-name>
          ,
          <article-title>Dynamic Software Product Lines for Service-Based Systems</article-title>
          .
          <source>In IEEE 9th International Conference on Computer and Information Technology</source>
          , IEEE,
          <year>2009</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref25">
        <mixed-citation>
          [25]
          <string-name>
            <given-names>M.</given-names>
            <surname>Koning</surname>
          </string-name>
          , C.
          <article-title>-a.</article-title>
          <string-name>
            <surname>Sun</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          <string-name>
            <surname>Sinnema</surname>
            and
            <given-names>P.</given-names>
          </string-name>
          <string-name>
            <surname>Avgeriou</surname>
          </string-name>
          ,
          <article-title>VxBPEL: Supporting variability for Web services in BPEL</article-title>
          .
          <source>Information and Software Technology</source>
          <volume>51</volume>
          (
          <year>2009</year>
          ),
          <fpage>258</fpage>
          -
          <lpage>269</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref26">
        <mixed-citation>
          [26]
          <string-name>
            <given-names>R.W.</given-names>
            <surname>Krut</surname>
          </string-name>
          and
          <string-name>
            <surname>S.G.</surname>
          </string-name>
          Cohen (Eds.),
          <source>Proceedings of the 2nd Workshop on Service-Oriented Architectures and Software Product Lines: Putting Both Together (SOAPL'08)</source>
          .
          <source>In Proceedings of the 12th International Software Product Lines Conference (SPLC'08)</source>
          , Second Volume (
          <article-title>Workshops) (S. Thiel and</article-title>
          K. Pohl, Eds.), Lero, University of Limerick, Ireland,
          <year>2008</year>
          ,
          <fpage>115</fpage>
          -
          <lpage>147</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref27">
        <mixed-citation>
          [27]
          <string-name>
            <given-names>R.W.</given-names>
            <surname>Krut</surname>
          </string-name>
          and
          <string-name>
            <surname>S.G.</surname>
          </string-name>
          Cohen (Eds.), 3rd Workshop on ServiceOriented Architectures and
          <article-title>Software Product Lines: Enhancing Variation (SOAPL'09)</article-title>
          .
          <source>In Proceedings of the 13th International Software Product Lines Conference (SPLC'09</source>
          <string-name>
            <surname>) (D. Muthig</surname>
          </string-name>
          and
          <string-name>
            <surname>J.D. McGregor</surname>
          </string-name>
          , Eds.), ACM,
          <year>2009</year>
          ,
          <fpage>301</fpage>
          -
          <lpage>302</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref28">
        <mixed-citation>
          [28]
          <string-name>
            <given-names>K.G.</given-names>
            <surname>Larsen</surname>
          </string-name>
          ,
          <string-name>
            <given-names>U.</given-names>
            <surname>Nyman</surname>
          </string-name>
          and
          <string-name>
            <given-names>A.</given-names>
            <surname>Wa</surname>
          </string-name>
          <article-title>˛sowski, Modal I/O Automata for Interface and Product Line Theories</article-title>
          .
          <source>In Proceedings of the 16th European Symposium on Programming Languages and Systems (ESOP'07</source>
          <string-name>
            <surname>) (R. De Nicola</surname>
          </string-name>
          , Ed.),
          <source>LNCS 4421</source>
          , Springer,
          <year>2007</year>
          ,
          <fpage>64</fpage>
          -
          <lpage>79</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref29">
        <mixed-citation>
          [29]
          <string-name>
            <given-names>J.</given-names>
            <surname>Lee</surname>
          </string-name>
          ,
          <string-name>
            <given-names>D.</given-names>
            <surname>Muthig</surname>
          </string-name>
          and
          <string-name>
            <given-names>M.</given-names>
            <surname>Naab</surname>
          </string-name>
          ,
          <article-title>An Approach for Developing Service Oriented Product Lines</article-title>
          .
          <source>In Proceedings of the 12th International Software Product Lines Conference (SPLC'08)</source>
          , IEEE,
          <year>2008</year>
          ,
          <fpage>275</fpage>
          -
          <lpage>284</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref30">
        <mixed-citation>
          [30]
          <string-name>
            <given-names>A.</given-names>
            <surname>Lomuscio and M.J. Sergot</surname>
          </string-name>
          ,
          <article-title>Deontic interpreted systems</article-title>
          .
          <source>Studia Logica</source>
          <volume>75</volume>
          ,
          <issue>1</issue>
          (
          <year>2003</year>
          ),
          <fpage>63</fpage>
          -
          <lpage>92</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref31">
        <mixed-citation>
          [31]
          <string-name>
            <given-names>N.B.</given-names>
            <surname>Mabrouk</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.</given-names>
            <surname>Beauche</surname>
          </string-name>
          ,
          <string-name>
            <given-names>E.</given-names>
            <surname>Kuznetsova</surname>
          </string-name>
          ,
          <string-name>
            <given-names>N.</given-names>
            <surname>Georgantas</surname>
          </string-name>
          and
          <string-name>
            <given-names>V.</given-names>
            <surname>Issarny</surname>
          </string-name>
          ,
          <article-title>QoS-Aware Service Composition in Dynamic Service Oriented Environments</article-title>
          .
          <source>In Proceedings of the 10th International Middleware Conference (Middleware'09</source>
          )
          <string-name>
            <surname>(J.M. Bacon</surname>
            and
            <given-names>B.F.</given-names>
          </string-name>
          <string-name>
            <surname>Cooper</surname>
          </string-name>
          , Eds.),
          <source>LNCS 5896</source>
          , Springer,
          <year>2009</year>
          ,
          <fpage>123</fpage>
          -
          <lpage>142</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref32">
        <mixed-citation>
          [32]
          <string-name>
            <given-names>L.</given-names>
            <surname>McCarty</surname>
          </string-name>
          ,
          <article-title>Permissions and Obligations</article-title>
          .
          <source>In Proceedings of the 8th International Joint Conference on Artificial Intelligence (IJCAI'83</source>
          <string-name>
            <surname>) (A. Bundy</surname>
          </string-name>
          , Ed.), William Kaufmann,
          <year>1983</year>
          ,
          <fpage>287</fpage>
          -
          <lpage>294</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref33">
        <mixed-citation>
          [33]
          <string-name>
            <given-names>J.-J.</given-names>
            <surname>Ch</surname>
          </string-name>
          . Meyer and R.J.
          <string-name>
            <surname>Wieringa</surname>
          </string-name>
          (Eds.), Deontic Logic in Computer Science: Normative System Specification, Wiley,
          <year>1993</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref34">
        <mixed-citation>
          [34]
          <string-name>
            <given-names>M.H.</given-names>
            <surname>Meyer</surname>
          </string-name>
          and
          <string-name>
            <given-names>A.P.</given-names>
            <surname>Lehnerd</surname>
          </string-name>
          ,
          <article-title>The Power of Product Platforms: Building Value</article-title>
          and
          <string-name>
            <given-names>Cost</given-names>
            <surname>Leadership</surname>
          </string-name>
          . The Free Press,
          <year>1997</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref35">
        <mixed-citation>
          [35]
          <string-name>
            <given-names>B.</given-names>
            <surname>Morin</surname>
          </string-name>
          ,
          <string-name>
            <given-names>O.</given-names>
            <surname>Barais</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.M.</given-names>
            <surname>Jézéquel</surname>
          </string-name>
          ,
          <string-name>
            <given-names>F.</given-names>
            <surname>Fleurey</surname>
          </string-name>
          and
          <string-name>
            <given-names>A.</given-names>
            <surname>Solberg</surname>
          </string-name>
          , Models Run.
          <article-title>time to Support Dynamic Adaptation</article-title>
          .
          <source>IEEE Computer 42</source>
          ,
          <issue>10</issue>
          (
          <year>2009</year>
          ),
          <fpage>44</fpage>
          -
          <lpage>51</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref36">
        <mixed-citation>
          [36]
          <string-name>
            <surname>A.D. Mosincat</surname>
            ,
            <given-names>W.</given-names>
          </string-name>
          <string-name>
            <surname>Binder</surname>
            and
            <given-names>M.</given-names>
          </string-name>
          <string-name>
            <surname>Jazayeri</surname>
          </string-name>
          ,
          <source>Dynamically Adaptive Systems through Automated Model Evolution Using Service Compositions. In Proceedings of the 9th International Conference on Software Composition (SC'10</source>
          <string-name>
            <surname>) (B. Baudry</surname>
          </string-name>
          and E. Wohlstadter, Eds.),
          <source>LNCS 6144</source>
          , Springer,
          <year>2010</year>
          ,
          <fpage>82</fpage>
          -
          <lpage>89</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref37">
        <mixed-citation>
          [37]
          <string-name>
            <given-names>M.P.</given-names>
            <surname>Papazoglou</surname>
          </string-name>
          ,
          <string-name>
            <given-names>P.</given-names>
            <surname>Traverso</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.</given-names>
            <surname>Dustdar</surname>
          </string-name>
          and
          <string-name>
            <given-names>F.</given-names>
            <surname>Leymann</surname>
          </string-name>
          , ServiceOriented Computing:
          <article-title>State of the Art and Research Challenges</article-title>
          . IEEE Computer
          <volume>40</volume>
          ,
          <issue>11</issue>
          (
          <year>2007</year>
          ),
          <fpage>38</fpage>
          -
          <lpage>45</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref38">
        <mixed-citation>
          [38]
          <string-name>
            <given-names>K.</given-names>
            <surname>Pohl</surname>
          </string-name>
          ,
          <string-name>
            <given-names>G.</given-names>
            <surname>Böckle</surname>
          </string-name>
          and
          <string-name>
            <surname>F. van der Linden</surname>
          </string-name>
          , Software Product Line Engineering: Foundations, Principles, and Techniques. Springer,
          <year>2005</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref39">
        <mixed-citation>
          [39]
          <string-name>
            <given-names>M.P.</given-names>
            <surname>Singh</surname>
          </string-name>
          and
          <string-name>
            <given-names>M.N.</given-names>
            <surname>Huhns</surname>
          </string-name>
          ,
          <string-name>
            <surname>Service-Oriented</surname>
            <given-names>Computing</given-names>
          </string-name>
          : Semantics, Processes, Agents. Wiley,
          <year>2005</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref40">
        <mixed-citation>
          [40]
          <string-name>
            <surname>Ch</surname>
          </string-name>
          .
          <article-title>Wienands, Studying the Common Problems with Service-Oriented Architecture and Software Product Lines</article-title>
          .
          <article-title>Presented at the 4th ServiceOriented Architecture (SOA</article-title>
          ) &amp;
          <source>Web Services Conference</source>
          ,
          <year>2006</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref41">
        <mixed-citation>
          [41]
          <string-name>
            <given-names>R.</given-names>
            <surname>Wieringa</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.-J.</given-names>
            <surname>Ch</surname>
          </string-name>
          . Meyer and H.
          <string-name>
            <surname>Weigand</surname>
          </string-name>
          ,
          <source>Specifying Dynamic and Deontic Integrity Constraints. Data and Knowledge Engineering</source>
          <volume>4</volume>
          (
          <year>1989</year>
          ),
          <fpage>157</fpage>
          -
          <lpage>189</lpage>
          .
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>