Home > Research > Publications & Outputs > Demonstrating a runtime machine-centric emergen...


Text available via DOI:

View graph of relations

Demonstrating a runtime machine-centric emergent software architecture framework

Research output: Contribution in Book/Report/Proceedings - With ISBN/ISSNConference contribution/Paperpeer-review



Current solutions to self-adaptive software architecture are very human-centric, depending on humans to define policies or update models that guide software adaptation at runtime. We argue that this approach is not sufficient to provide fast responses to continual changes that occur in the current operating environment. Our approach derives a continually emergent software architecture by: autonomously exploring all possible architectures that can be used to realise a given software system; monitoring that system in execution in terms of its performance and its operating environment; and identifying the optimal architecture for each set of operating environment conditions that are encountered. This demonstration illustrates our framework in two scenarios: first, we enable participants to act as the autonomous agent, exploring various possible architectures over time, and manually constructing the rules by which adaptation will be driven, thereby demonstrating the complexity of human-centric architectural adaptation; and second, we then show a fully autonomous system that performs the same tasks automatically, resulting in emergent software architectures that are highly responsive to changes in the operating environment. Both scenarios are visualised through a graphical user interface.