Context-aware computing, as a component of a ubiquitous computing, is a core technology that supports human-centric intelligent service using contextual information in real situations. With the advent of the IoT era, multiple billion devices can gener...
Context-aware computing, as a component of a ubiquitous computing, is a core technology that supports human-centric intelligent service using contextual information in real situations. With the advent of the IoT era, multiple billion devices can generate huge amounts of data that might be used in IoT applications. However, there are a lot of obstacles to delivering these tremendous data at the right time, to the right place and with the right quality. Also, effective development of context-aware applications using the delivered data is not an easy challenge. In this dissertation, we present two studies for supporting effective development of context-aware applications in the IoT environment.
As the first part of our research, we propose a context distribution framework named SCondi utilizing the messaging service which supports MQTT. SCondi provides the notion of context channel as a core feature to support efficient and reliable mechanism for distributing huge context information in the IoT environment. The context channel is an abstract communication channel which can reliably tailor and disseminate a collection of information to service providers. Based on the MQTT messaging service, the context channel provides a pluggable filter mechanism that supports effective extraction, tailoring, authentication and security of information. Using the context channels as transport media of context-aware systems, SCondi provides a higher level abstract mechanism for information delivery in the IoT environment.
As the second part, we present a toolkit named JCOOLS that effectively generates context-aware applications that work in a ubiquitous environment. To manage the complicated and various context information of users, JCOOLS adopts JCAF as the context awareness framework and programming API for creating context-aware applications. Also, to separate much of the business logic from the application source codes, we utilize DROOLS which is a JBOSS business rule management system to support a Java rule engine API (JSR-94). Based on JCAF and DROOLS, JCOOLS enables developers to define contexts and actions as context rules according to the change of contexts. Based on the definition of contexts, JCOOLS also generates abstract program codes for the development of context-aware server and client applications, which enables users to effectively develop a variety of context-aware services.
Keywords: Internet of Things, Context-aware Computing, Context Data Distribution, Context Channel, Messaging Service, Inference Engine, MQTT, M2M