Identification and Management of Inconsistencies in Dynamically Adaptive Software Systems

Nicolás Cardozo
, ,
Identification and Management of Inconsistencies in Dynamically Adaptive Software Systems
Nicolás Cardozo
 cardozo13phd.pdf Δ   4,376Kb   17 Sep 2013
 cardozo13public.pdf Δ   16,345Kb   17 Sep 2013
Ph.D. thesis
Université catholique de Louvain
Université catholique de Louvain


Computing devices now enable access to rich information about their surrounding execution environment gathered through sensor networks or system monitors. This ability allows software systems to be conceived with context in mind, instead of being created in isolation as in traditional approaches for software development. Services provided by software systems can be adapted to sensed conditions rendering such services more appropriate to the surrounding execution environment. Adaptations to the system's behavior take place unannounced over time. However, if not dealt with carefully, the behavior provided by such adaptations could lead to inconsistencies in the system's behavior. In order to avoid such inconsistencies, dependencies between adaptations must be carefully managed so that interactions gathered for the surrounding execution environment are not rendered incompatible.

This dissertation investigates how to provide more guarantees about the predictability of the system's behavior when it is adapted dynamically at run time. Based on the observation of different dynamically adaptive software systems, we put forward a set of requirements that software systems should satisfy to ensure consistency of its behavioral adaptations. We propose a formal basis to support the development of consistent software systems in the presence of dynamic behavioral adaptations, called context Petri nets. This formal basis complies with the requirements for consistent dynamically adaptive software systems, and in particular context-oriented programming, on three levels: formalization, execution, and analysis.

Context Petri nets offer a formalization for the definition of adaptations, the interactions between them, and the notion of consistency of a system in the presence of dynamic behavioral adaptations. Interactions between adaptations are formalized by a well-defined set of rules that capture the intention of programmers at a high-level, while enabling the low-level representation and automatic verification of those rules. Consistency verification of the system is provided at two levels. At design-time, system properties can be analyzed for the identification of possible incoherence in the definition of interactions between adaptations. At run-time the satisfiability of all interaction rules between adaptations is verified, hence, it can be ensured that no inconsistencies occur. Based on the proposed formal basis, we offer a tool for the design, manipulation, and simulation of adaptations and their interactions. This work is validated by demonstrating its usefulness in analyzing existing context-aware applications, its appropriateness in broadening the frontiers of context-oriented programming, and its extensibility by expanding the formal basis itself.

Tags Tags: , ,

BibTeX Record
    title = {Identification and Management of Inconsistencies in Dynamically Adaptive Software Systems},
    author = {Nicolás Cardozo},
    year = {2013},
    number = {448},
    pages =  {313},
    publisher = {Université catholique de Louvain},
    organisation = {Université catholique de Louvain},