Software Engineering for Collective Autonomic Systems: The ASCENS Approach (Lecture Notes in Computer Science)
A collective autonomic system consists of collaborating autonomic entities which are able to adapt at runtime, adjusting to the state of the environment and incorporating new knowledge into their behavior. These highly dynamic systems are also known as ensembles. To ensure correct behavior of ensembles it is necessary to support their development through appropriate methods and tools which can guarantee that an autonomic system lives up to its intended purpose; this includes respecting important constraints of the environment. This State-of-the-Art Survey addresses the engineering of such systems by presenting the methods, tools and theories developed within the ASCENS project. ASCENS was an integrated project funded in the period 2010-2015 by the 7th Framework Programme (FP7) of the European Commission as part of the Future Emerging Technologies Proactive Initiative (FET Proactive). The 17 contributions included in this book are organized in four parts corresponding to the research areas of the project and their concrete applications: (I) language and verification for self-awareness and self-expression, (II) modeling and theory of self-aware and adaptive systems, (III) engineering techniques for collective autonomic systems, and last but not least, (IV) challenges and feedback provided by the case studies of the project in the areas of swarm robotics, cloud computing and e-mobility.