Abstract
Requirements of software systems tend to change over time. The speed of this tendency depends on the application domain the software system under consideration belongs to. If we consider novel contexts such as pervasive systems and systems supporting dynamic B2B interaction, requirements change so fast that the research community is studying how to build systems that are able to self-adapt on the fly to some of these changes. When this happens, the system does not need to undergo through a new development cycle thus increasing its availability and, to a certain extent, its robustness. So far, the research in the area of self-adaptive systems has been focusing on the definition of the mechanisms for supporting self-adaptation. We argue that what is missing now is a structured and robust design process associated to these mechanisms. This design process should include a Requirement Engineering (RE) phase that somewhat differs from the traditional one. However, the identification of requirements for adaptation requires a good knowledge of the context in which the system will be executed. In this work, we consider the modeling of such context as part of the RE phase and we particularly focus on Service-Based Applications (SBAs). We argue that RE activities should be supported at run-time to handle context changes and to support adaptation for SBAs. We survey the state of the art for what concerns the elicitation, modeling, and analysis of requirements and will highlight some issues and challenges in order to support adaptation for SBAs.
Highlights
Classical requirement engineering is based on the assumption that the environmental context is static and can be understood sufficiently
If we consider novel contexts such as pervasive systems and systems supporting dynamic B2B interaction, requirements change so fast that the research community is studying how to build systems that are able to self-adapt on the fly to some of these changes
We consider the modeling of such context as part of the Requirement Engineering (RE) phase and we focus on Service-Based Applications (SBAs)
Summary
Classical requirement engineering is based on the assumption that the environmental context is static and can be understood sufficiently. In the presence of these two factors of environment namely being static and wellunderstood, traditional requirement engineering could be performed well This might be still possible due to the speed of change tendency. The dynamicity and uncertainty of the environmental context are the main two obstacles in understanding requirement for adaptive systems These make it difficult to understand, discover, formulate, validate, reason and manage the requirement both at design and specially at runtime. The design time decisions need to be done in the situation of incomplete and uncertain knowledge about environmental context. This way, we need to understand to what extent the requirements are being satisfied and this can support adaptation strategies at run-time.
Talk to us
Join us for a 30 min session where you can share your feedback and ask us any queries you have
Disclaimer: All third-party content on this website/platform is and will remain the property of their respective owners and is provided on "as is" basis without any warranties, express or implied. Use of third-party content does not indicate any affiliation, sponsorship with or endorsement by them. Any references to third-party content is to identify the corresponding services and shall be considered fair use under The CopyrightLaw.