Information Technology Reference
In-Depth Information
Requirements Engineering for Self-Adaptive Systems:
Core Ontology and Problem Statement
Nauman A. Qureshi 1 ,IvanJ.Jureta 2 , and Anna Perini 1
1 Fondazione Bruno Kessler - IRST, Software Engineering Research Group
Via Sommarive, 18, 38050 Trento, Italy
{ qureshi,perini } @fbk.eu
2 FNRS & Louvain School of Management, University of Namur, Belgium
ivan.jureta@fundp.ac.be
Abstract. The vision for self-adaptive systems (SAS) is that they should continu-
ously adapt their behavior at runtime in response to changing user's requirements,
operating contexts, and resource availability. Realizing this vision requires that
we understand precisely how the various steps in the engineering of SAS depart
from the established body of knowledge in information systems engineering. We
focus in this paper on the requirements engineering for SAS. We argue that SAS
need to have an internal representation of the requirements problem that they are
solving for their users. We formally define a minimal set of concepts and rela-
tions needed to formulate the requirements problem, its solutions, the changes
in its formulation that arise from changes in the operating context, requirements,
and resource availability. We thereby precisely define the runtime requirements
adaptation problem that a SAS should be engineered to solve.
Keywords: Requirements
Engineering,
Runtime,
Adaptation
Problem,
Self-Adaptive Systems.
1
Introduction
Contemporary software systems, such as service-based mobile applications that are in-
creasingly immersed in users' everyday life, must continuously adapt their behavior to
changes in users' requirements, operating conditions, and resource availability [5]. For
instance, a music download application may need to behave differently when the user's
device is connected through the mobile phone to the Internet, than when it is connected
via Wi-Fi, when the device is plugged to a docking station rather than on battery power,
when the user's preferred music delivery service is not available, and another needs to
be selected, and so on. Such software has to cope with such problems as incomplete
specifications of its operating conditions, unanticipated events, variable quality of ser-
vice from third-party services.
The vision for self-adaptive systems (SAS) is that they should continuously adapt
their behavior at runtime in response to changing user's requirements, operating con-
texts, and resource availability. Realizing this vision requires that we understand pre-
cisely how the various steps in the engineering of SAS depart from the established
body of knowledge in information systems engineering.
Research agendas for SAS
 
Search WWH ::




Custom Search