Defining emergent software using continuous self-assembly, perception and learning

Rodrigues Filho, Roberto and Porter, Barry Francis (2017) Defining emergent software using continuous self-assembly, perception and learning. ACM Transactions on Autonomous and Adaptive Systems, 12 (3): 16. ISSN 1556-4665

[thumbnail of main]
PDF (main)
main.pdf - Accepted Version
Available under License Creative Commons Attribution-NonCommercial.

Download (2MB)


Architectural self-organisation, in which different configurations of software modules are dynamically assembled based on the current context, has been shown to be an effective way for software to self-optimise over time. Current approaches to this rely heavily on human-led definitions: models, policies, and processes to control how self-organisation works. We present the case for a paradigm shift to fully emergent computer software that places the burden of understanding entirely into the hands of software itself. These systems are autonomously assembled at runtime from discovered constituent parts and their internal health and external deployment environment continually monitored. An online, unsupervised learning system then uses runtime adaptation to continuously explore alternative system assemblies and locate optimal solutions. Based on our experience over the past 3 years, we define the problem space of emergent software and present a working case study of an emergent web server as a concrete example of the paradigm. Our results demonstrate two main aspects of the problem space for this case study: that different assemblies of behaviour are optimal in different deployment environment conditions and that these assemblies can be autonomously learned from generalised perception data while the system is online.

Item Type:
Journal Article
Journal or Publication Title:
ACM Transactions on Autonomous and Adaptive Systems
Uncontrolled Keywords:
?? softwarecomputer science (miscellaneous)control and systems engineering ??
ID Code:
Deposited By:
Deposited On:
21 Mar 2017 09:36
Last Modified:
30 Apr 2024 23:59