In ubiquitous computing the environment constraints are often regarded as static and software#R##N#applications are allowed to function in a mobile ecospace. However, in context-aware#R##N#systems the environment attributes of software applications are dynamically changing. This#R##N#dynamism of contexts must be accounted for in order to provide the true intended effect#R##N#on the application of services. Consequently, context-aware software applications should#R##N#perceive their context in a continuous manner and seamlessly adapt to it.#R##N#This thesis investigates the process of constructing context-aware applications and identifies#R##N#the main challenges in this domain. The two principal requirements are (1) formally#R##N#defining what context is and expressing the enclosed semantics, (2) formally defining dynamic#R##N#compositions of adaptations and triggering their responses to changes in the environment#R##N#context.#R##N#This thesis proposes a component-based architecture for a Context-aware Framework#R##N#that would be used to bring awareness capabilities into applications. Two languages are#R##N#formally designed. One is to formally express situations, leading to a context reasoner, and#R##N#another is to formally express workflow, leading to timely triggering of reactions and enforcing#R##N#policies. With these formalisms and a component design that can be formalized, the#R##N#thesis work fulfills a formal approach to construct context-aware applications. A proof-ofconcept#R##N#case study is implemented to examine the expressiveness of the framework design#R##N#and test its implementation.
['Vangalur S. Alagar', 'Mubarak Mohammad', 'Kaiyu Wan', 'Sofian Alsalman Hnaide']
A FRAMEWORK FOR DEVELOPING CONTEXT-AWARE SYSTEMS