CW 380

Tom De Wolf, Tom Holvoet, en Yolande Berbers
Emergence as a Paradigm to Engineer Distributed Autonomic Software

Abstract

Today's software systems are becoming more and more complex, i.e. distributed, situated, open, and dynamic. In addition, there is a trend towards software that deals with its complexity autonomously - the term autonomic computing has been coined to reflect this system behaviour. Making distributed systems autonomic means constructing these systems as a group of interacting autonomous entities that are expected to cooperate. The ultimate challenge in engineering distributed autonomic systems is to find approaches to achieve globally coherent behaviour. This paper describes emergence, a biologically inspired paradigm, as a promising approach for addressing this challenge. Emergence is an innovative way of analysing and reasoning upon globally coherent behaviour that ``emerges'' from the local interactions between the individual entities. Employing emergence in a distributed system results in fundamental implications on software engineering. This paper outlines the characteristics of distributed autonomic computing systems, the motivation for considering emergence in this context, and the implications this has on software engineering.

report.pdf (186K) / mailto: T. De Wolf