Decentralised Control for Distributed Self-adaptive Systems with Strict Quality-of-Service Requirements

Thumbnail Image
Journal Title
Journal ISSN
Volume Title
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.