<!DOCTYPE article PUBLIC "-//NLM//DTD JATS (Z39.96) Journal Archiving and Interchange DTD v1.0 20120330//EN" "JATS-archivearticle1.dtd">
<article xmlns:xlink="http://www.w3.org/1999/xlink">
  <front>
    <journal-meta>
      <journal-title-group>
        <journal-title>September</journal-title>
      </journal-title-group>
    </journal-meta>
    <article-meta>
      <title-group>
        <article-title>Applying Inference Engine to Context-Aware Computing Services</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Jaemoon Sim, Jihoon Kim, Ohbyung Kwon</string-name>
          <email>obkwon@khu.ac.kr</email>
          <email>{ deskmoon, hdlamb, obkwon}@khu.ac.kr</email>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Sean S. Lee, Jungho Kim, HK Jang,</string-name>
          <email>hkjang@kr.ibm.com</email>
          <email>kjungho@kr.ibm.com</email>
          <email>lsean@kr.ibm.com</email>
          <email>{ lsean, kjungho, hkjang, mclee}@kr.ibm.com</email>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>College of Management and International Relations, KyungHee University</institution>
          ,
          <addr-line>Yongin, Kyungggi-do, 449701, South Korea, +82-31-201-2306</addr-line>
        </aff>
        <aff id="aff1">
          <label>1</label>
          <institution>Myungchul Lee, IBM Ubiquitous Computing Lab, Dogok-dong</institution>
          ,
          <addr-line>Kangnam-gu, Seoul, Korea Rep 135700, +82-2-3781-8598</addr-line>
        </aff>
      </contrib-group>
      <pub-date>
        <year>2006</year>
      </pub-date>
      <volume>18</volume>
      <issue>2006</issue>
      <abstract>
        <p>Ubiquitous computing services started taking advantage of the reasoning capabilities of inference engines to acquire hidden and potentially useful contextual information. However, performance evaluations of the inference engines have been limited to the domain of static information reasoning; evaluations of requirements pertaining to ubiquitous computing environment have been largely neglected. This paper aims to examine how different types of inference engines perform by applying them to realistic ubiquitous computing scenarios. Based on the scenarios, three measurement criteria are proposed and measured including scalability as data set gets large, responsiveness for user's requests, and adaptability to frequent inference requests.</p>
      </abstract>
      <kwd-group>
        <kwd>eol&gt;Inference Engine</kwd>
        <kwd>OWL-DL</kwd>
        <kwd>scalability</kwd>
        <kwd>MINERVA</kwd>
        <kwd>DLDB-OWL</kwd>
      </kwd-group>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>1. INTRODUCTION</title>
      <p>
        Ubiquitous computing services aim to provide information and
services in more intelligent ways with more seamless interfaces
that aid users to be conveniently served anytime, anywhere with
any devices without awkward user intervention. These must rely
on not only multiple sensors capturing user’s context but also
reasoning capabilities for processing raw sensed context data into
more useful and meaningful information within the user’s
environment. Recently, inference engines such as Jena, RacerPro,
FacT++, and Minerva have been proposed as a core component of
intelligent ubiquitous computing systems. There had been many
extensive evaluations of their reasoning capabilities in correctness,
completeness, and response time [
        <xref ref-type="bibr" rid="ref6 ref7">10, 11</xref>
        ]. It is less widely known
without fully analyzing how well the inference engines can fare
Permission to make digital or hard copies of all or part of this work for
personal or classroom use is granted without fee provided that copies are
not made or distributed for profit or commercial advantage and that copies
bear this notice and the full citation on the first page. To copy otherwise,
or republish, to post on servers or to redistribute to lists, requires prior
specific permission and/or a fee.
full-fledged ubiquitous computing services covering vast zones
with various sets of requirements such as lots of fast moving users
and other transient computing entities. The main purpose of this
paper is to examine how well inference engines satisfy
responsiveness requirement, scalability requirement and
requirement to accommodate frequent inference requests in
response to dynamic data insertion and deletion that realistic
ubiquitous computing environments exhibit. To do so, we have
modeled scenarios based in a major Korean university such as
MyEntrance service. MyEntrance service scenario is a part of a
larger Celadon project [8] in aim to study and adopt the most
suitable reasoner for ubiquitous environment in its system.
Specifically, five most prominent engines are considered based on
their reasoning mechanisms: three memory-based and two
DBMSbased engines.
      </p>
    </sec>
    <sec id="sec-2">
      <title>2. INFERENCE ENGINES</title>
      <p>
        MINERVA, JENA, Pellet, RacerPro, and DLDB-OWL (HAWK)
