Self-adaptive software systems possess the ability to modify their own structure or behavior in response to changes in their operational environment.
Access to sensor data providing information on the monitored environment is a necessary prerequisite in such software systems.
In the future, self-adaptive software systems will be increasingly distributed and interconnected to perform their assigned tasks, e.g., within smart environments or as part of autonomous systems.
Adaptations of the software systems\\\' structure or behavior will therefore have to be performed consistently on multiple remote subsystems.
Current approaches, however, do not completely support the run-time adaptation of distributed and interconnected software systems.
Supported adaptations are local to a specific device and do not require further coordination or the execution of such adaptations is controlled by a centralized management system.
Approaches that support the decentralized adaptation process, help to determine a stable state, e.g., defined by quiescence, of one adaptable entity without central knowledge ahead of the actual adaptation process.
The execution of complex adaptation scenarios comprising several adaptations on multiple computational devices is currently not supported.
Consequently, inherent properties of a distributed system such as intermittent connectivity or local adaptation failures pose further challenges on the execution of adaptations affecting system parts deployed to multiple devices.
Adaptation operations in the current research landscape cover different types of changes that can be performed upon a self-adaptive software system.
Simple adaptations allow the modification of bindings between components or services as well as the removal or creation and integration of such components or services into the system.
Semantically more expressive operations allow for the relocation of behavioral parts of the system.
In this thesis, a coordination protocol is presented that supports the decentralized execution of multiple, possibly dependent adaptation operations and ensures a consistent transition of the software system from its source to a desired target configuration.
An adaptation operation describes exactly one behavioral modification of the system, e.g., the addition or replacement of a component representing a behavioral element of the system\\\'s configuration.
We rely on the notion of Roles as an abstraction to define the software system\\\'s static and dynamic, i.e., context-dependent, parts.
Roles are an intuitive means to describe behavioral adaptations in distributed, context-dependent software systems due to their behavioral, relational and context-dependent nature.
Adaptation operations therefore utilize the Role concept to describe the intended run-time modifications of the software system.
The proposed protocol is designed to maintain a consistent transition of the software system from a given source to a target configuration in the presence of link failures between remote subsystems, i.e., messages used by the protocol to coordinate the adaptation process are lost on transmission, and in case of local failures during the adaptation process.
The evaluation of our approach comprises two aspects:
In one step, the correctness of the coordination protocol is formally validated using the model checking tool PRISM.
The protocol is shown to be deadlock-free even in the presence of coordination message losses and local adaptation failures.
In a second step, the approach is evaluated with the help of an emulated execution environment in which the degree of coordination message losses and adaptation failures is varied.
The adaptation duration and the partial unavailability of the system, i.e., the time roles are passive due to ongoing adaptations, is measured as well as the success rate of the adaptation process for different rates of message losses and adaptation failures.
Identifer | oai:union.ndltd.org:DRESDEN/oai:qucosa:de:qucosa:31159 |
Date | 06 September 2018 |
Creators | Weißbach, Martin |
Contributors | Schill, Alexander, Cardozo, Nicolás, Technische Universität Dresden |
Source Sets | Hochschulschriftenserver (HSSS) der SLUB Dresden |
Language | English |
Detected Language | English |
Type | doc-type:doctoralThesis, info:eu-repo/semantics/doctoralThesis, doc-type:Text |
Rights | info:eu-repo/semantics/openAccess |
Page generated in 0.0072 seconds