This is a Leverhulme-funded project examining fully automated, continuous self-assembly of large distributed systems at scale. Our approach offers a strategy that generalises to software as a whole, but focuses on data centre infrastructures as a timely example for which enhanced efficiency will have very broad impact.

This research takes a novel approach that inverts the software development process to put computers in the leading role. Using this approach, entire distributed software systems will autonomously self-assemble from a large set of small behaviours, to satisfy a given goal. Once assembled, these systems will continually discover their own capabilities by learning about the different ways in which they can assemble themselves and how those assemblies affect their performance under different conditions. This happens while a target software system is live, running in its normal production environment, so that everything is learned based on the reality to which the system is actually subjected.

This work builds upon the EPSRC Deep Online Cognition project and its introduction of the emergent software systems concept. We use the Dana platform (http://www.projectdana.com/) to provide a highly-adaptive substrate for emergent software.