[
        <xref ref-type="bibr" rid="ref1 ref2 ref3 ref4">1, 2, 3, 4, 5, 6, 7</xref>
        ] are discussed as representative instances of each
class of reasoners and they are summarized in Table 1.
      </p>
    </sec>
    <sec id="sec-3">
      <title>2.1 MINERVA</title>
      <p>
        Minerva is high performance OWL storage, inference, and query
system built on RDBMS. The advantages of the system could be
categorized in two important aspects of a reasoner: response time
and scalability. It does all required inferences in the time of data
load instead of data query, making it more responsive at the time
of user query. In addition, it calculates all inferences in relational
database management system, making it more scalable than
memory based counterpart. It is provided as a component of
IBM’s Integrated Ontology Development Toolkit (IODT) [
        <xref ref-type="bibr" rid="ref4">4</xref>
        ] and
it supports DLP (Description Logic Program), a subset of OWL
DL and conjunctive query, a subset of the SPARQL language.
Minerva uses Description Logic reasoner for TBox and a set of
logic rules translated from Description Logic Programming (DLP)
for ABox inference.
      </p>
      <sec id="sec-3-1">
        <title>Query</title>
      </sec>
      <sec id="sec-3-2">
        <title>Language</title>
        <sec id="sec-3-2-1">
          <title>SPARQL</title>
        </sec>
        <sec id="sec-3-2-2">
          <title>KIF-Like</title>
          <p>language
DIG ask
document,
RDQL
DIG ask
document,
Racer Query
Language</p>
        </sec>
      </sec>
      <sec id="sec-3-3">
        <title>Version</title>
      </sec>
      <sec id="sec-3-4">
        <title>Source</title>
        <p>pellet-1.3
mindswap</p>
        <sec id="sec-3-4-1">
          <title>Semantics</title>
          <p>Toolkit1.1.1
HAWK 1.3
beta</p>
        </sec>
        <sec id="sec-3-4-2">
          <title>RacerPro 1.9.0 IBM</title>
        </sec>
        <sec id="sec-3-4-3">
          <title>Lehigh University SWAT Lab</title>
        </sec>
        <sec id="sec-3-4-4">
          <title>Racer Systems GmbH &amp; Co. KG</title>
        </sec>
      </sec>
      <sec id="sec-3-5">
        <title>Capability</title>
      </sec>
      <sec id="sec-3-6">
        <title>Inference</title>
      </sec>
      <sec id="sec-3-7">
        <title>Internal</title>
      </sec>
      <sec id="sec-3-8">
        <title>Engine Table 1. The Comparative Table for Inference Engine Repository</title>
        <p>DLDB-OWL is a repository framework and toolkit that supports
OWL It provides APIs as well as implementations for parsing,
editing, manipulating and preservation of OWL ontologies. The
architecture of DLDB-OWL consists of three packages: core, owl
and storage. The core package defines the generic interfaces of the
data structures of ontology and ontology objects, e.g. class and
property. The core package, that is independent of underlying
model the application will use, provides an API for constructing
and manipulating ontology models. The owl package provides the
utilities for parsing and serializing ontologies in OWL language.</p>
      </sec>
    </sec>
    <sec id="sec-4">
      <title>2.3 Pellet</title>
      <p>Pellet is an open-source Java based OWL DL reasoner. It can be
used in conjunction with both Jena and OWL API libraries and
also provides a DIG interface. Pellet API provides functionalities
to see the species validation, check consistency of ontologies,
classify the taxonomy, check entailments and answer a subset of
RDQL queries. It supports the full expressivity OWL DL including
reasoning about nominals (enumerated classes).</p>
    </sec>
    <sec id="sec-5">
      <title>2.4 RacerPro</title>
      <p>RacerPro is an OWL reasoner and inference server for the
semantic web. The origins of RacerPro are within the area of
description logics. It can be used as a system for managing
semantic web ontologies based on OWL. However, RacerPro can
also be seen as a semantic web information repository with
optimized retrieval engine because it can handle large sets of data
descriptions.
2.5 JENA
Jena is a Java framework for building Semantic Web applications.
It provides a programmatic environment for RDF, RDFS and
OWL, SPARQL and includes a rule-based inference engine. The
Jena Framework includes a RDF API, reading and writing RDF in
RDF/XML, N3 and N-Triples and an OWL API and SPARQL
query engine.</p>
    </sec>
    <sec id="sec-6">
      <title>3. PERFORMANCE EVALUATION</title>
    </sec>
    <sec id="sec-7">
      <title>3.1 MyEntrance Service Scenario</title>
      <p>
        To analyze how the legacy inference engines perform in realistic
