"This book describes Self-aware computing systems. ... I recommend this book ... . It is relatively well written and readable. All in all, I think it is a useful addition to a professional library, and I shall keep it around until a better one inevitably replaces it." (Computing Reviews, September, 2017)
Self-aware Computing Introduction and Motivation.- Self-awareness and Self-expression Inspiration from Psychology.- Relationships to Other Concepts.- Reference Architecture for Self-aware and Self-expressive Computing Systems.- Design Patterns and Primitives Introduction of Components and Patterns for SACS.- Knowledge Representation and Modelling Structures and Common Techniques for Self-Awareness and Self-Expression.- Self-aware Compute Nodes.- Self-Adaptive Hardware Acceleration on a Heterogeneous Cluster.- Flexible Protocol Stacks.- Middleware Support for Self-aware Computing Systems.- Self-aware Hardware Acceleration of Financial Applications on a Heterogeneous Cluster.- Self-aware Object Tracking in Multi-camera Networks.- Self-awareness in Active Music Systems.- Conclusions and Outlook.- Glossary.- References.- Index.
Taking inspiration from self-awareness in humans, this book introduces the new notion of computational self-awareness as a fundamental concept for designing and operating computing systems. The basic ability of such self-aware computing systems is to collect information about their state and progress, learning and maintaining models containing knowledge that enables them to reason about their behaviour. Self-aware computing systems will have the ability to utilise this knowledge to effectively and autonomously adapt and explain their behaviour, in changing conditions.
This book addresses these fundamental concepts from an engineering perspective, aiming at developing primitives for building systems and applications. It will be of value to researchers, professionals and graduate students in computer science and engineering.