Using 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