Rodrigues Filho, Roberto and Porter, Barry Francis (2016) Experiments with a machine-centric approach to realise distributed emergent software systems. In: ARM 2016 Proceedings of the 15th International Workshop on Adaptive and Reflective Middleware :. ACM, New York. ISBN 9781450346627
rodrigues2016arm.pdf - Accepted Version
Available under License Creative Commons Attribution-NonCommercial.
Download (906kB)
Abstract
Modern distributed systems are exposed to constant changes in their operating environment, leading to high uncertainty. Self-adaptive and self-organising approaches have become a popular solution for runtime reactivity to this uncertainty. However, these approaches use predefined, expertly-crafted policies or models, constructed at design-time, to guide system (re)configuration. They are human-centric, making modelling or policy-writing difficult to scale to increasingly complex systems; and are inflexible in their ability to deal with the unexpected at runtime (e.g. conditions not captured in a policy). We argue for a machine-centric approach to this problem, in which the desired behaviour is autonomously learned and emerges at runtime from a large pool of small alternative components, as a continuous reaction to the observed behaviour of the software and the characteristics of its operating environment. We demonstrate our principles in the context of data-centre software, showing that our approach is able to autonomously coordinate a distributed infrastructure composed of emergent web servers and a load balancer. Our initial results validate our approach, showing autonomous convergence on an optimal configuration, and also highlight the open challenges in providing fully machine-led distributed emergent software systems.