posted on 2013-04-08, 16:07authored byRaian Ali, Fabiano Dalpiaz, Paolo Giorgini
CONTEXT. The environment in which the system operates, its context, is variable. The autonomous ability of a
software to adapt to context has to be planned since the requirements analysis stage as a strong mutual influence
between requirements and context does exist. On the one hand, context is a main factor to decide whether to activate
a requirement, the applicable alternatives to meet an activated requirement as well as their qualities. On the other
hand, the system actions to reach requirements could cause changes in the context. OBJECTIVES. Modelling the
relationship between requirements and context is a complex task and developing error-free models is hard to achieve
without an automated support. The main objective of this paper is to develop a set of automated analysis mechanisms
to support the requirements engineers to detect and analyse modelling errors in contextual requirements models.
METHOD. We study the analysis of the contextual goal model which is a requirements model that weaves together
the variability of both context and requirements. Goal models are used during the early stages of software development
and, thus, our analysis detects errors early in the development process. We develop two analysis mechanisms to detect
two kinds of modelling errors. The first mechanism concerns the detection of inconsistent specification of contexts
in a goal model. The second concerns the detection of conflicting context changes that arise as a consequence of
the actions performed by the system to meet di erent requirements simultaneously. We support our analysis with a
CASE tool and provide a systematic process that guides the construction and analysis of contextual goal models. We
illustrate and evaluate our framework via a case study on a smart-home system for supporting the life of people having
dementia problems. RESULTS. The evaluation showed a significant ability of our analysis mechanisms to detect
errors which were not notable by requirements engineers. Moreover, the evaluation showed acceptable performance
of these mechanisms when processing up to medium-sized contextual goal models. The modelling constructs which
we proposed as an input to enable the analysis were found easy to understand and capture. CONCLUSIONS. Our
developed analysis for the detection of inconsistency and conflicts in contextual goal models is an essential step for
the entire system correctness. It avoids us developing unusable and unwanted functionalities and functionalities which
lead to conflicts when they operate together. Further research to improve our analysis to scale with large-sized models
and to consider other kinds of errors is still needed.
History
Publication
Information and Software Technology (IST);55(1), pp. 35-57
Publisher
Elsevier
Note
peer-reviewed
Other Funding information
European Union (EU), SFI
Rights
This is the author’s version of a work that was accepted for publication in Journal of Software and Systems. Changes resulting from the publishing process, such as peer review, editing, corrections, structural formatting, and other quality control mechanisms may not be reflected in this document. Changes may have been made to this work since it was submitted for publication. A definitive version was subsequently published in Journal of Software Technology(IST), 55(1), pp. 35-57 http://dx.doi.org/10.1016/j.infsof.2012.06.013