Table Of ContentUsing OWL in a Pervasive Computing Broker∗
Harry Chen Tim Finin Anupam Joshi
UniversityofMaryland UniversityofMaryland UniversityofMaryland
BaltimoreCounty,USA BaltimoreCounty,USA BaltimoreCounty,USA
[email protected] fi[email protected] [email protected]
ABSTRACT tologies [3, 4].
Anexplicitrepresentationofontologyconsistsofaformal
Computing is moving toward a pervasive context-aware en-
model of vocabularies (i.e., classes and properties) and as-
vironment in which agents with limited resources will re-
sociated semantics (i.e., the relationships between different
quire external support to help them become context-aware.
classes and properties). Without a well-defined ontology,
Inthispaper,wedescribeanagentbasedarchitecturecalled
knowledgesharingandcontextreasoningisoftendifficultin
Context Broker Architecture (CoBrA) to help these agents
the previous systems [3].
to acquire, reason about and share context knowledge. A
Intheprevioussystems,ontologiesareoftendefinedbased
keycomponentinourarchitectureisanexplicitcontexton-
on ad hoc representation schemes such as a set of program-
tology defined using the Web Ontology Language (OWL).
ming language objects or data structures. There are two
This ontology models the basic concepts of people, agents,
problemswiththisapproach: (i)theuseofadhoc represen-
places,andpresentationevents. Wealsodescribeausecase
tation schemes lacking shared vocabularies can hinder the
scenario and prototype design of CoBrA in an intelligent
ability of independently developed agents to interoperate
meeting room environment.
(i.e., to share context knowledge), and (ii) the use of ob-
jects and data structures of low expressive power provides
1. INTRODUCTION inadequate support for context reasoning.
Pervasivecomputingisavisionfortheneartermfuturein Inordertohelpagentstodiscover,reasonaboutandcom-
which devices, services, and software agents will seamlessly municate contextual information, we must define explicit
integrate and cooperate in support of human objectives – ontologies for context concepts and knowledge. In this pa-
anticipating our needs, negotiating for services, acting on per, we present a set of ontologies that we have developed
ourbehalf,anddeliveringservicesinananywhere,any-time to support ubiquitous agents in the CoBrA system. Our
fashion. To realize this vision, an important next step is ontology(CoBrAontology)isdefinedusingtheWebOntol-
the development of an infrastructure that can help ubiq- ogy Language (OWL) [18], an Semantic Web language be-
uitous agents, services, and devices become aware of their ingspecifiedbytheW3C.ThecurrentversionoftheCoBrA
contexts(includingtheabilitytoreasonaboutandtoshare ontologymodelsthebasicconceptsofpeople,agents,places
thisknowledge). Wearedevelopinganewpervasivecontext- andpresentationevents. Italsodescribesthepropertiesand
aware computing infrastructure called Context Broker Ar- relationshipsbetweenthesebasicconceptsincluding(i)rela-
chitecture (CoBrA) [3] that will help agents behave in an tionshipsbetweenplaces,(ii)rolesassociatedwithpeoplein
intelligent, context-aware manner. presentation events, and (iii) typical intentions and desires
By context, we mean an understanding of a location, of speakers and audience members.
its environmental attributes (e.g., room temperature, noise Therestofthisdocumentisstructuredintoninesections.
level, and light intensity), and the people, devices, objects, Inthenextsection,webrieflyreviewtheSemanticWeband
and software agents it contains. This understanding neces- the OWL language. In Section 3, we describe the key fea-
sarily extends to modeling the activities and tasks that are tures of CoBrA and its design rationale. In Section 4, we
takingplaceinalocationaswellasthebeliefs,desires,com- presentatypicalusecasescenariooftheCoBrAsystemand
mitments,andintentionsofthehumanandsoftwareagents point out how CoBrA can help agents to reason about con-
involved. texts and share knowledge. After our discussion, in Section
In the past, a number of distributed systems have been 5,wedescribethekeyontologyconceptsinthelatestversion
developed with a common goal to support pervasive com- ofourCoBrAontology. InSection6,aprototypesystemde-
puting(e.g.,IntelligentRoom[5],ContextToolkit[16],and signoftheContextBrokerArchitectureispresented. Abrief
Cooltown [12]). Although the research of these systems discussion of related work and some concluding comments
havemadetremendousprogressinadvancingpervasivecom- are given in Section 7 and Section 8, respectively.
puting,theresultingimplementations,however,haveweak-
nessesinsupportingknowledgesharingandcontextreason- 2. THESEMANTICWEBANDOWL
ing due to lacking an explicit representation of context on-
Semantic Web is a vision of the next generation World
∗This work was partially supported by DARPA contract WideWebinwhichinformationisgivenwell-definedmean-
F30602-97-1-0215, Hewlett Packard, NSF award 9875433, ing,betterenablingcomputersandpeopletoworkincoop-
and NSF award 0209001. eration [2]. Research on the Semantic Web is driven by the
Report Documentation Page Form Approved
OMB No. 0704-0188
Public reporting burden for the collection of information is estimated to average 1 hour per response, including the time for reviewing instructions, searching existing data sources, gathering and
maintaining the data needed, and completing and reviewing the collection of information. Send comments regarding this burden estimate or any other aspect of this collection of information,
including suggestions for reducing this burden, to Washington Headquarters Services, Directorate for Information Operations and Reports, 1215 Jefferson Davis Highway, Suite 1204, Arlington
VA 22202-4302. Respondents should be aware that notwithstanding any other provision of law, no person shall be subject to a penalty for failing to comply with a collection of information if it
does not display a currently valid OMB control number.
1. REPORT DATE 3. DATES COVERED
2005 2. REPORT TYPE -
4. TITLE AND SUBTITLE 5a. CONTRACT NUMBER
Using OWL in a Pervasive Computing Broker
5b. GRANT NUMBER
5c. PROGRAM ELEMENT NUMBER
6. AUTHOR(S) 5d. PROJECT NUMBER
5e. TASK NUMBER
5f. WORK UNIT NUMBER
7. PERFORMING ORGANIZATION NAME(S) AND ADDRESS(ES) 8. PERFORMING ORGANIZATION
Defense Advanced Research projects Agency,3701 North Fairfax REPORT NUMBER
Drive,Arlington,VA,22203-1714
9. SPONSORING/MONITORING AGENCY NAME(S) AND ADDRESS(ES) 10. SPONSOR/MONITOR’S ACRONYM(S)
11. SPONSOR/MONITOR’S REPORT
NUMBER(S)
12. DISTRIBUTION/AVAILABILITY STATEMENT
Approved for public release; distribution unlimited
13. SUPPLEMENTARY NOTES
The original document contains color images.
14. ABSTRACT
see report
15. SUBJECT TERMS
16. SECURITY CLASSIFICATION OF: 17. LIMITATION OF 18. NUMBER 19a. NAME OF
ABSTRACT OF PAGES RESPONSIBLE PERSON
a. REPORT b. ABSTRACT c. THIS PAGE 8
unclassified unclassified unclassified
Standard Form 298 (Rev. 8-98)
Prescribed by ANSI Std Z39-18
needforanewknowledgerepresentationframeworktocope
with the explosion of unstructured digital information on
the existing Web. Current Semantic Web research focuses
onthedevelopmentofontologylanguagesandtoolsforcon-
structing digital information that can be “understood” by
computers [2].
The origin of the Semantic Web research goes deep in
the roots of Artificial Intelligent research (e.g., knowledge
representation and ontology). However, the recent pub-
licly known Semantic Web research begins with the DAML
(DARPAAgentMarkupLanguage)effortintheUS1andthe
OIL (Ontology Inference Layer) effort in Europe2. In late
2000, the original DAML language is combined with many
of the ontology modeling features from the OIL language,
and the result is the DAML+OIL language.
Inlate2001,theWorldWideWebConsortium(W3C)es-
Figure1: Anintelligentcontextbrokeracquirescon-
tablishedtheWebOntologyWorkingGroupwiththegoalof
textinformationfromdevices, agentsandsensorsin
introducing Semantic Web technologies to the main stream
its environment and fuses it into a coherent model
web community. The group has specified a language OWL
thatisthensharedwiththedevicesandtheiragents.
thatisbasedonDAML+OILandsharesmanyofitsfeatures
(e.g., using RDF as the modeling language to define onto-
logical vocabularies and using XML as the surface syntax
for representing information [18]).
nize context knowledge, enabling fault-tolerance (similar to
We have chosen to define our ontology for contexts for
the persistent broker team described in [13]).
three reasons. First, it is much more expressive than RDF
In an intelligent space, the primary responsibilities of a
orRDF-Sallowingustobuildmoreknowledgeintotheon-
broker are to (i) acquire context information from hetero-
tology. Second, we chose to use OWL over DAML+OIL
geneoussourcesandreasonaboutthisinformationtomain-
because OWL has been designed as a standard and has the
tainaconsistentcontextmodel,(ii)helpdistributedagents
backing of a well known and regarded standards organiza-
to share context knowledge through the use of common on-
tion. Third, from a system implementation point of view,
tologies,agentcommunicationlanguagesandprotocols,and
the emergence of ontology inference engines in support for
(iii)protecttheprivacyofusersbyestablishingandenforc-
the OWL language (e.g., FaCT [9], RACER [19] and Bubo
inguser-definedpolicieswhilesharingsensitivepersonalin-
[20]) leads us to believe adopting OWL will create new op-
formation with agents in the community.
portunities for building more advanced intelligent systems.
A context broker has four main functional components:
1. Context Knowledge Base: a persistent store for
3. CONTEXTBROKERARCHITECTURE
contextknowledgeinanintelligentspace. Thisknowl-
CoBrA is an agent based architecture for supporting edgebaseprovidesasetofAPI’sforothercomponents
context-aware computing in intelligent spaces. Intelligent toassert,delete,modify,andquerystoredknowledge.
spaces are physical spaces (e.g., living rooms, vehicles, cor-
porate offices and meeting rooms) that are populated with 2. Context Reasoning Engine: a reactive inference
intelligent systems that provide pervasive computing ser- enginethatreasonsovertheknowledgebase. Itsmain
vices to users [11]. functionistodeduceadditionalknowledgefrominfor-
Centraltoourarchitectureisthepresenceofanintelligent mationacquiredfromexternalsourcesandtomaintain
contextbroker (orbrokerforshort)thatmaintainsandman- the consistency of the knowledge base.
agesasharedcontextualmodelonthebehalfofacommunity
3. Context Acquisition Module: a collection of pre-
of agents. These agents can be applications hosted by mo-
defined procedures for acquiring information from the
bile devices that a user carries or wears (e.g., cell phones,
external sources. It serves as a middleware abstrac-
PDAs and headphones), services that are provided by de-
tionforacquiringcontextsfromheterogeneoussources
vices in a room (e.g., projector service, light controller and
(e.g.,physicalsensors,webservices,databases,devices
roomtemperaturecontroller)andwebservicesthatprovide
and agents).
awebpresenceforpeople,placesandthingsinthephysical
world (e.g., services keeping track of people’s and objects’ 4. Privacy Management Module: a set of communi-
whereabouts [12]). cationprotocolsandbehaviorrulesthatthebrokerfol-
Inalarge-scaleintelligentspace(e.g.,acampusorabuild- lowswhenperformingprivacymanagementtasks(i.e.,
ing), multiple brokers can form a broker federation. Indi- negotiateprivacypolicieswithnewusersandenforcing
vidual broker in a federation is responsible for managing thesepolicieswhensharinginformationwithagentsin
parts of the intelligent space (e.g., a room in a particular the community).
building). Brokers are related to each other in some orga-
nizational structure (e.g., peer-to-peer or hierarchical) in a 4. ONTOLOGIESINCOBRA
federation,andtheycanperiodicallyexchangeandsynchro-
In a pervasive computing environment, individual agents
1DAML web site:http://www.daml.org may have limited resources to acquire, reason about and
2OIL web site: http://www.ontoknowledge.org/oil/ share contexts. In CoBrA, the role of a broker is to help
theseresource-limitedagents–e.g.,toreasonaboutcontexts Inthescenarioabove,threedistinctbutrelatedtypesofcon-
and share context knowledge. text information are used: (i) location contexts (“Where is
Inthenexttwosections,wewilldescribeatypicalmulti- Alice?”), (ii) activity context (“What is she doing?”), and
agent scenario of CoBrA (Section 4.1) and point out how (iii) agent contexts (“What might she want to do in this
explicitly represented ontologies enable knowledge sharing context?”). Note that an understanding of these contexts
and context reasoning (Section 4.2). is only possible because of all different types of agents (in-
cluding sensors and devices) share information with each
4.1 AnIntelligentMeetingRoomScenario
other using common ontologies, and the broker is able de-
R210 is an intelligent meeting room with RFID sensors3 riveadditionalinformationaboutAlice’slocationbecauseit
embedded in the walls and furniture for detecting the pres- has a model of the rooms and buildings involved and has a
ence of the users’ devices and clothing. As Alice enters the rudimentary model of spatial relationships.
room,thesesensorsinformtheR210brokerthatacellphone Context reasoning may also take place in detecting in-
belonging to her is present and the broker adds this fact in consistent beliefs about certain contexts. For example, in a
its knowledge base. pervasive computing environment, information sensed from
As she sits, the agent on Alice’s Bluetooth enabled cell the physical world can be both noisy and ambiguous (e.g.,
phone discovers R210’s broker and engages in a “hand sensors may report that the same person is present in two
shake” protocol (e.g. authenticates agent identities and es- differentroomatthesametime). Withontologies,itispos-
tablishes trust [10]) after which it informs the broker of Al- sible to guide the context reasoning process to detect and
ice’s privacy policy. This policy represents Alice’s desires resolve this inconsistent knowledge (e.g., in our CoBrA on-
about what the broker should do and includes (i) the con- tology, containment relationships between different classes
text information about Alice that the broker is permitted of locations can be used to detect this type of knowledge
or prohibited from storing and using (e.g., yes to her lo- inconsistency).
cation and roles, no to the phone numbers she calls), (ii)
other agents that the broker should inform about changes 5. THECOBRAONTOLOGY
inhercontextualinformation(e.g.,keepingAlice’spersonal
This section describes key ontology concepts in the cur-
agent at home informed about her location contexts), and
rent version of the CoBrA ontology (v0.2)4. This ontology
(iii) the permissions for other agents to access Alice’s con-
defines a vocabulary for describing people, agents, places
text information (e.g., all agents in the meeting room can
and presentation events for supporting an intelligent meet-
access Alice’s contexts while she is in the room).
ing room system on a university campus. It also defines a
AfterreceivingAlice’sprivacypolicy,thebrokercreatesa
set of properties and relationships that are associated with
profileforAlicethatdefinesrulesandconstraintsthebroker
these basic concepts.
will follow when handling any context knowledge related to
Figure2showsacompletelistofthenamesoftheclasses
Alice. For example, given the above policy, the profile for
andpropertiesintheCoBrAontology. Inv0.2,thereare41
Alicewoulddirectthebroker(i)toacquireandreasonabout
classes(i.e.,RDFresourcesthataretypeof owl:class)and
Alice’s location and activity contexts, (ii) to inform Alice’s
36 properties (i.e., RDF resources that are type of either
personal agent at home when Alice’s contexts change, and
owl:ObjectProperty or owl:DatatypeProperty). These
(iii)toshareher contexts with agents in the meetingroom.
ontologies are expressed using the OWL/XML syntax [17].
Knowing Alice’s cell phone is currently in R210 and hav-
Our ontology is categorized into four distinctive but re-
ing no evidence to the contrary, the broker concludes Alice
lated themes: (i) concepts that define physical places and
isalsothere. Additionally,becauseR210isapartoftheEn-
their associated spatial relations (e.g., containment, social
gineering building, which in turn is a part of the Campus,
and organizational properties)5, (ii) concepts that define
thebrokerconcludesAliceislocatedinEngineeringbuilding
agents (i.e., both human agents and software agents) and
andoncampus. Theseconclusionsareassertedintobroker’s
their associated attributes, (iii) concepts that describe the
knowledge base.
location contexts of an agent on a university campus, and
Following the profile, the broker informs Alice’s personal
(iv)conceptsthatdescribetheactivitycontextsofanagent,
agent of her whereabouts. On receiving this information
includingtherolesofspeakersandaudiencesandtheirasso-
about Alice, her personal agent attempts to determine why
ciateddesiresandintentionsinapresentationevent. Inthe
Aliceisthere. HerOutlookcalendarhasanentryindicating
rest of this section, we discuss each of these four themes.
thatsheistogiveapresentationonCampusaboutnow,so
the personal agent concludes that Alice is in R210 to give 5.1 Places
her talk and informs the R210 broker of it’s belief.
The notion of a place in CoBrA is presently restricted to
On receiving information about Alice’s intention, the
asetofphysicallocationsthataretypicallyfoundonauni-
R210brokersharesthisinformationwiththeprojectoragent
versity campus. These locations include campus, building,
andthelightingcontrolagentintheECS210. Fewminutes
room, hallway, stairway, restroom, and parking lot. These
later, the projector agent downloads the slides from Alice’s
physical locations are all assumed have well-defined spatial
personalagentandsetsuptheprojector,thelightingcontrol
boundaries (e.g., all locations can be uniquely identified by
agent dims the room lights.
geographicalcoordinates–longitudeandlatitude). Inaddi-
4.2 KnowledgeSharing&ContextReasoning tion, all locations on a university campus have identifiable
Anexplicitrepresentationofontologiescanbeusedtoen- 4A complete version of the ontology is available at http:
able knowledge sharing and provide a means for reasoning. //daml.umbc.edu/ontologies/cobra/0.2/cobra-ont
5In v0.2, only containment relations are defined, additional
3RFID stands for Radio Frequency Identification (see also properties will be included in the next version of the ontol-
http://www.rfid.org) ogy.
Figure 2: A complete list of the names of the classes and properties in the CoBrA ontology (v0.2).
stringnamesthatareassignedtothembysomeofficialbod- In order to make statements about some events that are
ies (e.g., by the university administration). currently associated with a particular place, we introduce
Whenmodelingphysicallocations,wedefineaclasscalled an additional object property called hasEventHappening-
Place which generalizes all type of locations on a campus. Now. Thedomainandrangeofthispropertyareoftheclass
This abstract class defines a set of properties that are com- Place and the class EventHappeningNow, respectively. The
montoallconcretephysicallocationclasses,whichconsists EventHappeningNow class represents a set of all events that
of longitude, latitude and hasPrettyName. are currently taking place (details of this class is discussed
Place classes (including subclasses) participate in con- in Section 5.4).
tainment relations. These relationships are defined by two
related object properties6 called spatiallySubsumes and
isSpatiallySubsumedBy. The former describes the subject
of this property spatially subsumes the object of this prop-
erty(e.g.,abuildingspatiallysubsumesaroominthebuild-
ing),andthelatterdescribesthesubjectofthispropertyis
spatially subsumed by the object of this property (e.g., a
roominthebuildingisspatiallysubsumedbythebuilding).
In the context of the OWL language, these two properties
are defined as an inverse property of each other.
Note that in the current version of the ontology, the do-
main and the range of both spatiallySubsumes and is-
SpatiallySubsumedBypropertiesareoftheclasstypePlace.
Inotherword,thesetwopropertiescannotbeusedtomake
statementsaboutthecontainmentofaperson,agentorob-
Figure 3: A partial ontology definition of the
ject in a physical place. In Section 5.2, we will describe
AtomicPlace & CompoundPlace classes in OWL/XML
alternativeconstructsforexpressingthistypeofstatements.
syntax
In addition to containment relationships, physical places
may also have events and activities associated with them
(e.g., a meeting may be taken place in a room, or an an-
nual festival may be taken place on a university campus). 5.1.1 AtomicPlace
6This refers to the owl:ObjectProperty property From the list of concrete physical locations that we have
mentioned (i.e., campus, building, room, hallway, stairway, finedasanagent’scommitmenttoperformsomeparticular
etc.), some of these locations usually do not contain (spa- actions(e.g.,apersonwiththeaudiencerolemayintendto
tiallysubsume)otherphysicallocations. Forexample,hall- downloadacopyoftheslidesafterattendingapresentation
ways,stairwaysandroomsinabuildingusuallyarenotusu- event).
ally considered to be a type of physical place that contains Tobeginourontologymodelingforagents,weintroducea
other places. generalclasscalledAgent,whichisasetofallhumanagents
For this reason, we introduce an abstract class called and computational agents. We define the class Person to
AtomicPlace to represent a set of all physical places that representhumanagentsandtheclassSoftwareAgenttorep-
do not contain other physical places. This class in- resentcomputationalagents(bothofwhicharesubclassesof
herits all properties from its superclass Place. How- theAgentclassanddisjointswitheachother). Allagentsin
ever, it puts restrictions on the range of the two proper- our ontology are associated with properties that describe
ties spatiallySubsumes and isSpatiallySubsumedBy. In their contact information. To generalize properties that
this AtomicPlace class, the cardinality of the property serve as descriptions of contact information, we define an
spatiallySubsumesis0,indicatingallinstancesofthisclass object property called hasContactInformation. From this
do not contain any other physical places. On the other property, we further define sub-properties of contact infor-
hand, the range of the property isSpatiallySubsumedBy is mation,whichconsistof hasFullName,hasEmail,hasHome-
restricted to the class CompoundPlace, which is a subclass Page and hasAgentAddress.
of Place. This CompoundPlace class represents all physi-
5.2.1 Role
cal places that may contain other physical places. Figure 3
shows partial representation of these classes in OWL/XML Inourontology,theclassRolerepresentsasetofallroles
syntax. that can be associated with an agent. In other words, it
Some subclasses of the AtomicPlace class include Room, is an abstract class that generalizes all possible types of
Hallway, Stairway, Restroom, LadiesRoom, MensRoom and agent roles in the CoBrA ontology. In v0.2 of the ontol-
ParkingLot. ogy, pre-defined subclasses of Role consist of SpeakerRole
and AudienceRole.
5.1.2 CompoundPlace
To associate roles with an agent, the object properties
TheAtomicPlaceclassrepresentsasetofplacesthatcon- fillsRole and isFilledBy are defined. In the context of
tains zero number of Place instances, the CompoundPlace theOWLlanguage,thesetwopropertiesareinverseproperty
class represent places that contain at least one Place in- ofeachother–fillsRolehasdomainAgentandrangeRole,
stances. This class is also a subclass of Place. and isFilledBy has domain Role and range Agent.
BeingasubclassofthePlaceclass,CompoundPlaceinher-
its all properties from its parent class. In order to express
allinstancesoftheCompoundPlaceclassshouldonlybespa-
tially subsumed by instances of other CompoundPlace, the
rangeofthisclass’spropertyisSpatiallySubsumedByisre-
stricted to have class type CompoundPlace. This restriction
excludesallinstancesoftheCompoundPlaceclasstobespa-
tially subsumed by instances of the AtomicPlace.
5.2 Agents
TheagentclassinCoBrArepresentsbothhumansagents
and software agents. Human agents are users in an intel-
ligent space. Software agents, on the other hand, are au-
tonomous computing entities that provide services to users
(either directly or indirectly) in an associated space.
All agents have associated properties that describes their
contact information, which includes uniquely identifiable
Figure 4: This is a partial definition of the concepts
names,URLsfortheirhomepages,andemailaddresses. In
related to roles, intentions and desires in an intelli-
addition, agents are assumed to have certain roles in differ-
gent meeting room system.
enteventsandactivities(e.g.,apersoncanhavethespeaker
role in a presentation event, and device agents in the close
vicinity may take on the presentation assistant role during
the presentation session). Different roles may give rise to 5.2.2 IntentionalActions
different desires and intentions of an agent.
AllactionsinCoBrAaredefinedasinstancesoftheclass
IntheCoBrAontology,thenotionsofdesireandintention
IntentionalAction. Informally, intentional actions are ac-
are both associated with actions7. Specifically, the notion
tions that an agent performs intentionally and with certain
of desire is defined as an agent’s desire for some actions to
goals in mind. In our design, we assume domain applica-
beachievedbyotheragents(e.g.,apersonwiththespeaker
tions will extend this class to define specialized subclasses
role may desire some service agents to dim the lights when
and instances. To support the construction of intelligent
his presentation starts), and the notion of intention is de-
meeting room systems, we have pre-defined a set of con-
7thesemanticsofanactionisnotformaldefinedinthecur- crete instances of IntentionalAction that are common in
rentversionoftheontology. Inv0.2,allinstancesofactions presentation events (see Figure 4).
are assumed to be atomic. All instances of the IntentionalAction class (or its sub-
classes)canbeassociatedwitheitheraninstanceoftheRole tation and discussion)10.
classortheAgentclassthroughobjectpropertiesintends- Activityeventsareassumedhaveschedules. Forpresenta-
ToPerform or desiresSomeoneToAchieve. The domain of tionevents,wehavedefinedPresentationScheduleclassto
these two properties are defined to be a union of the class representtheirschedules. Presentationschedulesaredefined
Role and Agent (see Figure 4). to have startTime, endTime and location properties, and
eachofwhichrespectivelyrepresentsthestarttimeofapre-
5.3 Agent’sLocationContext sentation, the end time of a presentation and the location
of a presentation event. Each presentation event has one
Inthelasttwosections,wehavedescribedasetofCoBrA
or more invited speaker and an audience. These two con-
ontology concepts for physical locations and agents. In this
ceptsaredefinedusingtheinvitedSpeakerandexpected-
section,wewilldiscussadditionalconceptsformodelingthe
Audience properties. In addition to start time, end time
location context of agents.
andlocation,thescheduleofapresentationusuallyincludes
By location context, we mean a collection of dynamic
a title and an abstract of the presentations. To model
knowledge that describes the location of an agent. In the
these two concepts, we introduce presentationTitle and
contextoftheOWLlanguage,thisknowledgeisacollection
presentationAbstract properties.
of RDF statements that describe the location property of
An agent’s activity context is usually associated with ac-
an agent. To model the location property of an agent, we
tivityeventsthatarecurrentlyhappening. Forexample,the
introduce an object property called locatedIn, which has
range Place8. activitycontextofaspeakerincludesthepresentationevent
thathe/sheisgivingthepresentationat. Tomodelthis,we
Physicallocations,aswehavediscussedpreviouslyinSec-
introducethePresentationEventHappeningNowclass. This
tion 5.1, are categorized into two distinctive classes namely
class is a subclass of the EventHappeningNow class which
AtomicPlace(e.g.,hallwaysandrooms)andCompoundPlace
models an event with the time predicate “now”.
(e.g., campus and building). Following the semantics of
For a presentation that is currently happening, we can
thesetwoclasses,noagentcanlocateintwodifferentatomic
specialize the type of rooms at which the event takes
places at the same time, but any agent can locate in two or
place. For example, a room that has an ongoing pre-
more compound places at the same time. In the context of
sentation event is defined as RoomHasPresentationEvent-
the OWL language, any two instances of the AtomicPlace
HappeningNow,whichisasubclassof Roomandrestrictsthe
classaredifferentifandonlyifbothinstanceshavedistinc-
tive object values9 for the same class property. range of its hasEventHappeningNow property to the class
PresentationSchedule. In addition, we can also specialize
To capture the notion an agent can be in an atomic and
people who has various roles in an on-going event. For ex-
a compound place, from the locatedIn property we de-
ample,asetofallpeoplewhohavethespeakerroleofsome
fine two sub-properties called locatedInAtomicPlace and
on-going presentation event is defined as the SpeakerOf-
locatedInCompoundPlace. Theformerrestrictsitsrangeto
PresentationHappeningNow class. Similarly, we define the
the AtomicPlace class, and the latter restricts its range to
AudienceOfPresentationHappeningNowclasstorepresenta
the CompoundPlace class. From these two properties, we
setofallpeoplewhohavetheaudienceroleofsomeon-going
can define additional properties that further restricts the
presentation event.
type of physical place an agent is located in. For exam-
ple, locatedInRoom, locatedInRestroom and locatedIn-
ParkingLot are sub-properties of locatedInAtomicPlace; 6. APROTOTYPESYSTEMDESIGN
locatedInCampusandlocatedInBuidingaresub-properties
In the last section, we have describe the key concepts in
of locatedInCompoundPlace.
theCoBrAontology. Inthissection,wepresentaprototype
Since all agents in CoBrA are associated with different
systemdesignforrealizingtheintelligentmeetingroomsce-
types of location properties, we can generalize subsets of
nario that we have described in Section 4.1.
these agents in according to their location properties. To
Inourprototypedesign(seeFigure5),therearefivema-
do so, we define PersonInBuilding and SoftwareAgentIn-
jorsystemcomponents: (i)acontextbroker,(ii)apersonal
Building to represent a set of people and software agents
agent of the user, (iii) a projector agent, (iv) a Bluetooth-
whoarelocatedinabuilding,respectively. Thecomplement
enabled cell phone that the user carries, and (v) devices
of these classes are PersonNotInBuilding and Software-
and clothes tagged with RFID tags. The context broker,
AgentNotInBuilding.
the personal agent, and the projector agent will be imple-
mented using the JADE agent development framework [1],
5.4 Agent’sActivityContext
a FIPA compliant Java agent development library. These
An agent’s activity context is similar to its location con- agentswillcommunicatewitheachotherusingthestandard
text – a collection of dynamic knowledge about certain as- FIPA-ACL. When these agents communicate for the pur-
pects of an agent’s situational condition. While location pose of sharing context knowledge, the OWL language will
context describes the location at which the agent is situ- beusedasthecontentlanguageforencodingcontextknowl-
ated,activitycontextdescribesactivitiesinwhichtheagent edge. Because all agents in CoBrA are assumed to share a
participates. In the current version of the ontology, the no- common ontology (i.e., CoBrA ontology) for representing
tionofanactivityisrestrictedtorepresentasetofalltypical context knowledge, both the projector agent and the per-
group activity events in a meeting room (meeting, presen- sonalagentcaninteroperatewiththecontextbrokerevenif
their internal implementations are independently designed
8The domain of this property is owl:Thing, indicating any
thing may be located in some physical place. 10In v0.2 of the ontology, we have only included concepts
9anobjectvaluereferstotheobjectinanN-triplestatement relatedtopresentationevents. Inthefutureversion,wewill
(i.e. (<subject>, <predicate>, <object>) extend the ontology to includes other activity events
cations. These concepts are useful for guiding the decision
making of context-aware applications [16, 5, 11]. Neverthe-
less, none of the previous systems have explored the space
andspatialrelationshipaspectsofthelocationcontexts(i.e.,
informationthatdescribesthewholephysicalspacethatsur-
rounds a particular location and its relationship to other
locations). Modelingspaceandspatialrelationshipsareim-
portant in CoBrA. We currently have a simple model of
space and spatial relationships (see Section 5.1). In the
DAML+OIL community, recent discussions on the daml-
spatial mailing list have initiated the work to develop a Se-
mantic Web version of the spatial ontology based the SUO
[14]andCyc[6]. Inthefuture,weplanonusing,ifpossible,
or at least mapping to, if feasible, one of these consensus
ontologies for space.
Figure 5: In our prototype system, the context
In addition to using OWL as an ontology language for
broker will operate on a MOCHA PC, an all-in-
modelingcontexts,wealsoattempttouseOWLasthecon-
one design mini book-size PC. It will be integrated
tent language in agent communication. Our approach is
with Bluetooth wireless communication and RFID
similar to the use of OWL in the TAGA system (Travel
readers for detecting people presence. The broker
Agent Game in Agentcities) [22]. In TAGA, collections of
will communicate with software agents via FIPA-
agent communication primitives (e.g., action, result, query,
ACL/OWL.
sender, and receiver) are defined using OWL, forming on-
tologies for agent communications12. Using these ontolo-
gies, agents can express their reasons for communicating
(i.e., the interoperability of these agents are not completely with other agents (i.e., making propositions and querying
pre-defined but rather achieved through ontology sharing). for information).
In addition to the agents, our design also includes the UsingOWLasthecontentlanguageinagentcommunica-
use of a SonyEricsson T68i cell phone, which is component tion will allow the underlying agent implementations to be
(iv). On this Bluetooth-enabled cell phone, users will store betterintegratedwithSemanticWebtechnologies(e.g.,on-
their personal policies (e.g., similar to the policy described tologyinferenceenginesandSemanticWebquerylanguages
in Section 4.1). As users enter the meeting room, they [7]). In contrast to the use of other content languages such
will submit their personal policies to the broker through FIPA-SL,KIFandXML,theuseofOWLasacontentlan-
Bluetooth networks. These policies will be expressed us- guage helps to simplify the underlying implementations for
ing the XML/OWL language syntax following the CoBrA composing communication messages (e.g., avoiding multi-
ontology11. level parsing implementations for translating contents into
In order to detect the presence of users, we will label internal knowledge representation).
user devices and clothing with RFID tags, similar to the
approach used in the CoolAgent RS [4] system. We are 8. CONCLUSIONANDFUTUREWORK
planning to deploy a number of RFID readers in our pro-
Computing is moving towards pervasive, context-aware,
totype environment, for example, placing readers next to
environments in which resource-limited agents will require
the meeting room’s door and underneath the tables in the
externalsupportstohelpthemtobecomeawareoftheircon-
meeting room.
texts. TheContextBrokerArchitecturedescribedinthispa-
perwillhelptheseagentstoacquire,reason,andsharecon-
7. RELATEDWORK
textualknowledge. Akeycomponentofthisinfrastructureis
Ourworkiscloselyrelatedtootherpervasiveandcontext- anexplicitrepresentationofcontextontologiesexpressedin
awarecomputingresearchsuchasIntelligentRoom,Context theOWLlanguage. Withoutthisontology,inconsistentand
Toolkit, Cooltown, One.World [8] and Centaurus [11]. In ambiguouscontextknowledgecannotbeeasilydetectedand
comparison to theprevious systems, our design ofthe Con- resolved, and acquired context knowledge cannot be shared
text Broker Architecture takes a knowledge representation with independently developed agents.
approachtobuildontologiesofcontextsandattemptstouse We are developing an OWL reasoning engine called F-
SemanticWeblanguage(i.e.,OWL)asthecontentlanguage OWL13 to support the use case described in Section 4.1.
in agent communication. ThisreasoningengineisimplementedusingFlora-2inXSB
An explicit representation of context ontologies distin- [15],anobject-orientedknowledgebaselanguageandappli-
guishes CoBrA from other context-aware systems. While cation development platform that translates a unified lan-
the previous systems rely on ad hoc representations of con- guageofF-logic,HiLog,andTransactionLogicintotheXSB
texts to exchange information, CoBrA takes a knowledge deductive engine [21].
representation approach allowing context knowledge to be We plan to prototype an intelligent context broker and
reasonedandsharedthroughawell-definedontologymodel. integrate this broker with the Centaurus systems (a frame-
Asinothersystems(e.g.,ContextToolkitandCooltown), work for building pervasive computing services developed
theCoBrAontologymodelsconceptsfordescribinguserlo-
12FIPAOWLcontentlanguageontologyisavailableathttp:
11In the next version of the CoBrA ontology (v0.3), we will //taga.umbc.edu/taga2/owl/fipaowl.owl
use concepts from the policy language REI [10] 13F-OWL web site: http://umbc.edu/~hchen4/fowl/
at UMBC) [11]. The objective is to create a pervasive [15] K. Sagonas, T. Swift, D. S. Warren, J. Freire, P. Rao,
context-aware meeting room in the newly constructed In- B. Cui, and E. Johnson. The XSB Programmers’
formationTechnologyandEngineeringBuildingonUMBC’s Manual, 2002.
main campus14. [16] D. Salber, A. K. Dey, and G. D. Abowd. The context
toolkit: Aiding the development of context-enabled
applications. In CHI, pages 434–441, 1999.
9. REFERENCES
[17] M. K. Smith, C. Welty, and D. McGuinness. Owl web
[1] F. Bellifemine, A. Poggi, and G. Rimassa. Developing ontology language guide.
multi agent systems with a fipa-compliant agent http://www.w3.org/TR/owl-guide/, 2003.
framework. Software - Practice And Experience, [18] F. van Harmelen, J. Hendler, I. Horrocks, D. L.
31(2):103–128, 2001. McGuinness, P. F. Patel-Schneider, and L. A. Stein.
[2] T. Berners-Lee, J. Hendler, and O. Lassila. The Owl web ontology language reference.
semantic web. Scientific American, may 2001. http://www.w3.org/TR/owl-ref/), 2002.
[3] H. Chen. An intelligent broker architecture for [19] R.M.VolkerHaarslev.Descriptionoftheracersystem
context-aware systems. PhD. dissertation proposal. and its applications. In Proceedubgs International
http://umbc.edu/~hchen4/, 2003. Workshop on Description Logics (DL-2001), 2001.
[4] H. Chen, S. Tolia, C. Sayers, T. Finin, and A. Joshi. [20] R. Volz, S. Decker, and D. Oberle. Bubo -
Creating context-aware software agents. In implementing owl in rule-based systems. 2003.
Proceedings of the First GSFC/JPL Workshop on [21] G. Yang and M. Kifer. Flora-2: User’s Manual.
Radical Agent Concepts, 2001. Department of Computer Science, Stony Brook
[5] M. H. Coen. Design principles for intelligent University, Stony Brook, 2002.
environments. In AAAI/IAAI, pages 547–554, 1998. [22] Y. Zou, T. Finin, L. Ding, H. Chen, and R. Pan.
[6] Cyccorp Inc. The Upper Cyc Ontology, 1997. Taga: Trading agent competition in agentcities. In
http://www.cyc.com/cyc-2-1/cover.htm. IJCAI-2003 Trading Agent Conmpetition Workshop,
2003.
[7] R. Fikes, P. Hayes, and I. Horrocks. DAML Query
Language (DQL), 2002.
[8] R. Grimm, T. Anderson, B. Bershad, and
D. Wetherall. A system architecture for pervasive
computing. In Proceedings of the 9th ACM SIGOPS
European Workshop, pages 177–182, 2000.
[9] I. Horrocks, U. Sattler, and S. Tobies. Practical
reasoning for expressive description logics. In
H. Ganzinger, D. McAllester, and A. Voronkov,
editors, Proceedings of the 6th International
Conference on Logic for Programming and Automated
Reasoning (LPAR’99), number 1705 in Lecture Notes
in Artificial Intelligence, pages 161–180.
Springer-Verlag, 1999.
[10] L. Kagal, T. Finin, and A. Joshi. A policy language
for a pervasive computing environment. In IEEE 4th
International Workshop on Policies for Distributed
Systems and Networks, 2003.
[11] L. Kagal, V. Korolev, H. Chen, A. Joshi, and
T. Finin. Centaurus : A framework for intelligent
servicesinamobile environment.InProceedings of the
International Workshop on Smart Appliances and
Wearable Computing (IWSAWC), 2001.
[12] T. Kindberg and J. Barton. A Web-based nomadic
computing system. Computer Networks (Amsterdam,
Netherlands: 1999), 35(4):443–456, 2001.
[13] S. Kumar, P. R. Cohen, and H. J. Levesque. The
adaptive agent architecture: Achieving fault-tolerance
using persistent broker teams. In Proceedings of the
Fourth International Conference on Multi-Agent
Systems, pages 159–166, 2000.
[14] I. Niles and A. Pease. Towards a standard upper
ontology. In Proceedings of the 2nd International
Conference on Formal Ontology in Information
Systems (FOIS-2001), 2001.
14ITEbuildingconstructionlivefeed: http://www.cs.umbc.
edu/ITE/ITE.html