Autores
Roberto Rodrigues Filho (UFG), Barry Porter (Lancaster University), Fábio M. Costa (UFG) and Iwens Sene Júnior (UFG)
Abstract
Autonomic Computing and related research communities have drawn attention from researchers and industry practitioners who seek techniques and tools to build large-scale, reliable self-adaptive systems. However, building autonomic solutions remains a challenge: i) the upfront effort to develop such systems is very high, making them costly to implement; ii) only specialised parts of the system are made adaptive, limiting its flexibility in handling unknown operating conditions; and iii) state-of-the-art approaches still heavily rely on design-time predictions of operating conditions, making systems execution uncertain when predictions are wrong. To address these challenges, the concept of Emergent Software Systems has been proposed. The Emergent Software approach aims to reduce the upfront effort to create autonomic solutions, and it supports fully adaptive systems able to autonomously learn about the system’s structure and operating environment with no predefined knowledge or predictions. This chapter aims to disseminate Emergent Software Systems, presenting the central concept and tools to realise the approach