REQUIREMENTS ENGINEERING MODEL FOR SELF-ADAPTIVE SYSTEMS DEVELOPMENT IN HANDLING UNCERTAINTY OF CONTEXTUAL REQUIREMENTS
The environmental complexity of a system has created a challenge for software developers. Changes can happen quickly, unexpectedly and continuously. So, software systems is required to have the ability to understand and act on what is happening within the system itself and the environment. Self-adap...
Saved in:
Main Author: | |
---|---|
Format: | Dissertations |
Language: | Indonesia |
Online Access: | https://digilib.itb.ac.id/gdl/view/41667 |
Tags: |
Add Tag
No Tags, Be the first to tag this record!
|
Institution: | Institut Teknologi Bandung |
Language: | Indonesia |
Summary: | The environmental complexity of a system has created a challenge for software developers. Changes can happen quickly, unexpectedly and continuously. So, software systems is required to have the ability to understand and act on what is happening within the system itself and the environment. Self-adaptive systems are the solution to these challenges, but the issue of uncertainty is still the main concern of today's researchers. Descriptions of requirements prepared during design-time may not be applicable at run-time in the event of unforeseen circumstances, so that the requirements engineering activity does not adequately capture the knowledge and construct it in accordance with systems-as-is. However, knowledge for systemsto-be is a requirement that must be met. In other words, requirements engineering should be able to bridge and align requirements at the design-time and run-time. In addition, another important factor is the fulfillment of user preferences that can be considered as part of the overall system adaptability.
The main problem of uncertainty in self-adaptive systems is related to the effects of contextual variability, because contextual requirements are runtime uncertainties and features of unforeseen evolution. Various efforts have been made to realize adaptation requirements in self-adaptive systems. However, the approach to handling uncertainty based on contextual requirements is poorly considered, especially in the approaches of goal-oriented requirements engineering to capture and handle a set of environmental assumptions that lead to incomplete or inconsistent knowledge. Therefore, modeling is required where the reality of contextual uncertainty becomes contained, the goal being to utilize limited knowledge of the domain and to grow it through changes or knowledge arising at the run-time. Basically the model should be able to adapt easily and flexibly with different levels of knowledge.
This dissertation introduces the requirements engineering model for self-adaptive systems with four contributions. First, it introduces essential elements in requirements modeling languages that can be used by software designers to define adaptation requirements for self-adaptive systems. Second, it introduces an approach to adaptation requirements modeling through expanded requirements modeling languages with control loops patterns and context inheritance
hierarchies, so that modeling languages contain adaptation patterns and represent contextual requirements, and allow them to be mapped to software components explicitly. Third, it introduces a mapping of requirements modeling languages into a dynamic bayesian network to determine adaptation behaviors that relate to the contextual requirements uncertainty at run-time and accommodate user preferences. Fourth, it introduces a metamodel of adaptation requirements knowledge as an implementation guidelines for software designers.
The experimental results show that the model has been able to control system behavior in response to changes caused by incomplete knowledge, false assumptions of contextual requirements, as well as other factors related to run-time uncertainty, including support for new requirements. Based on comparisons with related work, this work provides support in the design of self-adaptive systems with a level of architecture adaptability index (AAI) = 0.80, and able to respond to domain variability and requirements evolution at run-time. In addition, the evaluation results of the metamodel show 100% consistency level related to the structure, language, and syntax of requirements knowledge that is formed through 6 main classes, 10 subclasses, 18 object properties, 12 data properties, and 45 instances (for cleaner robot cases) with values average cohesion 0.279 and coupling 0.013. |
---|