An Introduction to Self-adaptive Systems


Book Description

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.




Software Engineering for Self-Adaptive Systems


Book Description

The carefully reviewed papers in this state-of-the-art survey describe a wide range of approaches coming from different strands of software engineering, and look forward to future challenges facing this ever-resurgent and exacting field of research.




Smart Computing and Self-Adaptive Systems


Book Description

The book intends to cover various problematic aspects of emerging smart computing and self-adapting technologies comprising of machine learning, artificial intelligence, deep learning, robotics, cloud computing, fog computing, data mining algorithms, including emerging intelligent and smart applications related to these research areas. Further coverage includes implementation of self-adaptation architecture for smart devices, self-adaptive models for smart cities and self-driven cars, decentralized self-adaptive computing at the edge networks, energy-aware AI-based systems, M2M networks, sensors, data analytics, algorithms and tools for engineering self-adaptive systems, and so forth. Acts as guide to Self-healing and Self-adaptation based fully automatic future technologies Discusses about Smart Computational abilities and self-adaptive systems Illustrates tools and techniques for data management and explains the need to apply, and data integration for improving efficiency of big data Exclusive chapter on the future of self-stabilizing and self-adaptive systems of systems Covers fields such as automation, robotics, medical sciences, biomedical and agricultural sciences, healthcare and so forth This book is aimed researchers and graduate students in machine learning, information technology, and artificial intelligence.




An Introduction to Self-adaptive Systems


Book Description

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.




Software Architecture


Book Description

This book constitutes the refereed proceedings of the tracks and workshops which complemented the 14th European Conference on Software Architecture, ECSA 2020, held in L'Aquila, Italy*, in September 2020. The 30 full papers and 9 short papers presented in this volume were carefully reviewed and selected from 72 submissions. Papers presented were accepted into the following tracks and workshops: ECSA 2020 Doctoral Symposium track; ECSA 2020 Tool Demos track; ECSA 2020 Gender Diversity in Software Architecture &Software Engineering track; CASA - 3rd International Workshop on Context-aware, Autonomous and Smart Architecture; CSE/QUDOS - Joint Workshop on Continuous Software Engineering and Quality-Aware DevOps; DETECT - 3rd International Workshop on Modeling, Verication and Testing of Dependable Critical Systems; FAACS-MDE4SA - Joint Workshop on Formal Approaches for Advanced Computing Systems and Model-Driven Engineering for Software Architecture; IoT-ASAP - 4th International Workshop on Engineering IoT Systems: Architectures, Services, Applications, and Platforms; SASI4 - 2nd Workshop on Systems, Architectures, and Solutions for Industry 4.0; WASA - 6th International Workshop on Automotive System/Software Architecture. *The conference was held virtually due to the COVID-19 pandemic.




Self-Aware Computing Systems


Book Description

This book provides formal and informal definitions and taxonomies for self-aware computing systems, and explains how self-aware computing relates to many existing subfields of computer science, especially software engineering. It describes architectures and algorithms for self-aware systems as well as the benefits and pitfalls of self-awareness, and reviews much of the latest relevant research across a wide array of disciplines, including open research challenges. The chapters of this book are organized into five parts: Introduction, System Architectures, Methods and Algorithms, Applications and Case Studies, and Outlook. Part I offers an introduction that defines self-aware computing systems from multiple perspectives, and establishes a formal definition, a taxonomy and a set of reference scenarios that help to unify the remaining chapters. Next, Part II explores architectures for self-aware computing systems, such as generic concepts and notations that allow a wide range of self-aware system architectures to be described and compared with both isolated and interacting systems. It also reviews the current state of reference architectures, architectural frameworks, and languages for self-aware systems. Part III focuses on methods and algorithms for self-aware computing systems by addressing issues pertaining to system design, like modeling, synthesis and verification. It also examines topics such as adaptation, benchmarks and metrics. Part IV then presents applications and case studies in various domains including cloud computing, data centers, cyber-physical systems, and the degree to which self-aware computing approaches have been adopted within those domains. Lastly, Part V surveys open challenges and future research directions for self-aware computing systems. It can be used as a handbook for professionals and researchers working in areas related to self-aware computing, and can also serve as an advanced textbook for lecturers and postgraduate students studying subjects like advanced software engineering, autonomic computing, self-adaptive systems, and data-center resource management. Each chapter is largely self-contained, and offers plenty of references for anyone wishing to pursue the topic more deeply.




