A Declarative Rules API for Managing Adaptation Relationships in Context-Oriented Programming
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 nee...
Main Author: | |
---|---|
Format: | Others |
Published: |
NSUWorks
2012
|
Subjects: | |
Online Access: | http://nsuworks.nova.edu/gscis_etd/135 http://nsuworks.nova.edu/cgi/viewcontent.cgi?article=1134&context=gscis_etd |
id |
ndltd-nova.edu-oai-nsuworks.nova.edu-gscis_etd-1134 |
---|---|
record_format |
oai_dc |
spelling |
ndltd-nova.edu-oai-nsuworks.nova.edu-gscis_etd-11342016-10-20T03:58:58Z A Declarative Rules API for Managing Adaptation Relationships in Context-Oriented Programming Dirska, Henry 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. 2012-01-01T08:00:00Z text application/pdf http://nsuworks.nova.edu/gscis_etd/135 http://nsuworks.nova.edu/cgi/viewcontent.cgi?article=1134&context=gscis_etd CEC Theses and Dissertations NSUWorks Adaptable Software Adaptation Conflict Context-Aware Computing Context-Awareness Context-Oriented Programming Prolog Rules Computer Sciences |
collection |
NDLTD |
format |
Others
|
sources |
NDLTD |
topic |
Adaptable Software Adaptation Conflict Context-Aware Computing Context-Awareness Context-Oriented Programming Prolog Rules Computer Sciences |
spellingShingle |
Adaptable Software Adaptation Conflict Context-Aware Computing Context-Awareness Context-Oriented Programming Prolog Rules Computer Sciences Dirska, Henry A Declarative Rules API for Managing Adaptation Relationships in Context-Oriented Programming |
description |
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. |
author |
Dirska, Henry |
author_facet |
Dirska, Henry |
author_sort |
Dirska, Henry |
title |
A Declarative Rules API for Managing Adaptation Relationships in Context-Oriented Programming |
title_short |
A Declarative Rules API for Managing Adaptation Relationships in Context-Oriented Programming |
title_full |
A Declarative Rules API for Managing Adaptation Relationships in Context-Oriented Programming |
title_fullStr |
A Declarative Rules API for Managing Adaptation Relationships in Context-Oriented Programming |
title_full_unstemmed |
A Declarative Rules API for Managing Adaptation Relationships in Context-Oriented Programming |
title_sort |
declarative rules api for managing adaptation relationships in context-oriented programming |
publisher |
NSUWorks |
publishDate |
2012 |
url |
http://nsuworks.nova.edu/gscis_etd/135 http://nsuworks.nova.edu/cgi/viewcontent.cgi?article=1134&context=gscis_etd |
work_keys_str_mv |
AT dirskahenry adeclarativerulesapiformanagingadaptationrelationshipsincontextorientedprogramming AT dirskahenry declarativerulesapiformanagingadaptationrelationshipsincontextorientedprogramming |
_version_ |
1718387610108297216 |