Context-aware computing requires software that can adapt to changes in context. When contextual circumstances trigger multiple adaptations, software must also understand the relationships between these adaptations and react according to the rules governing these relationships. Adaptable software needs a means to establish and interpret these rules in order to avoid any undesirable and potentially catastrophic conflicts.
This dissertation designs and implements the Adaptation Rules Management API (ArmAPI). ArmAPI has been demonstrated to work with a Context-Oriented Programming variation for Java called ContextJ* to execute conflict-free adaptations in two software applications. ArmAPI allows programmers to define relationship types between adaptations, and transfers these definitions to Prolog facts and rules. The Prolog engine, encapsulated within ArmAPI, then works with imperative algorithms to determine the appropriate adaptations to execute based on the current set of facts, rules, and contextual circumstances.
Context represents all of the conditions for all of the entities known to an observing device. In any environment, context represents a large amount of data that can influence a multitude of conflicting adaptations. This research provides an incremental step towards overcoming the problem of adaptation conflict by constructing an API that considers the relationship types of inclusion, exclusion, ordering, conditional dependency, and independence. The API has been validated via two prototypes that provide typical scenarios.
Identifer | oai:union.ndltd.org:nova.edu/oai:nsuworks.nova.edu:gscis_etd-1134 |
Date | 01 January 2012 |
Creators | Dirska, Henry |
Publisher | NSUWorks |
Source Sets | Nova Southeastern University |
Detected Language | English |
Type | text |
Format | application/pdf |
Source | CEC Theses and Dissertations |
Page generated in 0.0021 seconds