=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==
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.