ubiquitous computing environments, we used a MyEntrance
service scenario modeled based on Kyunghee Univerity (KHU).
KHU has two great campuses, Seoul campus with 50 departments
and YongIn campus with 51 departments.
“When a member of KHU enters the Student Union Building, a
service agent recognizes the member’s preference and searches for
an Event on the Application Server to provide it for him/her.
Additionally, a sports equipment shop located in Student Union
Building wants to advertise its sales promotion on new baseball
products for the KHU students and faculty members. The Service
Agent of the sports equipment shop in KHU requests Application
Server to retrieve the information on the hobbies of members
located in the Student Union Building. The Application Server
hands over the request of Service Agent to Context Server about
the hobby information of members who are located in the Student
Union Building. Context Server returns the result of preference
and product matching inference. Consequently, the Service Agent
checks for the members who like to play baseball and it sends the
Discount Event Information to appropriate members. The
members who receive the event information make a purchase
decision with the received offer.
To accommodate this scenario, we have developed KHU campus
ontology based on the ontology generation program supported by
IBM China Lab [
        <xref ref-type="bibr" rid="ref5">9</xref>
        ]. On top of the generated ontology, we have
installed area-based location context. An experimental data set
which represents an actual college (9 departments, file size=
11.8MB), International College in KHU at Suwon, was made and
used in the performance evaluation.
      </p>
    </sec>
    <sec id="sec-8">
      <title>3.2 Results: Performance Evaluation on Static and Dynamic Context Information</title>
      <p>
        For the performance evaluation on static information, we placed
our focus on scalability and subsequent performance issue.
Specifically, in evaluating the performance of query processing,
we considered 16 sets of University Ontology Benchmark [
        <xref ref-type="bibr" rid="ref5">9</xref>
        ]
queries that were generated by IBM China Research Lab. by
extending widely used Lehigh University Benchmark [
        <xref ref-type="bibr" rid="ref6">10</xref>
        ].
