Ontology-Directed Generation of Frameworks For Pervasive Service Development
Résumé
Filling an environment with a host of devices has been a reality for some time. As well, creating experiments to make users interact such an environment to perform different kinds of tasks is commonly reported in the literature. However, these experiments are based on pervasive computing applications that are tedious to develop because they combine a number of problems ranging from device heterogeneity, to middleware constraints, to lack of programming support. In this paper, we present an approach to integrating the ontological description of a pervasive computing environment into a programming language, namely Java. The entities of a pervasive computing environment are uniformly captured by the notion of services (e.g., devices, software components and applications). Syntactic constructs are provided to developers to define abstract and concrete services. An abstract service defines variations of concrete services (i.e., actual entities). A notion of service inheritance enables abstract services to form an ontological hierarchy. An abstract service specifies semantics properties that characterize variations of concrete services. Furthermore, an abstract service defines the ways in which it can interact with other services. These modes of interaction cover a wide range of situations, including stream-based services. From an ontological description of a pervasive computing environment, a framework is automatically generated. It provides the developer with dedicated programming support to manage, discover and invoke services. Besides, it performs a number of verifications both at compile and run time, ensuring the robustness of applications. We have implemented the ontology-directed framework generator. Frameworks have been generated from an ontological description of pervasive computing environment targeting building management. Examples have been programmed using these frameworks, including resource managers and surveillance services.