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...

Full description

Bibliographic Details
Main Author: Dirska, Henry
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