Capturing ambiguity in artifacts to support requirements engineering for self-adaptive systems
Paper in proceedings, 2017
Self-adaptive systems (SAS) automatically adjust their behavior at runtime in order to manage changes in their user requirements and operating context. To achieve this goal, a SAS needs to carry knowledge in artifacts (e.g., contextual goal models) at runtime. However, identifying, representing, and refining requirements and their context to create and maintain such artifacts at runtime is a challenging task, especially if the runtime environment is not very well known. In this short paper, we present an early concept to requirements engineering for the implementation of SAS in the context of uncertainty. Especially the wide variety of knowledge materialized in artifacts created during software engineering activities at design time is considered. We propose to start with a list of ambiguous requirements - or under-specified requirements -, leaving the ambiguity in the requirements, which will in the later steps be resolved further as more information is known. In contrast to conventional requirements engineering approaches, not all ambiguous requirements will be resolved. Instead, ambiguities serve as key input for self-adaptation. We present five steps for the resolution of the ambiguity. For each step, we describe its purpose, identified challenges, and resolution ideas. Copyright © 2017 for this paper by its authors.