Font Size: a A A

Decentralized Runtime Architecture Discovery and Testbed for Adaptation and Failure Recovery of Large Dynamic Distributed System

Posted on:2019-08-30Degree:Ph.DType:Dissertation
University:George Mason UniversityCandidate:Porter, JasonFull Text:PDF
GTID:1478390017485238Subject:Computer Science
Abstract/Summary:
Runtime models play a critical role in modern self-adaptive systems. Hence, runtime architectural models are needed when making adaptation decisions in architecture-based self-adaptive systems. However, when these systems are distributed and highly dynamic, there is an added need to discover the system's software architecture model at runtime. Current methods of runtime architecture discovery use a centralized approach, in which the process is carried out from a single location. These methods are inadequate for large distributed systems because they do not scale up well and have a single point of failure. Also, systems of such size consist of nodes that are typically highly dynamic in nature. Existing approaches to architecture discovery are not capable of addressing these concerns. This dissertation describes DeSARM (Decentralized Software Architecture discoveRy Mechanism), a completely decentralized and automated approach for runtime discovery of software architecture models of distributed systems based on gossiping and message tracing. DeSARM is able to identify at runtime important architectural characteristics such as components and connectors, in addition to synchronous and asynchronous communication patterns. Furthermore, through its use of gossiping, it exhibits the properties of scalability, global consistency among participating nodes, and resiliency to failures. This dissertation describes DeSARM's architecture, algorithms and design, and demonstrates its properties through experimentation.;In addition, this dissertation describes the design of a distributed testbed called TESS (Testbed for Evaluation of Self-healing and Self-adaptive distributed software systems). TESS allows for the automated generation and instantiation of random architectures on which experiments may be conducted for issues such as adaptation and failure recovery of distributed software systems. Metrics are automatically collected from the experiments and stored in a database for later analysis. TESS was developed to evaluate recovery and adaptation frameworks (RAFs) as well as other capabilities such as DeSARM's architecture discovery mechanism.
Keywords/Search Tags:Architecture discovery, Adaptation, Runtime, Distributed, Recovery, Systems, Testbed, Decentralized
Related items