An Introduction to Self-adaptive Systems

A Contemporary Software Engineering Perspective

A concise and practical introduction to the foundations and engineering principles of self-adaptation


Though it has recently gained significant momentum, the topic of self-adaptation remains largely under-addressed in academic and technical literature. Les mer
Vår pris
1435,-

(Innbundet) Fri frakt!
Leveringstid: Sendes innen 21 dager
På grunn av Brexit-tilpasninger og tiltak for å begrense covid-19 kan det dessverre oppstå forsinket levering.

Innbundet
Legg i
Innbundet
Legg i
Vår pris: 1435,-

(Innbundet) Fri frakt!
Leveringstid: Sendes innen 21 dager
På grunn av Brexit-tilpasninger og tiltak for å begrense covid-19 kan det dessverre oppstå forsinket levering.

Om boka

A concise and practical introduction to the foundations and engineering principles of self-adaptation


Though it has recently gained significant momentum, the topic of self-adaptation remains largely under-addressed in academic and technical literature. This book changes that. Using a systematic and holistic approach, An Introduction to Self-adaptive Systems: A Contemporary Software Engineering Perspective provides readers with an accessible set of basic principles, engineering foundations, and applications of self-adaptation in software-intensive systems.


It places self-adaptation in the context of techniques like uncertainty management, feedback control, online reasoning, and machine learning while acknowledging the growing consensus in the software engineering community that self-adaptation will be a crucial enabling feature in tackling the challenges of new, emerging, and future systems.


The author combines cutting-edge technical research with basic principles and real-world insights to create a practical and strategically effective guide to self-adaptation. He includes features such as:





An analysis of the foundational engineering principles and applications of self-adaptation in different domains, including the Internet-of-Things, cloud computing, and cyber-physical systems

End-of-chapter exercises at four different levels of complexity and difficulty

An accompanying author-hosted website with slides, selected exercises and solutions, models, and code



Perfect for researchers, students, teachers, industry leaders, and practitioners in fields that directly or peripherally involve software engineering, as well as those in academia involved in a class on self-adaptivity, this book belongs on the shelves of anyone with an interest in the future of software and its engineering.

Fakta

Innholdsfortegnelse

Foreword xi


Acknowledgments xv


Acronyms xvii


Introduction xix


1 Basic Principles of Self-Adaptation and Conceptual Model 1


1.1 Principles of Self-Adaptation 2


1.2 Other Adaptation Approaches 4


1.3 Scope of Self-Adaptation 5


1.4 Conceptual Model of a Self-Adaptive System 5


1.4.1 Environment 5


1.4.2 Managed System 7


1.4.3 Adaptation Goals 8


1.4.4 Feedback Loop 8


1.4.5 Conceptual Model Applied 10


1.5 A Note on Model Abstractions 11


1.6 Summary 11


1.7 Exercises 12


1.8 Bibliographic Notes 14


2 Engineering Self-Adaptive Systems: A Short Tour in Seven Waves 17


2.1 Overview of the Waves 18


2.2 Contributions Enabled by the Waves 20


2.3 Waves Over Time with Selected Work 20


2.4 Summary 22


2.5 Bibliographic Notes 23


3 Internet-of-Things Application 25


3.1 Technical Description 25


3.2 Uncertainties 28


3.3 Quality Requirements and Adaptation Problem 29


3.4 Summary 29


3.5 Exercises 30


3.6 Bibliographic Notes 31


4 Wave I: Automating Tasks 33


4.1 Autonomic Computing 34


4.2 Utility Functions 35


4.3 Essential Maintenance Tasks for Automation 37


4.3.1 Self-Optimization 37


4.3.2 Self-Healing 38


4.3.3 Self-Protection 40


4.3.4 Self-Configuration 42


4.4 Primary Functions of Self-Adaptation 43


4.4.1 Knowledge 44


4.4.2 Monitor 46


4.4.3 Analyzer 47


4.4.4 Planner 49


4.4.5 Executor 51


4.5 Software Evolution and Self-Adaptation 52


4.5.1 Software Evolution Management 53


4.5.2 Self-Adaptation Management 54


4.5.3 Integrating Software Evolution and Self-Adaptation 55


4.6 Summary 56


4.7 Exercises 59


4.8 Bibliographic Notes 60


5 Wave II: Architecture-based Adaptation 63


5.1 Rationale for an Architectural Perspective 64


5.2 Three-Layer Model for Self-Adaptive Systems 66


5.2.1 Component Control 67


5.2.2 Change Management 67


5.2.3 Goal Management 68


5.2.4 Three-Layer Model Applied to DeltaIoT 68


5.2.5 Mapping Between the Three-Layer Model and the Conceptual Model for Self-Adaptation 70


5.3 Reasoning about Adaptation using an Architectural Model 70


5.3.1 Runtime Architecture of Architecture-based Adaptation 71


5.3.2 Architecture-based Ad

Om forfatteren