Data lectura: 27/05/2011
Nowadays, emergent technologies are providing new communication devices (e.g. mobile phones, PDS's, smart sensors, laptops) that form complex infrastructures that are not widely exploited due to their requirements such scalability, real-time responses, or failure tolerance. To deal with these features, a new software tendency is to provide entities in the system with autonomy and pro-activity and to increment the interaction between them. This betting on incrementing interaction and decentralising responsibilities over entities, so-called self-organisation, provides systems with better scalability, robustness, and reduces the computation requirements of each entity.
Biological systems have been adopted as a source of inspiration for Self-Organising systems. Since long, Self-organisation has been studied in biology showing a rich variety of collaborative behaviours, presenting interesting characteristic such as, scalability or failure tolerance. Nowadays, self-organising systems are applied to Multi-Agent Systems (MAS). A variety of self-organising, bio-inspired mechanisms have been applied in different domains, achieving results that go beyond traditional approaches. However, researchers usually apply these mechanisms in an ad-hoc manner. In this way, their interpretation, definition, boundary and implementation typically vary among the existing literature, thus preventing these mechanisms from being applied clearly and systematically to solve recurrent problems.
This thesis provide a complete catalog of bio-inspired mechanisms for self-organising systems. The mechanisms presented are described using a software design pattern structure identifying when and how to use each pattern and describing the relation between the different mechanisms. This catalog of mechanisms is a step forward to engineering self-organising systems providing a systematic way to develop self-organisation systems. The effectiveness and generalisation the mechanisms presented in the thesis are demonstrated in three different domains: Dynamic Optimisation, Spatial Computing, and Sensor networks.