Software Engineering for Self-Adaptive Systems III. Assurances


Book Description

A major challenge for modern software systems is to become more cost-effective, while being versatile, flexible, resilient, energy-efficient, customizable, and configurable when reacting to run-time changes that may occur within the system itself, its environment or requirements. One of the most promising approaches to achieving such properties is to equip the software system with self-adaptation capabilities. Despite recent advances in this area, one key aspect that remains to be tackled in depth is the provision of assurances. Originating from a Dagstuhl seminar held in December 2013, this book constitutes the third volume in the series “Software Engineering for Self-Adaptive Systems”, and looks specifically into the provision of assurances. Opening with an overview chapter on Research Challenges, the book presents 13 further chapters written and carefully reviewed by internationally leading researchers in the field. The book is divided into topical sections on research challenges, evaluation, integration and coordination, and reference architectures and platforms.




Software Engineering for Self-Adaptive Systems


Book Description

Although the self-adaptability of systems has been studied in a wide range of disciplines, from biology to robotics, only recently has the software engineering community recognized its key role in enabling the development of self-adaptive systems that are able to adapt to internal faults, changing requirements, and evolving environments. The 15 carefully reviewed papers included in this state-of-the-art survey were presented at the International Seminar on "Software Engineering for Self-Adaptive Systems", held in Dagstuhl Castle, Germany, in October 2010. Continuing the course of the first book of the series on "Software Engineering for Self-Adaptive Systems" the collection of papers in this second volume comprises a research roadmap accompanied by four elaborating working group papers. Next there are two parts - with three papers each - entitled "Requirements and Policies" and "Design Issues"; part four of the book contains four papers covering a wide range of "Applications".




Self-Adaptive Software


Book Description

The 18 revised full papers presented in this book together with an introductory survey were carefully reviewed and constitute the documentation of the Second International Workshop on Self-adaptive Software, IWSAS 2001, held in Balatonfüred, Hungary in May 2001. Self-adaptive software evaluates its own behavior and changes it when the evaluation indicates that the software does not accomplish what it is intended to do or when better functionality or better performance is possible. The self-adaptive approach in software engineering builds on well known dynamic features familiar to Lisp or Java programmes and aims at improving the robustness of software systems by gradually adding new features of self-adaption or autonomy.




Feedback Systems


Book Description

The essential introduction to the principles and applications of feedback systems—now fully revised and expanded This textbook covers the mathematics needed to model, analyze, and design feedback systems. Now more user-friendly than ever, this revised and expanded edition of Feedback Systems is a one-volume resource for students and researchers in mathematics and engineering. It has applications across a range of disciplines that utilize feedback in physical, biological, information, and economic systems. Karl Åström and Richard Murray use techniques from physics, computer science, and operations research to introduce control-oriented modeling. They begin with state space tools for analysis and design, including stability of solutions, Lyapunov functions, reachability, state feedback observability, and estimators. The matrix exponential plays a central role in the analysis of linear control systems, allowing a concise development of many of the key concepts for this class of models. Åström and Murray then develop and explain tools in the frequency domain, including transfer functions, Nyquist analysis, PID control, frequency domain design, and robustness. Features a new chapter on design principles and tools, illustrating the types of problems that can be solved using feedback Includes a new chapter on fundamental limits and new material on the Routh-Hurwitz criterion and root locus plots Provides exercises at the end of every chapter Comes with an electronic solutions manual An ideal textbook for undergraduate and graduate students Indispensable for researchers seeking a self-contained resource on control theory