In order to evaluate handling of context information, SPARQL is
used as follows:
SELECT
DISTINCT ?person ?zone ?Hobby1 ?Hobby2 ?Hobby3
WHERE
(?person benchmark:locatedIn
&lt;http://rcubs.kyunghee.ac.kr/owl/rcubs-univ-benchdl.owl#Zone1&gt;)
(?person benchmark:locatedIn ?zone)
(?person benchmark:like ?Hobby1)
For DLDB-OWL/HAWK evaluation, the above query is translated
into KIF-like query as follows:
[http://rcubs.kyunghee.ac.kr/owl/univ-benchdl.owl]
(type Person ?x)
(locatedIn ?x
http://rcubs.kyunghee.ac.kr/owl/rcubs-univ-benchdl.owl#Zone1)
(locatedIn ?x ?z)
(like ?x ?y1)
We set up our scenario environment of campus like the topology
shown as Figure 1. For context generation, user’s current location
is gathered by the context event handler on the client’s portable
device or tags at any time the user is passing by sensors located in
the entrance gate of the campus buildings. At a fixed cycle, the
context event handler sends the user’s current context information
as OWL-DL format to the context server. The context server
returns the result if the ontology files comes through successfully
to the context event handler. The user may invoke the application
server to get location-based service at any time the user wants.
Then the application server asks the context server to get
servicerelated context data as facts. According to the facts, the inference
engine determines the location-based services most appropriate for
the user.
      </p>
      <p>Application server
(context ontology reader)
(Inference engine)</p>
      <p>Client
Context server
(OWL DL ontology)</p>
      <p>Context event handler
(context ontology writer)
We select query response time as the performance measure. The
summary of response time is listed in Table 2.
and third numbers denote the rate of yielding wrong answers and
no response to the query, respectively.</p>
    </sec>
    <sec id="sec-9">
      <title>4. CONCLUSION</title>
      <p>We first studied the responsiveness to the user request using both
memory-based and DBMS-based inference engines in static
context setting. The result indicated that database-based inference
engines far outperform the other in this criterion owing to the fact
that memory based inference engines pre-process context data
while loading and thus is able to respond without further
calculation at query time.</p>
      <p>Then, using DBMS-based inference engines, we analyzed how
they perform in conducting a context-aware MyEntrance service
under the setting and environment of a major university. By
varying the cycle of context changes and knowledge loading,
performance measures such as correctness and completeness were
examined. We noticed that engines do not respond to queries in the
middle of their inferences and sometimes generate invalid or no
responses.</p>
      <p>We conclude that current state-of-the-art inference engines do not
fulfill responsiveness, scalability and high-update frequency
requirements demanded for ubiquitous computing environments
with lots of fast moving users and other transient computing
entities. And, evolutionary algorithms or inference mechanisms to
deal with enormous amount of data, frequency of updates and
respond to user’s needs in time are needed for the inference
engines to be improved.</p>
    </sec>
    <sec id="sec-10">
      <title>5. ACKNOWLEDGEMENT</title>
      <p>Thanks to the Institute of Information Technology Assessment and
Ministry of Information and Communication of Republic of Korea
for providing an opportunity to participate in the IT839 project.
And, thanks to IBM China Research Laboratory for providing
detailed information about Integrated Ontology Development
Toolkit available on IBM AlphaWorks.
[5]
[6]
[7]
[8]</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          [1]
          <string-name>
            <surname>Carroll</surname>
            ,
            <given-names>J.J.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Dickinson</surname>
            ,
            <given-names>I.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Dollin</surname>
            ,
            <given-names>C.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Reynolds</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Seaborne</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Wilkinson</surname>
            ,
            <given-names>K.</given-names>
          </string-name>
          <article-title>Jena: Implementing the Semantic Web Recommendations</article-title>
          .
          <source>Proceedings of the 13th International World Wide Web Conference</source>
          . ACM Press, New York (
          <year>2004</year>
          )
          <fpage>74</fpage>
          -
          <lpage>83</lpage>
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          [2]
          <string-name>
            <surname>Guo</surname>
            ,
            <given-names>Y.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Pan</surname>
            ,
            <given-names>Z.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Heflin</surname>
            .,
            <given-names>J.</given-names>
          </string-name>
          <article-title>An Evaluation of Knowledge Base Systems for Large OWL Datasets</article-title>
          .
          <source>Proceedings of the 3rd International Semantic Web Conference, Hiroshima. LNCS</source>
          , Vol.
          <volume>3298</volume>
          . (
          <year>2004</year>
          )
          <fpage>274</fpage>
          -
          <lpage>288</lpage>
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          [3]
          <string-name>
            <surname>Haarslev</surname>
            ,
            <given-names>V.,</given-names>
          </string-name>
          <article-title>M¨oller</article-title>
          , R.,
          <string-name>
            <surname>Wessel</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          <article-title>Querying the Semantic Web with Racer + nRQL</article-title>
          ,
          <source>In: Proc. of the KI-04 Workshop on Applications of Description Logics</source>
          . (
          <year>2004</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          [4]
          <string-name>
            <surname>IBM's</surname>
            <given-names>IODT</given-names>
          </string-name>
          /Minerva team: Minerva Reasoner, See, http://www.alphaworks.ibm.com/tech/semanticstk or http://www.ifcomputer.com/MINERVA/
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          [9]
          <string-name>
            <surname>Li</surname>
            <given-names>Ma</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Yang</surname>
            <given-names>Yang</given-names>
          </string-name>
          , Zhaoming Qiu, Guotong Xie, Yue Pan, Shengping Liu:
          <article-title>Towards A Complete OWL Ontology Benchmark</article-title>
          .
          <source>3rd European Semantic Web Conference (ESWC06</source>
          )
          <article-title>- 2006</article-title>
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          [10]
          <string-name>
            <given-names>Y.</given-names>
            <surname>Guo</surname>
          </string-name>
          ,
          <string-name>
            <given-names>Z.</given-names>
            <surname>Pan</surname>
          </string-name>
          , and
          <string-name>
            <surname>J. Heflin.</surname>
          </string-name>
          <article-title>LUBM: A Benchmark for OWL Knowledge Base Systems</article-title>
          .
          <source>Journal of Web Semantics</source>
          <volume>3</volume>
          (
          <issue>2</issue>
          ),
          <year>2005</year>
          ,
          <fpage>pp158</fpage>
          -
          <lpage>182</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          [11]
          <string-name>
            <given-names>T.</given-names>
            <surname>Liebig</surname>
          </string-name>
          ,
          <string-name>
            <given-names>H.</given-names>
            <surname>Pfeifer</surname>
          </string-name>
          ,
          <string-name>
            <surname>F. von Henke</surname>
          </string-name>
          ,
          <article-title>Reasoning Services for an OWL Authoring Tool: An Experience Report</article-title>
          , in: Proceedings of the 2004 International
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>