Modeling Uncertainty and Evolving Self-Adaptive Software: A Fuzzy Theory Based Requirements Engineering Approach
Zhuoqun Yang, Zhi Jin, Zhi Li

TL;DR
This paper presents a fuzzy theory-based requirements engineering approach for modeling uncertainty and enabling self-adaptive software to evolve and adapt effectively in volatile environments.
Contribution
It introduces a fuzzy specification framework and reasoning schemas for modeling uncertainties and supporting adaptation and evolution in self-adaptive software systems.
Findings
Effective modeling of requirements and context uncertainties.
Four reasoning schemas enable direct, optimal, and learning-based adaptation.
Validated through mobile computing application scenarios.
Abstract
Self-adaptive software (SAS) is capable of adjusting its behavior in response to meaningful changes in the operational context and itself. Due to the inherent volatility of the open and changeable environment in which SAS is embedded, the ability of adaptation is highly demanded by many software-intensive systems. Two concerns, i.e., the requirements uncertainty and the context uncertainty are most important among others at Requirements Engineering (RE) stage. However, requirements analyzers can hardly figure out the mathematical relation between requirements, system behavior and context, especially for complex and nonlinear systems, due to the existence of above uncertainties, misunderstanding and ambiguity of prior knowledge. An essential issue to be addressed is how to model and specify these uncertainties at RE stage and how to utilize the prior knowledge to achieve adaptation. In…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsAdvanced Software Engineering Methodologies · Software Engineering Techniques and Practices · Software Engineering Research
