Next Article in Journal
A Lossless Compression Method for Chat Messages Based on Huffman Coding and Dynamic Programming
Next Article in Special Issue
Online Judging Platform Utilizing Dynamic Plagiarism Detection Facilities
Previous Article in Journal
Recent Advancement of the Sensors for Monitoring the Water Quality Parameters in Smart Fisheries Farming
Previous Article in Special Issue
A Review of Agent-Based Programming for Multi-Agent Systems
Open AccessReview

Toward Management of Uncertainty in Self-Adaptive Software Systems: IoT Case Study

School of Electrical Engineering and Computer Science, University of North Dakota, Grand Forks, ND 58201, USA
*
Author to whom correspondence should be addressed.
Academic Editor: Wenbing Zhao
Computers 2021, 10(3), 27; https://doi.org/10.3390/computers10030027
Received: 20 January 2021 / Revised: 9 February 2021 / Accepted: 22 February 2021 / Published: 27 February 2021
(This article belongs to the Special Issue Feature Paper in Computers)
Adaptivity is the ability of the system to change its behavior whenever it does not achieve the system requirements. Self-adaptive software systems (SASS) are considered a milestone in software development in many modern complex scientific and engineering fields. Employing self-adaptation into a system can accomplish better functionality or performance; however, it may lead to unexpected system behavior and consequently to uncertainty. The uncertainty that results from using SASS needs to be tackled from different perspectives. The Internet of Things (IoT) that utilizes the attributes of SASS presents great development opportunities. Because IoT is a relatively new domain, it carries a high level of uncertainty. The goal of this work is to highlight more details about self-adaptivity in software systems, describe all possible sources of uncertainty, and illustrate its effect on the ability of the system to fulfill its objectives. We provide a survey of state-of-the-art approaches coping with uncertainty in SASS and discuss their performance. We classify the different sources of uncertainty based on their location and nature in SASS. Moreover, we present IoT as a case study to define uncertainty at different layers of the IoT stack. We use this case study to identify the sources of uncertainty, categorize the sources according to IoT stack layers, demonstrate the effect of uncertainty on the ability of the system to fulfill its objectives, and discuss the state-of-the-art approaches to mitigate the sources of uncertainty. We conclude with a set of challenges that provide a guide for future study. View Full-Text
Keywords: self-adaptive software systems; uncertainty; sources; solutions; Internet of Things self-adaptive software systems; uncertainty; sources; solutions; Internet of Things
Show Figures

Graphical abstract

MDPI and ACS Style

Ismail, S.; Shah, K.; Reza, H.; Marsh, R.; Grant, E. Toward Management of Uncertainty in Self-Adaptive Software Systems: IoT Case Study. Computers 2021, 10, 27. https://doi.org/10.3390/computers10030027

AMA Style

Ismail S, Shah K, Reza H, Marsh R, Grant E. Toward Management of Uncertainty in Self-Adaptive Software Systems: IoT Case Study. Computers. 2021; 10(3):27. https://doi.org/10.3390/computers10030027

Chicago/Turabian Style

Ismail, Shereen; Shah, Kruti; Reza, Hassan; Marsh, Ronald; Grant, Emanuel. 2021. "Toward Management of Uncertainty in Self-Adaptive Software Systems: IoT Case Study" Computers 10, no. 3: 27. https://doi.org/10.3390/computers10030027

Find Other Styles
Note that from the first issue of 2016, MDPI journals use article numbers instead of page numbers. See further details here.

Article Access Map by Country/Region

1
Search more from Scilit
 
Search
Back to TopTop