=Paper= {{Paper |id=Vol-71/paper-13 |storemode=property |title=Ontologies in a Pervasive Computing Environment |pdfUrl=https://ceur-ws.org/Vol-71/Ranganathan.pdf |volume=Vol-71 }} ==Ontologies in a Pervasive Computing Environment== https://ceur-ws.org/Vol-71/Ranganathan.pdf
                       Ontologies in a Pervasive Computing Environment
           Anand Ranganathan, Robert E. McGrath, Roy H. Campbell, M. Dennis Mickunas
                                          Department of Computer Science
                                       University of Illinois, Urbana-Champaign
                     ranganat@uiuc.edu, mcgrath@cs.uiuc.edu, rhc@uiuc.edu, mickunas@cs.uiuc.edu



                       Abstract                               computing environment. Of course, these problems are
                                                              not unique to pervasive computing, but are faced by any
    Ontologies are entering widespread use in many
                                                              multi-agent software system. We believe that our solu-
    areas such as knowledge and content manage-               tions to some of these issues can be extended to any
    ment, electronic commerce and the Semantic                multi-agent system.
    Web. In this paper we show how the use of on-
                                                                This work has considered three major issues that con-
    tologies has helped us overcome some important            front the development and deployment of Pervasive
    problems in the development of pervasive com-             Computing Environments. These are:
    puting environments. We have integrated on-
    tologies and Semantic Web technology into our                • Discovery and Matchmaking
    Pervasive Computing infrastructure. Our inves-              • Inter-operability between different entities
    tigations have shown that the Semantic Web
    technology can be integrated into our CORBA-                • Context-awareness
    based infrastructure to augment several impor-            This section briefly describes these three tasks in the do-
    tant services. This work suggests a number of             main of a pervasive computing environment.
    requirements for future research in the develop-            In the future, we will extend this work to augment the
    ment of ontologies, reasoners, languages and in-          configuration and management of multiple Spaces, and to
    terfaces.                                                 augment additional services, such as the Quality of Ser-
                                                              vice infrastructure [Wichadakul et al., 2002].
1 Introduction
There is growing evidence for the potential value of Se-      1.1    Discovery and Matchmaking in a
mantic Web technology for Web Services and other open,               Pervasive Computing Environment
distributed systems [Goble et al., 2002; Peer, 2002]. This
paper presents a case study of the use of Semantic Web        A Pervasive Computing Environment has one or more
technology in a Pervasive (or Ubiquitous) Computing           registries to keep a real time state of the system, i.e., the
                                                              entities currently present and available; and should have
Environment, GAIA [Roman et al., 2002].
   Pervasive (or Ubiquitous) Computing Environments           a protocol for discovering the arrival and departure of
are physical environments saturated with computing and        mobile entities, for advertising current availability, and
                                                              for notifying interested parties of changes. A registry
communication, yet gracefully integrated with human
users [Lyytinen et al., 2002]. These environments involve     with these protocols is termed a “Discovery Service”
the construction of massively distributed computing sys-      [McGrath, 2000]. Matchmaking [Trastour et al., 2001]
                                                              uses the Discovery Service to discover not only what
tems that feature a large number of autonomous entities
(or agents). These entities could be devices, applications,   entities are available, but what sets or combinations meet
services, databases, users or other kinds of agents. Vari-    certain criteria, i.e., the requirements and preferences of
                                                              the parties.
ous types of middleware (based on CORBA, Java RMI,
SOAP, etc.) have been developed that enable communi-             In the Discovery Service, standard schemas are needed
cation between different entities. However, existing mid-     to describe many kinds of entities, including people,
                                                              places, and things. Furthermore, the system has policies,
dleware have no facilities to ease semantic interoperabil-
ity between the different entities.                           constraints, and relationships which may need to be dis-
   Ontologies have been widely used in many areas such        covered as well. For a robust system, it is necessary to
                                                              have a flexible mechanism for exchanging descriptive
as knowledge and content management, electronic com-
merce and the semantic web. In this paper we show how         information of many kinds.
the use of ontologies has helped us overcome some of the
challenges in constructing and managing a pervasive
1.2 Inter-operability between different en-                   FaCT Server [Bechhofer et al., 1999; Horrocks et al.,
     tities                                                   1999].
                                                                 Ontologies are used for describing various concepts in
New entities may enter the environment at any time;           the GAIA Pervasive Computing Environment. We have
these new entities have to interact with existing entities.   developed ontologies that describe the different kinds of
The interaction must be based on common, well-defined         entities and their properties. These ontologies define dif-
concepts, so that there is no misunderstanding between        ferent kinds of applications, services, devices, users, data
the entities. The entities must have a common under-          sources and other entities. They also describe various
standing of the various terms and concepts used in the        relations between the different entities and establish axi-
interaction.                                                  oms on the properties of these entities that must always
   For autonomous entities to interact with one another,      be satisfied.
they need to know, beforehand, what kinds of interfaces          A second use of ontologies is to describe different
they support and what protocols or commands they un-          types of contextual information in GAIA. The ontology
derstand. In a truly distributed scenario, such as a perva-   defines standard descriptions for locations, activities,
sive computing environment, it may not be reasonable to       weather information, and other information that may be
assume that such agreement exists.                            used by context-aware applications.
   Similar mechanisms are needed for humans to interact          The ontologies that describe the pervasive environment
with different entities. Humans need to understand what       greatly help in the smooth operation of the environment.
various entities do, and they need to understand the rela-    Some of the ways in which we use ontologies in our per-
tionships between such entities. It is essential for humans   vasive environment are:
to form an accurate conceptual model of the environment
so that they can interact with the environment easily.           • Checking to see if the descriptions of different entities
                                                                     are consistent with the axioms defined in the ontol-
1.3 Context-Awareness                                                ogy. This also helps ensuring that certain security and
Applications in pervasive and mobile environments need               safety constraints are met by the environment
to be context-aware so that they can adapt themselves to        • Enabling semantic discovery of entities
rapidly changing situations. Applications in pervasive
environments use different kinds of contexts (such as           • Allowing users to gain a better understanding of the
location of people, activities of individuals or groups,           environment and how different pieces relate to each
weather information, etc.).                                        other
   The various types of contextual information that can be      • Allowing both humans and automated agents to per-
used in the environment must be well-defined so that               form searches on different components easily
different entities have a common understanding of con-
text. Also, there needs to be mechanisms for humans to          • Allowing both humans and automated agents to inter-
specify how different applications and services should             act with different entities easily (say, by sending them
behave in different contexts. These mechanisms need to             various commands)
be based on well-defined structures of different types of       • Allowing both humans and automated agents to specify
context information.
                                                                   rules for context-sensitive behavior of different enti-
1.4 Ontologies in Pervasive Computing                              ties easily
     Environments                                               • Enabling new entities (which follow different ontolo-
In order to tackle the problems described above, we apply           gies) to interact with the system easily.
the technologies from the emerging “Semantic Web”               In the following sections, we describe how ontologies
[Berners-Lee et al., 2001; W3C, 2003a]. While the Se-         are used within our Pervasive Computing Environment,
mantic Web was designed to enhance Web search and             GAIA. We first introduce GAIA; we then describe how
agents, we show that it is well suited to some of the re-     the Ontology Server fits into the GAIA framework. We
quirements of Pervasive Computing Environments.               then briefly describe the kinds of ontologies that have
   We have incorporated the use of ontologies in our pro-     been developed and how they are used within GAIA. Fi-
totype pervasive computing environment, GAIA [Roman           nally, we evaluate our approach and suggest important
et al., 2002]. The ontologies are written in DAML+OIL         areas for future research.
[daml.org, 2003], describing various parts of the GAIA
environment. An Ontology Server manages a composite           2. GAIA: A Pervasive Computing Envi-
ontology that describes the entities of the system and
performs operations on the ontologies. This composite             ronment
ontology is built by composing different ontologies           GAIA is an infrastructure for Smart Spaces, which are
specified in DAML+OIL files. The ontologies are vali-         pervasive computing environments that encompass
dated into a Knowledge Base (KB), built on the CORBA          physical spaces [Roman et al., 2002]. GAIA converts
                                                              physical spaces and the devices they contain into a pro-
grammable computing system. It offers services to man-        described in the ontologies in the CORBA FaCT Reason-
age and program a Space and its associated state. GAIA        ing Engine [Bechhofer et al., 1999; Horrocks et al., 1999]
is similar to traditional operating systems in that it man-   to make sure that they are logically consistent and for
ages the tasks common to all applications built for physi-    answering logical queries. Other entities in GAIA contact
cal spaces. Each Space is self-contained, but may interact    the Ontology Server to retrieve descriptions of entities in
with other Spaces. GAIA provides core services, includ-       the environment, meta-information about context or defi-
ing events, entity presence (devices, users and services),    nitions of various terms used in GAIA. It is also possible
discovery and naming. By specifying well-defined inter-       to support semantic queries (for instance, classification
faces to services, applications may be built in a generic     of individuals or subsumption of concepts). Such seman-
way so that they are able to run in arbitrary Smart           tic queries are resolved using the FaCT Reasoning En-
Spaces. The core services are started through a bootstrap     gine. The Ontology Server registers with the CORBA
protocol that starts the GAIA infrastructure. GAIA uses       Naming Service so that it can be discovered by other en-
CORBA to enable distributed entities to communicate           tities in the environment.
with one another. GAIA has served as our test-bed for the        One of the key benefits in using ontologies is that they
use of ontologies in Pervasive Computing Environments.        aid interaction between users and the environment since
   We have used GAIA to manage rooms in our Com-              they concisely describe the properties of the environment
puter Science building. GAIA helps make these rooms           and the various concepts used in the environment. With
smart and responsive to the needs of different users.         that aim in mind, we have developed an Ontology Ex-
There are a wide variety of devices that exist in these       plorer, which is a graphical user interface that allows
rooms. These include authentication devices like finger-      users to browse and search the ontologies in the Space.
print sensors and smart card readers, display devices like    The Ontology Explorer also allows users to interact with
large plasma screens, video walls, handheld devices,          other entities in the Space through it. This interaction
wearable devices like smart watches and smart rings,          with other entities is governed by their properties as de-
various input devices such as touch screens and micro-        fined in the ontology. The Ontology Explorer and Ontol-
phones, etc.. In addition, there are large number of appli-   ogy Server are described in more detail in [McGrath et
cations and services like music-playing applications,         al., 2003].
presentation applications and drawing applications. On-
tologies provide a very easy way to manage this diversity     2.2. Kinds of Ontologies in Gaia
in our environments.                                             We use ontologies to describe various parts of our per-
   Unlike many uses of ontologies, we have tightly inte-      vasive environment, GAIA. In particular, we have on-
grated Semantic Web services into the infrastructure. We      tologies that have meta-data about the different kinds of
implemented an Ontology Server, which is a standard           entities in our environment. We also have ontologies to
system service that provides a generic interface to man-      describe the different kinds of contextual information in
age DAML+OIL ontologies, a Knowledge Base, and                our environment. The ontologies used in GAIA are de-
logic queries. Any entity in the system can use the Ontol-    scribed in more detail in [McGrath et al., 2003].
ogy Server.
   We have created ontologies (in DAML+OIL) to clas-          2.2.1. Ontologies for different entities
sify and describe many concepts of the Pervasive Com-         Pervasive computing environments have a large number
puting Environment. The ontologies include entities of        of different types of entities. There are different kinds of
the system (not limited to software) and context informa-     devices ranging from small wearable devices and hand-
tion.                                                         helds to large wall displays and powerful servers. There
   The ontologies and Ontology Server are used to aug-        are many services that help in the functioning of the envi-
ment system services, including:                              ronment. There are different kinds of applications such as
   • Configuration management                                 music players, slide show viewers, drawing applications,
                                                              etc.. Finally, there are the users of the environment who
  • Discovery and matchmaking                                 have different roles (student, administrator, etc.).
  • Human Interfaces                                             Ontologies help formalize and make available the in-
                                                              formal and implicit taxonomy of the different kinds of
  • Interoperation of components                              entities in the system. We have developed ontologies that
  • Context Sensitive behavior                                define the different kinds of entities, provide meta-data
The ontologies and Knowledge Base are tightly inte-           about them and describe how they relate to each other.
grated into the whole system.                                 These ontologies are written in DAML+OIL.
                                                                 A Pervasive Computing Environment is very dynamic;
2.1 The Ontology Infrastructure in Gaia                       new kinds of entities can be added to the environment at
We have integrated the use of ontologies in our smart         any time. The Ontology Server allows adding new classes
                                                              and properties to the existing ontologies at any time, by
Spaces framework, GAIA. (Figure 1) All the ontologies
in GAIA are maintained by an Ontology Server [McGrath         merging new concepts into the system ontology. To do
et al., 2003]. The Ontology Server asserts the concepts       this, a new ontology describing the new entities is first
                                        Figure 1. The Ontology Infrastructure of GAIA

developed. The new ontology is then added to the shared         predicates. We follow a convention where the name of
ontology using bridge concepts that relate classes and          the predicate is the type of context that is being described
properties in the new ontology to existing classes and          (like location, temperature or time). An example of a
properties in the shared ontology. These bridge concepts        context predicate is Location(Chris, in, Room 2401).
are typically subsumption relations that define the new         This predicate is true if Chris is indeed in Room 2401.
entity to be a subclass of an existing class of entities. For   Ontologies essentially define the vocabulary and types of
example, if a new kind of fingerprint recognizer is added       arguments that may be used in the predicates.
to the system, the bridge concept may state that it is a           The use of ontologies to describe context information
subclass of “AuthenticationDevices”. These bridge con-          is helpful in checking the validity of context information.
cepts are written by the developer of the ontology manu-        It also makes it easier to specify the behavior of context-
ally. We have no way at present of automatically generat-       aware applications since we know the types of contexts
ing these bridge concepts, although that would be very          that are available and their structure. We can thus easily
useful.                                                         construct rules governing application behavior using
                                                                these well-defined context predicates.
2.2.2. Ontologies for context information                       2.3. Uses of Ontologies in a Pervasive
GAIA has a context infrastructure [Ranganathan et al.,                Computing Environment
2003] that enables applications to obtain and use differ-
ent kinds of contexts. This infrastructure consists of sen-       The Ontology Server can be used by any application,
sors that sense various contexts, reasoners that infer new      component, or service in the GAIA environment. The
                                                                ontologies that describe entities and context information
context information from sensed data and applications
that make use of context to adapt the way they behave.          are used to enable different parts of the pervasive envi-
We use ontologies to describe context information. This         ronment interact with each other easily. The ways in
                                                                which ontologies are used in GAIA are described in more
ensures that the different entities that use context have a
common semantic understanding of contextual informa-            detail in [McGrath et al., 2003].
tion.                                                           2.3.1. Configuration Management
   There are different types of contexts that can be used       A pervasive computing environment is very dynamic, the
by applications. These include physical contexts (location      configuration must change as activities change, and as
and time), environmental contexts (weather, light and           people and devices enter and leave. Configuration man-
sound levels), informational contexts (stock quotes,            agement is very challenging, especially because:
sports scores), personal contexts (health, mood, schedule,
activity), social contexts (group activity, social relation-      • New entities, never before seen, may enter
ships, whom one is in a room with), application contexts           • Components need to automatically discover and col-
(email, websites visited) and system contexts (network                laborate with other components
traffic, status of printers). We represent contexts as
   • Entities and components are heterogeneous and           participants. It also has the following human-
       autonomous.                                           understandable comment:
   Without ontologies, the GAIA environment is config-       “A meeting is an activity that is performed by a group of
ured with scripts and ad hoc configuration files [Roman      people. A meeting involves different people coming to-
et al., 2002]. Ontologies can replace these mechanisms       gether at a particular time or place with a common pur-
with a standard, formal XML language.                        pose in mind”.
   Each entity is associated with an XML file that de-       Thus, both humans and automated entities in the envi-
scribes its properties. When a new entity is introduced      ronment can get a clear understanding of the term “meet-
into the system, its description is checked against the      ing” by looking it up in the ontology.
existing ontology to see whether it is satisfiable. If the      We have developed a GUI called the Ontology Ex-
description is not consistent with the concepts described    plorer that allows users to browse the ontology describ-
in the ontology, then either the description is faulty (in   ing the environment. A user can search for different
which case the owner of the entity/context has to develop    classes in the ontology. He can then browse the results –
a correct description of the entity/context), or there are   for example, he can get documentation about the classes
safety or security issues with the new entity or context.    returned, get properties of the class, etc.. The Ontology
For example, the ontology may dictate that all electrical    Explorer is similar to a class browser, but it may browse
and electronic devices that are to be introduced in an en-   information about all concepts in the system (like context
vironment (like a smart room) must accept 110V AC            information, applications, services, terms), not just the
power. In that case, if somebody tries to install a new TV   software objects.
that is made for Europe and only takes 220V power, then      2.3.4. Improved Inter-operability between enti-
the description of the new TV would be inconsistent with     ties
the ontology and a safety warning may be generated.          The description of the properties of different classes of
   Formal ontologies also increase the capability to use     entities thus allows both users and other automated
descriptions from different, autonomous sources. The
                                                             agents to interact with them more easily by performing
DAML+OIL ontologies can be published, to enable              searches on them or sending them various commands.
autonomous developers and service providers to describe      This has proved to be one of the major advantages to us-
their products with the correct vocabulary. Conversely,
                                                             ing ontologies in a pervasive computing environment
autonomous entities can specify the correct formal vo-       since it helps simplify the user’s and the agent’s interac-
cabulary to be used to interpret their descriptions by re-   tion with such complex systems.
ferring to the relevant DAML+OIL ontology. These ac-
                                                                Entities that support searches have their schemas de-
tions require more than the URL: the formal semantics        scribed in the ontology. The ontology also specifies
defined for DAML+OIL ensures that ontologies from            which fields in the query are required and which are op-
different sources can be used together.
                                                             tional. Thus any other entity (including users) can browse
2.3.2. Semantic Discovery and Matchmaking                    the ontology to learn the schema and query formats sup-
In our environment, the Ontology Server performs the         ported by the searchable entity. They can then frame their
tasks of semantic discovery and matchmaking. It poses        query and get the results. For example, we have an MP3
logical queries involving subsumption and classification     Server that exposes a query interface for searching for
of concepts to the FaCT Server [Bechhofer et al., 1999;      MP3 files. The schema for querying contains fields like
Horrocks et al., 1999], which has knowledge of all con-      artist name, length of song, etc. This schema is described
cepts used in the environment. Such queries are useful in    in the ontology. Other entities, thus, know how to query
finding appropriate matches. Other entities in the envi-     the MP3 Server.
ronment query the Ontology Server to discover classes of        The same idea is used to let entities interact with one
components that meet their requirements.                     another i.e. by sending commands. Different entities al-
                                                             low different types of actions to be performed on them.
2.3.3. Improved Human Interfaces                             For example, the MP3 Server described above allows
Ontologies can be used to make better user interfaces and    different commands to be sent to it –start, stop, pause,
allow these environments to interact with humans in a        change volume, etc. In our framework, entities specify
more intelligent way. Ontologies describe different parts    the commands they support and the parameters of these
of the system, the various terms used and how various        commands in an ontology. Other entities can thus send
parts interact with each other. All classes and properties   commands to these entities.
in the ontology also have documentation that describes       2.3.5 Context-Sensitive Behavior
them in greater detail in user-understandable language.
Ontologies enable semantic interoperability between us-      An ontology can improve the robustness and portability
ers and the system.                                          of context-aware applications. It is not possible to design
   For example, we have defined the term “meeting” as a      in all possible contexts—or even to know what contexts
subclass of “GroupActivity”. A meeting is defined to         may be used. Ontologies for context information are an
have a location, a time, an agenda (optional) and a set of   important mechanism for adapting to environments. The
                                                             application specifies rules for context-sensitive behavior
using a specific set of context concepts and events (a vo-      • A standard API for DAML+OIL (or, more likely,
cabulary). When the application moves to a new space,              OWL [W3C, 2003b]
the context may be different. This might be due to differ-
ent sensors, different versions of services, or localiza-        • A standard interface for generic Knowledge Base ser-
tions. If the differences are terminological, an ontology            vices
may allow the rules to be “translated” and then work cor-        Alternative logic engines and Knowledge Bases should
rectly in the new environment.                                be wrapped in a generic interface, so they can be plugged
   Context-aware applications in GAIA have rules that         in to infrastructure services. For example, the Open
describe what actions should be taken in different con-       Knowledge Base Connectivity (OKBC) [Chaudhri et al.,
texts. In order to write such a rule, an application devel-   1998] could be extended to support DAML (OWL). The
oper must know the different kinds of contexts available      Java Theorem Prover (JTP) [Fikes et al., 2003] is a prom-
as well as possible actions that can be taken by the appli-   ising step in this direction.
cation. We have ontologies that describe the different           Ontologies and semantic services will play a key role
kinds of context information – location, time, tempera-       as we develop more sophisticated tools to construct and
ture, activities of people; and also different applications   manage multiple Spaces. It will be important to simplify
and what commands can be sent to them.                        the construction and maintenance of ontologies, perhaps
   These ontologies greatly simplify the task of writing      with a repository of standard ontologies. It will also be
rules. We have developed a tool that uses these ontolo-       important to integrate ontologies with the software gen-
gies to allow a developer to write rules easily. The tool     eration and management, perhaps using ontologies to
allows him to construct conditions out of the various pos-    semi-automatically generate interfaces. In short, it will be
sible types of contexts available. It then allows him to      necessary to incorporate successful developments of
choose the action to be performed at these contexts from      Knowledge Engineering Environments into the software
the list of possible commands that can be sent to this ap-    engineering and configuration management tools of the
plication as described in the ontology. Developers can,       pervasive computing environment.
thus, very quickly, impart context-sensitive behavior to         A standard upper ontology for services, such as
applications by associating context expressions (involv-      DAML-S [Ankolekar et al., 2002] is a good first step. We
ing context predicates) with actions. An example of such      foresee the need for standard ontologies for many aspects
a rule for a context-sensitive application is:                of the Pervasive Computing Environment, including de-
   IF Location(Manuel, Entering, Room 2401) AND               vices, software services, events, people, places, and
Time(morning) THEN play a rock song.                          things.
                                                                 Merging (composing) ontologies from multiple
3. Lessons Learned                                            autonomous sources is critical for the Pervasive Comput-
                                                              ing Environment. In particular, it is necessary to incorpo-
We have integrated ontologies and Semantic Web tech-          rate descriptions of new classes of entities (devices, ser-
nology into our Pervasive Computing infrastructure. This      vices, components, and so on) and new types of context
work suggests a number of requirements for future re-         information (e.g., new sensors) as they are introduced. It
search and development of ontologies.                         should be possible to develop frameworks and editors to
   Our investigations have shown that the Semantic Web        assure that the creators of new entities can create descrip-
technology can be used with CORBA-based infrastruc-           tions that can be easily merged into system ontologies.
ture to solve some important problems for a pervasive         Successful research results in merging ontologies must be
computing environment. Our Ontology Server provides a         implemented in standard services and libraries, in order
standard interface to a Knowledge Base and logic engine.      to be integrated into the infrastructure.
Ontologies for descriptions of entities and relationships        A Pervasive Computing Environment poses significant
are developed within a Knowledge Engineering Envi-            challenges for the architecture and implementation of
ronment and stored as DAML+OIL XML files. Compo-              reasoners and query engines. DAML+OIL (and in the
nents of the system use the CORBA-based infrastructure        future, OWL [W3C, 2003b]) has proven to be quite use-
to update and query the Ontology Server. In the future,       ful, especially in combination with a programming inter-
we will extend this work to augment the configuration         face. However, it seems clear that the DAML and the
and management of multiple Spaces, and to augment ad-         Description Logic (DL) underlying DAML are necessary
ditional services, such as Quality of Service infrastruc-     but not sufficient for ubiquitous computing applications.
ture [Wichadakul et al., 2002].                               Specifically, Description Logics are not suited for some
     Our system has integrated semantic services to an        critical aspects of pervasive computing: DL does not deal
unprecedented degree. This was enabled partly by the          well with quantitative concepts; including order, quan-
availability of the CORBA FaCT server [Bechhofer et al.,      tity, time, or rates. Unfortunately, this kind of reasoning
1999] and the Java classes from OILed [Bechhofer et al.,      is essential to certain aspects of ubiquitous computing,
2001; OilEd, 2002]. These packages are a model for what       including, for instance, Quality of Service management
is needed in future software standards:                       [Wichadakul et al., 2002], resource scheduling, and loca-
                                                              tion tracking. Ontologies for pervasive computing envi-
                                                              ronments will require logical models that include spatial
and temporal logic, geometry, and other quantitative rea-       Workshop on Description Logics (DL'99), Las Vegas,
soning. It is unclear whether DAML+OIL should be ex-            1999.
tended to include additional logical concepts, or whether
other kinds of markup languages should be developed for         [Berners-Lee et al., 2001] Berners-Lee, Tim, Hendler,
expressing concepts involving these quantitative aspects.       James, and Lassila, Ora. The Semantic Web. Scientific
  The Pervasive Computing Environment is a long-                American 284(5):35-43, 2001.
running, open, real-time system. Maintaining an ontology
in real-time as the system evolves presents important           [Chaudhri et al., 1998] Chaudhri, Vinay K., Farquhar,
challenges for the design and implementation of ontolo-         Adam, Fikes, Richard, Karp, Peter D., and Rice, James P.
gies and Knowledge Bases. In particular, the system             Open Knowledge Base Connectivity 2.0.3--Proposed
needs to address the issues of:                                 Stanford Research INstitute, April 9, 1998.
   • Large scale (many thousands of concepts and rela-
      tions), many hundreds of services using the ontology      [daml.org, 2003] daml.org. The DARPA Agent Markup
      and KB).                                                  Language Homepage, 2003. http://www.daml.org
  • Incremental updates (add, delete, or modify a few con-
                                                                [Fikes et al., 2003] Fikes, Richard, Frank, Gleb,
     cepts in a large, active KB).                              and Jenkins, Jessica. JTP: A System Architecture and
  • Persistence and fault-tolerance                             Component Library for Hybrid Reasoning. Knowledge
                                                                Systems Lab KSL-03-01 Stanford University, 2003.
   • Federation of multiple local Knowledge Bases
                                                                http://ksl.stanford.edu/KSL_Abstracts/KSL-03-01.html
   Another area that requires investigation is security, pri-
vacy, and access control. The Semantic Web as a whole           [Goble et al., 2002] Goble, Carole, and De Roure, David.
is largely conceived as a completely open system, in            The Grid: An Application of the Semantic Web. ACM
which everything is published for everyone to see. It is        SIGMOD Report 31(4):65-70, 2002.
far from clear how access control could or should be ap-
plied, e.g., to the information in an ontology or a KB.         [Horrocks et al., 1999] Horrocks, Ian, Sattler, Ulrike,
Reasoning engines typically can’t enforce security poli-
                                                                and Tobias, Stephan. Practical Reasoning for Expressive
cies, and the DAML language, for instance, has no facil-        Description Logics. In International Conference on Logic
ity to limit visibility of concepts or attributes. This topic   for Programming and Automated Reasoning (LPAR'99),
must be addressed in future research.
                                                                Tbilisi, 1999.
Acknowledgements                                                [IONA Technologies Inc., 2001] IONA Technologies
This research is supported in part by the National Science      Inc. ORBacus Trader, Version 2.0.0, 2001.
Foundation grant NSF 98-70736, NSF 9970139, and NSF             http://www.iona.com/products/orbacus_trader.html
infrastructure grant NSF EIA 99-72884. Important as-
pects of this study used software from Iona [IONA Tech-         [Lyytinen et al., 2002] Lyytinen, Kalle, and Yoo, Young-
nologies Inc., 2001] and University of Manchester               jin. Issues and Challenges in Ubiquitous Computing.
[Bechhofer et al., 1999; OilEd, 2002]                           Communications of the ACM 45(12):62-65, 2002.

References                                                      [McGrath et al., 2003] McGrath, Robert, Ranganathan,
                                                                Anand, Campbell, Roy, and Mickunas, Dennis. Use of
[Ankolekar et al., 2002] Ankolekar, Anupriya, Burnstein,        Ontologies in Pervasive Computing Environments
Mark, Hobbs, Jerry R., Lassila, Ora, Martin, David,             UIUCDCS-R-2003-2332 UILU-ENG-2003-1719 De-
McDermott, Drew, McIlraith, Sheila A., Narayanan,               partment of Computer Science, April, 2003.
Srini, Paolucci, Massimo, Payne, Terry, and Sycara,
Katia. DAML-S: Web Service Description for the Se-              [McGrath, 2000] McGrath, Robert E. Discovery and Its
mantic Web. In First International Semantic Web Con-            Discontents: Discovery Protocols for Ubiquitous Com-
ference (ISWC), Sardinia, 2002.                                 puting UIUCDCS-R-99-2132 Department of Computer
                                                                Science University of Illinois Urbana-Champaign, March
[Bechhofer et al., 2001] Bechhofer, Sean, Horrocks, Ian,        25, 2000.
Gable, Carole, and Stevens, Robert. OilEd: a Reason-able
Ontology Editor for the Semantic Web. In KI2001: Ad-            [OilEd, 2002] OilEd. OilEd, 2002. http://oiled.man.ac.uk/
vances in Artificial Intelligence, Vienna, 2001.
                                                                [Peer, 2002] Peer, Joachim. Bringing Together Semantic
[Bechhofer et al., 1999] Bechhofer, Sean, Horrocks, Ian,        Web and Web Services. In First International Semantic
Patel-Schneider, Peter F., and Tessaris, Sergio. A pro-         Web Conference (ISWC), Sardinia, 2002.
posal for a description logic interface. In International
[Ranganathan et al., 2003] Ranganathan, Anand, and
Campbell, Roy.H. A Middleware for Context-Aware
Agents in Ubiquitous Computing Environments., In
ACM/IFIP/USENIX International Middleware Confer-
ence, Rio de Janeiro, Brazil, June 16-20, 2003.

[Roman et al., 2002] Roman, Manuel, Hess, Christopher
K., Cerqueira, Renato, Ranganathan, Anand, Campbell,
Roy H., and Nahrstedt, Klara. GAIA: A Middleware In-
frastructure to Enable Active Spaces. IEEE Pervasive
Computing 1(4):74-83, 2002.

[Trastour et al., 2001] Trastour, David, Bartolini, Clau-
dio, and Gonzalez-Castillo, Javier. A Semantic Web Ap-
proach to Service Description for Matchmaking of Ser-
vices HPL-2001-183 HP Laboratories Bristol, July 30,
2001. http://www.hpl.hp.com/techreports

[W3C, 2003a] W3C. The Semantic Web, 2003.
http://www.w3.org/2001/sw

[W3C, 2003b] W3C. Web Ontology Language (OWL)
Reference Version 1.0. W3C Working Draft, 31 March,
2003. http://www.w3.org/TR/2002/WD-owl-ref-
20021112/

[Wichadakul et al., 2002] Wichadakul, Duangdao, Gu,
Xiaohui, and Nahrstedt, Klara. A Programming Frame-
work for Quality-Aware Ubiquitous Multimedia Applica-
tions. In ACM Multimedia, Juan Les Pins, 2002.