Requirements Engineering for Self-Adaptive Software: Bridging the Gap Between Design-Time and Run-Time

Qureshi, Nauman Ahmed (2011) Requirements Engineering for Self-Adaptive Software: Bridging the Gap Between Design-Time and Run-Time. PhD thesis, University of Trento, Fondazione Bruno Kessler, Trento.

PDF - Doctoral Thesis


Self-Adaptive Software systems (SAS) adapt at run-time in response to changes in user’s needs, operating contexts, and resource availability, by requiring minimal to no involvement of system administrators. The ever-greater reliance on software with qualities such as flexibility and easy integrability, and the associated increase of design and maintenance effort, is raising the interest towards research on SAS. Taking the perspective of Requirements Engineering (RE), we investigate in this thesis how RE for SAS departs from more conventional RE for nonadaptive systems. The thesis has two objectives. First, to define a systematic approach to support the analyst to engineer requirements for SAS at design-time, which starts at early requirements (elicitation and analysis) and ends with the specification of the system, which will satisfy those requirements. Second, to realize software holding a representation of its requirements at run-time, thus enabling run-time adaptation in a user-oriented, goal-driven manner. To fulfill the first objective, a conceptual and theoretical framework is proposed. The framework is founded on core ontology for RE with revised elements that are needed to support RE for SAS. On this basis, a practical and systematic methodology at support of the requirements engineer is defined. It exploits a new aggregate type of requirement, called adaptive requirements, together with a visual modeling language to code requirements into a designtime artifact (called Adaptive Requirements Modeling Language, ARML). Adaptive requirements not only encompass functional and non-functional requirements but also specify properties for control loop functionalities such as monitoring specification, decision criteria and adaptation actions. An experiment is conducted involving human subjects to provide a first assessment on the effectiveness of proposed modeling concepts and approach. To support the second objective, a Continuous Adaptive RE (CARE) framework is proposed. It is based on a service-oriented architecture mainly adopting concepts from service-based applications to support run-time analysis and refinement of requirements by the system itself. The key contribution in achieving this objective is enabling the CARE framework to involve the end-user in the adaptation at run-time, when needed. As a validation of this framework, we perform a research case study by developing a proof of concept application, which rests on CARE’s conceptual architecture. This thesis contributes to the research on requirements engineering for SAS by proposing: (1) a conceptual core ontology with necessary concepts and relations to support the formulation of a dynamic RE problem i.e. finding adaptive requirements specification both at design-time and run-time. (2) a systematic methodology to support the analyst for modeling and operationalizing adaptive requirements at design-time. (3) a framework to perform continuous requirements engineering at run-time by the system itself involving the end-user.

Item Type:Doctoral Thesis (PhD)
Doctoral School:Information and Communication Technology
Subjects:Area 01 - Scienze matematiche e informatiche > INF/01 INFORMATICA
Uncontrolled Keywords:Requirements Engineering (RE), Self-Adaptive Software (SAS), Goal-Oriented Requirements Engineering (GORE), Service-Based Applications (SBA), Run-Time, Design-Time
Repository Staff approval on:21 Dec 2011 14:23

Repository Staff Only: item control page