Sign up & Download
Sign in

Reasoning on Non-Functional Requirements for Integrated Services

by Carlo Ghezzi, Giordano Tamburrelli
2009 17th IEEE International Requirements Engineering Conference (2009)

Abstract

We focus on non-functional requirements for applications offered by service integrators; i.e., software that delivers service by composing services, independently developed, managed, and evolved by other service providers. In particular, we focus on requirements expressed in a probabilistic manner, such as reliability or performance. We illustrate a unified approach-a method and its support tools-which facilitates reasoning about requirements satisfaction as the system evolves dynamically. The approach relies on run-time monitoring and uses the data collected by the probes to detect if the behavior of the open environment in which the application is situated, such as usage profile or the external services currently bound to the application, deviates from the initially stated assumptions and whether this can lead to a failure of the application. This is achieved by keeping a model of the application alive at run time, automatically updating its parameters to reflect changes in the external world, and using the model's predictive capabilities to anticipate future failures, thus enabling suitable recovery plans.

Cite this document (BETA)

Available from ieeexplore.ieee.org
Page 1
hidden

Reasoning on Non-Functional Requirements for Integrated Services

Reasoning on Non-Functional Requirements for Integrated Services
Carlo Ghezzi and Giordano Tamburrelli
DeepSE Group
Dipartimento di Elettronica e Informazione
Politecnico di Milano
Piazza L. da Vinci, 32 20133 Milano, Italy
(ghezzi|tamburrelli)@elet.polimi.it
Abstract
We focus on non-functional requirements for applica-
tions offered by service integrators; i.e., software that de-
livers service by composing services, independently devel-
oped, managed, and evolved by other service providers. In
particular, we focus on requirements expressed in a proba-
bilistic manner, such as reliability or performance. We illus-
trate a unified approach—a method and its support tools—
which facilitates reasoning about requirements satisfaction
as the system evolves dynamically. The approach relies
on run-time monitoring and uses the data collected by the
probes to detect if the behavior of the open environment in
which the application is situated, such as usage profile or
the external services currently bound to the application, de-
viates from the initially stated assumptions and whether this
can lead to a failure of the application. This is achieved by
keeping a model of the application alive at run time, auto-
matically updating its parameters to reflect changes in the
external world, and using the model’s predictive capabili-
ties to anticipate future failures, thus enabling suitable re-
covery plans.
1. Introduction
Modern software applications increasingly take the form
of services. Services are software components that are
developed, managed, deployed, and operated by service
providers, and are offered for use through the network
[27, 30]. Their specification is published in registries, which
may be searched by potential clients. Services, in turn, may
be used by service integrators and composed to provide new
added-value services. In this paper, we take the viewpoint
of service integrators and illustrate an approach which may
enable them to fulfill their requirements even in presence of
certain failures.
Specifications play a crucial role in software develop-
ment, especially when multiple parties are involved. Ac-
cording to [25], a specification defines a contract between
the provider and the user of a piece of software. Specifica-
tions play an even more crucial role in the case of services,
because they define Service Level Agreements (SLAs) that
can have a legal value in the relationship between service
providers and their clients. On the client’s side, the spec-
ification should characterize the required service interface;
that is, it should state all the properties (or quality attributes)
the client needs to know to reliably select and use the ser-
vice. On the provider’s side, it should characterize the pro-
vided service interface; that is, it should state precisely what
the provider promises to offer. If the user is a service inte-
grator, the contracts with service providers are, in turn, the
basis for a contract between the service integrator and its
users. A possible violation of the former contracts may in-
directly cause a violation of the latter.
The world of services is inherently open [5]. By this
we mean that the environment in which the application
is embedded evolves continuously. New services are cre-
ated and exposed for use; existing services are discontin-
ued. Services may also undergo unanticipated changes.
Providers may modify the implementation of an exported
service, thereby affecting one of its quality attributes; for
instance, its promised response time. Although in principle
we should expect that the published service specifications
reflect the changes in the implementation, there is no assur-
ance that the two are kept coherent over time. Usage pro-
files also may change continuously in an open world, and
these changes may affect quality attributes. For example,
an unforeseen sudden heavy load on one of the externally
used services integrated by a composite service may cause
an unanticipated performance failure of the external service,
which in turn causes a performance failure of the composite
service.
We argue that service integration in an open-world set-
ting challenges our current ability to develop dependable
2009 17th IEEE International Requirements Engineering Conference
1090-705X/09 $25.00 © 2009 IEEE
DOI 10.1109/RE.2009.34
69

Sign up today - FREE

Mendeley saves you time finding and organizing research. Learn more

  • All your research in one place
  • Add and import papers easily
  • Access it anywhere, anytime

Start using Mendeley in seconds!

Already have an account? Sign in

Readership Statistics

5 Readers on Mendeley
by Discipline
 
by Academic Status
 
40% Ph.D. Student
 
20% Other Professional
 
20% Post Doc
by Country
 
20% Sweden
 
20% Italy
 
20% Japan