IEEE Access (Jan 2024)
The State of the Art of Emergent Software Systems
Abstract
Emergent Software Systems (ESSs) are designed to reduce the initial effort in creating autonomous solutions and fully adaptive support systems that can autonomously learn the system’s structure and operating environment without predefined knowledge. These models notably minimize/exclude the involvement of developers in the composition, maintenance, and evolution of software systems. Despite extensive research on self-adaptive systems, systematic reviews focusing specifically on ESSs are lacking. This paper addresses this gap by performing a systematic literature review on ESSs. Our goal is to equip researchers and industry practitioners with a comprehensive view of existing ESSs, enabling them to select approaches that meet their requirements and identify potential research avenues. The research questions are centered around knowing what ESSs are and identifying the set of activities essential for their creation. From an initial collection of 496 papers identified through search engines, 39 papers met our inclusion and exclusion criteria for retention and in-depth analysis. Finally, we build a taxonomy to categorize existing ESS approaches and dissect various ESS definitions to pinpoint their main characteristics. The taxonomy is structured around the goals, processes and usability of ESSs. Our research reveals an emphasis on non-functional adaptation objectives within current ESSs. Despite this focus, the majority of existing ESSs are still in the proof-of-concept phase and have undergone minimal testing in industrial settings. While present ESS investigations largely revolve around areas such as web service computing, internet of things, and cyber-physical systems, we advocate for further exploration of their potential utility in other application domains such as robotics, aerospace, and unmanned vehicles.
Keywords