Loading…
Providentia: Using search-based heuristics to optimize satisficement and competing concerns between functional and non-functional objectives in self-adaptive systems
•Weighted functional requirements can describe a single non-functional requirement.•Providentia uses a genetic algorithm to optimize the weights of the FRs.•Providentia-SAW uses a metaheuristic to optimize overall system requirements. In general, a system may be subject to a combination of functiona...
Saved in:
Published in: | The Journal of systems and software 2020-04, Vol.162, p.110497, Article 110497 |
---|---|
Main Authors: | , , , |
Format: | Article |
Language: | English |
Subjects: | |
Citations: | Items that this one cites Items that cite this one |
Online Access: | Get full text |
Tags: |
Add Tag
No Tags, Be the first to tag this record!
|
Summary: | •Weighted functional requirements can describe a single non-functional requirement.•Providentia uses a genetic algorithm to optimize the weights of the FRs.•Providentia-SAW uses a metaheuristic to optimize overall system requirements.
In general, a system may be subject to a combination of functional requirements (FRs) that dictate behavior and non-functional requirements (NFRs) that characterize how FRs are to be satisfied. NFRs also introduce cross-cutting concerns that may be difficult to predict, where the degree of satisfaction (i.e., satisficement) of one NFR may be impacted by the satisficement of one or more FRs/NFRs. In particular, self-adaptive systems (SASs) can modify system configurations or behaviors at run time to continuously satisfy FRs and NFRs. This paper presents Providentia, a search-based technique to optimize the satisficement of NFRs in an SAS experiencing various sources of uncertainty. Providentia explores different combinations of weighted FRs to maximize NFR/FR satisficement. Experimental results suggest that Providentia-optimized goal models significantly improve the satisficement of an SAS when compared with manually- and randomly-generated weights and subgoals. Additionally, we apply a hyper-heuristic (Providentia-SAW) to balance the contribution of NFRs, FRs, and the number of adaptations and further improve the Providentia technique. We apply Providentia and Providentia-SAW to two case studies in different application domains involving a remote data mirroring network and a robotic vacuum controller, respectively. |
---|---|
ISSN: | 0164-1212 1873-1228 |
DOI: | 10.1016/j.jss.2019.110497 |