Towards a Continuous Requirements Engineering Framework for Self-Adaptive Systems
Abstract
Requirements engineering (RE) for self-adaptive systems (SAS) is an emerging research area. The key features of such systems are to be aware of the changes in both their operating and external environments, while simultaneously remaining aware of their users' goals and preferences. This is accomplished by evaluating such changes and adapting to a suitable alternative that can satisfy those changes in the context of the user goals. Most current RE languages do not consider this `reflective' and online component of requirements models. In this paper, we propose a new framework for building SAS that is goal- and user-oriented. We sketch a framework to enable continuous adaptive requirements engineering (CARE) for SAS that leverage requirements-aware systems and exploits the Techne modeling language and reasoning system. We illustrate our framework by showing how it can handle an adaptive scenario in the travel domain.
Towards a Continuous Requirements Engineering Framework for Self-Adaptive Systems
Systems
Nauman A. Qureshi, Anna Perini
Fondazione Bruno Kessler - IRST
Via Sommarive, 18, 38050 Trento, Italy
fqureshi,perinig@fbk.eu
Neil A. Ernst
Department of Computer Science
University of Toronto, Canada
nernst@cs.toronto.edu
John Mylopoulos
Dept. Inf. Eng. and Comp. Sci.
University of Trento, Italy
jm@disi.unitn.it
Abstract—Requirements engineering (RE) for self-adaptive
systems (SAS) is an emerging research area. The key features
of such systems are to be aware of the changes in both their
operating and external environments, while simultaneously
remaining aware of their users’ goals and preferences. This
is accomplished by evaluating such changes and adapting to a
suitable alternative that can satisfy those changes in the context
of the user goals. Most current RE languages do not consider
this ‘reflective’ and online component of requirements models.
In this paper, we propose a new framework for building
SAS that is goal- and user-oriented. We sketch a framework to
enable continuous adaptive requirements engineering (CARE)
for SAS that leverage requirements-aware systems and exploits
the Techne modeling language and reasoning system. We
illustrate our framework by showing how it can handle an
adaptive scenario in the travel domain.
I. INTRODUCTION
Many software-intensive systems are now expected to
operate continuously, such as service based applications
(SBA), that rely on third party services and operate in an
open environment such as the Internet. And while they must
be always-available, these systems must also adapt to any
and all changes in their operating environment. The only
way to understand what changes are acceptable in a system
is with respect to its requirements, and more specifically,
its intentions. Consequently, requirements researchers have
begun to consider the implications of involving requirements
throughout the software lifecycle [1], or ‘requirements at
run-time’. Work in this area has targeted dynamic require-
ments specification [2], requirements monitoring [3], [4],
managing uncertainty at requirements time [5] and treating
requirements models as live artifacts [6], [7].
More recently, the concepts of ‘reflective requirements’1,
that is, requirements which can be examined by the sys-
tem itself, has been further elaborated by Sawyer et al.
in [8] and motivated the proposal of a research agenda for
requirements-aware systems.
In our view, the role of a reflective requirements is to
provide guidance to the system when considering changes
or new requirements at run-time. Beside the core issues
1attributed to Anthony Finkelstein, quoted in [1]
mentioned above, we believe that the following research
questions must be addressed to realize requirements-aware
systems: which framework (including concepts and meth-
ods) can support RE performed at run-time? And in partic-
ular, can we talk about RE activities at run-time, and how
can we do them in practice?
In this position paper, we discuss these research questions,
elaborating on some of our recent work [9], [10], [11]. First,
we revisit the existing RE ontology [12] and consider the
potential of a novel RE language (Techne) [9], [10] for
modeling requirements for SAS. Second, we elaborate on the
need for continuous RE and consider the recently proposed
CARE method [11] in combination with Techne, as a
candidate approach to enable requirements-aware systems.
In the rest of the paper, we describe an extended example
(in Section II), that will be used to support our discussion
throughout the paper. Our understanding of adaptation in
online systems is presented in Section III; recently proposed
concepts for RE of SAS are revisited in Section IV; the
difference between RE performed at design- and at run-
time is discussed along the motivation for continuous RE
in Section V. We then introduce CARE, our framework for
Continuous Adaptive RE in Section VI; and conclude with
some thoughts on future research in Section VII.
II. EXTENDED EXAMPLE
To illustrate our approach we have chosen a travel exam-
ple, called Travel Companion (a service based application).
A Travel Companion helps its users by monitoring their
travel itineraries. Travel itineraries are generated by access-
ing available services such as airlines. It is based on available
services, which are partially known at design-time, and also
can be added to manage uncertainty/variability at run-time.
It provides an interface to the user to browse and search
available travel and allied services to prepare her travels. It
also allows for plan modification, either from user requests,
or initiated by the Travel Companion on behalf of the user,
based on her current context and preferences.
The system helps the user to better manage and organize
her travels by being aware of run-time changes. The key
adaptation in the Travel Companion is to identify new
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


