Decentralised Control for Distributed Self-adaptive Systems with Strict Quality-of-Service Requirements
Abstract
Many systems from domains such as the cyber-physical systems (CPS) and the Internet of Things
(IoT) include distributed components that need collaborate to achieve common goals. These
systems are envisaged to provide essential services in areas including infrastructure inspection,
smart city maintenance, manufacturing, and transportation. Furthermore, they need to be self-adaptive
in order to cope with variability in workloads, changes in the environment, and changes
affecting the system’s components, such as a component leaving or joining the system.
The components of these distributed systems are typically required to perform tasks that
are physically distributed, and inter-component communication is often affected by high-latency
and low-bandwidth. As such, the control software of these systems cannot maintain up-to-date
system-level models, and needs to be decentralised in order to respond to relevant changes that
occur in the components and the environment by re-planning its actions accordingly.
In this thesis, we introduce nuDECIDE, a novel approach to achieving this decentralisation
of the control software of distributed self-adaptive systems. nuDECIDE makes novel use of
mathematical programming techniques to dynamically partition the goals of the self-adaptive
system among its components, and probabilistic model checking techniques to ensure that
each component achieves its sub-goals in the presence of environmental uncertainty. Three
mathematical programming techniques are adapted for use within nuDECIDE, namely linear
programming, integer programming, and policy synthesis for Markov decision processes.
Additionally, we introduce an application-independent software architecture and a reusable
software platform (i.e., middleware) for developing self-adaptive systems with decentralised
control. Finally, we present an engineering approach for using the nuDECIDE architecture and
software platform to develop decentralised-control self-adaptive systems.
To illustrate the effectiveness of nuDECIDE, we used its goal partitioning techniques, architecture,
software platform and engineering approach to develop decentralised software controllers for
several distributed self-adaptive system from the CPS domain. We illustrate how the nuDECIDE
components can be specialised for three case studies, which we developed using a combination of
real mobile robots and simulation.