24. – 29. Oktober 2010, Dagstuhl Seminar 10431
Software Engineering for Self-Adaptive Systems
Auskunft zu diesem Dagstuhl Seminar erteilt
- Software soll sich selbst anpassen
Softwares ability to adapt at run-time to changing user needs, system intrusions or faults, changing operational environment, and resource variability has been proposed as a means to cope with the complexity of todays software- intensive systems. Such self-adaptive systems can configure and reconfigure themselves, augment their functionality, continually optimise themselves, protect themselves, and re- cover themselves, while keeping most of their complexity hidden from the user and administrator. In this paper, we present research road map for software engineering of self- adaptive systems focusing on four views, which we identify as essential: design spaces, verification and validation, processes, and decentralisation.
The simultaneous explosion of information and integration of technology together with the continuous evolution from software intensive systems to systems of systems to ultra-large-scale (ULS) systems requires new and innovative approaches for building, running and managing software systems. A consequence of this continuous evolution is that software systems are expected to become more versatile, flexible, resilient, dependable, robust, continuously available, energy-efficient, recoverable, customisable, self-healing, configurable, or self-optimising by adapting to changing requirements and contexts/environments . One of the most promising approaches to achieving such properties is to equip software systems with self-managing capabilities using self-adaptation mechanisms.
Research on the theory and practice of self-adaptation is highly interdisciplinary, and it draws ideas and solutions from many diverse fields, such as control engineering and dynamical systems, automation and instrumentation, machine learning and planning, fault-tolerance and reactive systems, and many others. The applications of self-adaptation also span a wide range: autonomic computing , dependable computing, autonomic communications and networks, mobile ad hoc networks, sensor networks, ubiquitous computing, computing systems management , biologically-inspired computing, user-interface customisation, embedded computing, service-oriented architectures, web-service composition, embedded systems, mechatronics, mobile and autonomous robots, multi-agent systems, to financial systems.
The seminar focused on software engineering aspects of building self-adaptive and self-managing systems. The topic of self-adaptive systems has been studied independently within the different research areas of software engineering, including requirements engineering, modelling, architecture and middleware, event-based, component-based and knowledge-based systems, testing, verification and validation, as well as software maintenance and evolution. Recently several workshops have emerged to bring these independent efforts together by concentrating on the software engineering aspects of self-adaptive systems: WOSS (Workshop on Self-Healing Systems), WADS (Workshop on Architecting Dependable Systems), DEAS (Design and Evolution of Autonomic Application Software), SEAMS (Software Engineering for Self-Adaptive and Self-Managing Systems), and Dagstuhl Seminar 08031 on Software Engineering for Self-Adaptive Systems.
The flexible nature of software provides an ideal platform for self-adaptation. However, the proper realisation of the self-adaptation functionality remains a formidable intellectual challenge. In the long run, we need to establish the foundations that enable the systematic development of future generations of self-adaptive systems. Therefore the current achievements have to be integrated into a more comprehensive overall research effort from which generic approaches should be devised. Building self-adaptive software systems cost-effectively and in a systematic and predictable manner is also a major engineering challenge.
The goal of this seminar was to bring together the leading software engineering experts and other distinguished experts from related fields on self-adaptive systems to discuss the fundamental principles, models, methods, techniques, mechanisms, state-of-the-art, and challenges for engineering self-adaptive software systems.
The two concrete outcomes from this Seminar will be a new roadmap paper and a new book. The roadmap paper, which will follow the same format of the previous paper will be structured according to the new topics to be identified during the seminar, namely: design spaces, processes, verification and validation, and decentralisation. For each topic, the objective is to summarise the current state-of-the-art, discuss its limitations, and identify future challenges for the field. The book will contain state-of-the-art contributions from participants of the seminar and some invited contributions. In addition to these contributions, the roadmap paper will be the introductory chapter of the book, which should be followed by four chapters containing extended versions of the topics discussed in the roadmap paper. The book will be published by Springer as Lecture Notes in Computer Science volume on their State-of-the-Art series.
Dagstuhl Seminar Series
- 13511: "Software Engineering for Self-Adaptive Systems: Assurances" (2013)
- 08031: "Software Engineering for Self-Adaptive Systems" (2008)
- Software Engineering
- Modelling / Simulation
- Semantics / Formal Methods
- Self-adaptive And Self-managing Software Systems
- Software engineering
- Self-adaptive systems
- Self-organizing systems
- Self-managing systems
- Autonomic systems
- Software ecosystems
- Requirements engineering
- Software architecture
- Validation and verification
- Software deployment
- Goal management
- Trade-off analysis
- Control loops
- Self-adaptive mechanisms
- Software components
- Continuous evolution