The OSGi (Open Service Gateway initiative) service platform specification
is the most widely adopted technology for building a control system for
the networked home. This article proposes a semantic approach to service
discovery that turns OSGi into a semantic OSGi platform. In this new
platform, OSGi services describe their properties and capabilities so
other software elements in the residential gateway can automatically
determine their purpose (semantic discovery) and how to invoke them. Both
tasks involve the semantic markup of OSGi services through appropriate
ontologies, which is the core of the Semantic Web and, by extension, of
our semantic OSGi platform. The OSGi platform consists of a Java virtual
machine (JVM), a set of running components called bundles, and an OSGi
framework. In OSGi, the minimal unit of functionality is a service. So,
a bundle is designed as a set of cooperating services, which any
application might discover after the services are published in the OSGi
service registry. An OSGi service is defined by a service interface, which
specifies the service's public methods and is implemented as a service
object, which is owned by, and runs within, a bundle. The bundle registers
the service object with the OSGi service registry so its functionality
is available to other bundles. In general, registered services are
referenced through service reference objects, which maintain the
properties and other metainformation about the service. To implement our
proposal, we selected the Open Source Container Architecture (OSCAR),
an open software implementation of the OSGi framework. To manage the local
OWL-OS ontology and provide the proposed semantic OSGi services, we use
the Protege OWL API. This open source Java library provides classes and
methods to load and save OWL files, query and manipulate OWL data models,
and perform reasoning. We implemented a semantic version of the OSCAR
registry that interprets the new bundle manifests and manages the OWL-OS
ontology to accomplish service registration (populating the ontology)
and search (querying the ontology) as described earlier. To include
query processing in our framework, we use the OWL-QL toolkit. For
reasoning, we used Jess, a rule engine for the Java platform that can
reason from knowledge expressed in declarative rules; jessTab is a
plug-in for Protege that lets users interact with Jess. By automating
OSGi services composition, we open the platform to ambitious applications
that rely on the idea that different home services usually form a pool
committed to various home activities, such as energy control, security,
and healthcare.
No comments:
Post a Comment