Software Engineering for Self-Adaptive Systems: A Research Roadmap
read more
Citations
Adaptive security and privacy in smart grids: A software engineering vision
A discipline-spanning development process for self-adaptive mechatronic systems
An Approach to Model-Based Development of Context-Aware Adaptive Systems
QoS contract-aware reconfiguration of component architectures using e-graphs
Requirements and Assessment of Languages and Frameworks for Adaptation Models
References
Modern Control Systems
Goal-directed requirements acquisition
Towards modelling and reasoning support for early-phase requirements engineering
Related Papers (5)
Software Engineering for Self-Adaptive Systems : A Second Research Roadmap
Frequently Asked Questions (10)
Q2. What other fields might be used to help in the development of self-adaptive systems?
Some of the fields have been mentioned in this paper, like, control theory, but other fields from which software engineering might get some inspiration for the development of self-adaptive systems are, decision theory, non-classic computation, and computer networks.
Q3. What technologies might be used to help self-adaptive systems?
Technologies like, model driven development, aspect-oriented programming, and software product lines might offer new opportunities in the development of self-adaptive systems, and change the processes by which these systems are developed.
Q4. What is the common scheme from control engineering?
Another typical scheme from control engineering is organizing multiple control loops in the form of a hierarchy where, due to the employed different time periods, unexpected interference between the levels can be excluded.
Q5. Why is the MRAC solution a solid starting point for the design of self-adaptive?
Because of the separation of concerns (i.e., model reference, adaptive algorithm, controller and process), this solution is a solid starting point for the design of self-adaptive software-intensive systems.
Q6. What are the technical options for implementing reconfigurability at the architecture level?
There are a variety of technical options forimplementing reconfigurability at the architecture level, including component-based, aspect-oriented and product-line based approaches, as well as combinations of these.
Q7. What are the main arguments for making self-adaptation external?
Garlan and Schmerl also advocate to make self-adaptation external, as opposed to be internal or hard-wired, to separate the concerns of system functionality from the concerns of self-adaptation [8].
Q8. Why do the V&V methods need to be supplemented with run-time assurance techniques?
Due to this high dynamism, V&V methods traditionally applied at requirements and design stages of development must be supplemented with run-time assurance techniques.
Q9. What other research communities have also investigated this topic from their own perspective?
Other research communities that have also investigated this topic from their own perspective are even more diverse: fault-tolerant computing, distributed systems, biologically inspired computing, distributed artificial intelligence, integrated management, robotics, knowledge-based systems, machine learning, control theory, etc.
Q10. What is the argument that current state-of-the-art engineering practices are not sufficiently mature?
It can be also argued that current state-of-the-art engineering practices are not sufficiently mature to warrant self-adaptive functionality.