An Ontology for Context-Aware Pervasive Computing Environments∗ Harry Chen, Tim Finin, and Anupam Joshi Department of Computer Science and Electrical Engineering University of Maryland Baltimore County {hchen4, finin, joshi}@cs.umbc.edu Abstract an open and dynamic distributed systems, (ii) ontologies with well defined declarative semantics provide a means for intel- Ontologies are a key component for building open ligent agents to reason about contextual information, and (iii) and dynamic distributed pervasive computing sys- explicitly represented ontologies allow devices and agents not tems in which agents and devices share contextual expressly designed to work together to interoperate, achiev- information. We describe our use of the Web On- ing “serendipitous interoperability” [Heflin, 2003]. tology Language OWL and other tools for building In the past, a number of distributed systems have been de- the foundation ontology for the Context Broker Ar- veloped to support pervasive computing including the Intel- chitecture (CoBrA), a new context-aware pervasive ligent Room [Coen, 1998], Cooltown [Kindberg and Barton, computing framework. The current version of the 2001], and Context Toolkit [Salber et al., 1999]. These sys- CoBrA ontology models the basic concepts of peo- tems have made progress in various aspects of pervasive com- ple, agents, places, and presentation events in an puting but are weak in supporting knowledge sharing and intelligent meeting room environment. It provides context reasoning. A significant source of this weakness is a vocabulary of terms for classes and properties their lack a common ontology with explicit semantic repre- suitable for building practical systems that model sentation [Chen et al., 2001; Chen, 2003]. CoBrA provides context in pervasive computing environments. We better support for knowledge sharing and context reasoning also describe our ongoing research in developing an using a common ontology defined using Semantic Web lan- OWL inference engine using Flora-2 and in extend- guages. In this paper, we describe the use of the Web Ontol- ing the present CoBrA ontology to use the DAML ogy Language OWL [van Harmelen et al., 2002] and tools for spatial and temporal ontologies. building an ontology foundation in CoBrA. In the next section, we overview CoBrA and its design ra- tionale. In Section 5, we describe the role of the Semantic 1 Introduction Web and the OWL language in our architecture. Section 4 Computing is moving toward pervasive, ubiquitous environ- describes two components that we believe to be necessary for ments in which devices, software agents, and services are all building an ontology foundation in pervasive context-aware expected to seamlessly integrate and cooperate in support of systems (e.g., in CoBrA). After our discussion, in Section 5, human objectives – anticipating needs, negotiating for ser- we present our initial work in building an ontology called Co- vice, acting on our behalf, and delivering services in an any- BrA Ontology for modeling context knowledge and enabling where, any-time fashion [Weiser, 1991; Finin et al., 2001]. knowledge sharing – this is the first component of the on- An important next step for pervasive computing is the inte- tology foundation in CoBrA. In Section 6, we describe our gration of intelligent agents that employing knowledge and on-going research work which attempts to complete the sec- reasoning to understand the local context and share this infor- ond component of the CoBrA ontology foundation, an ontol- mation in support of intelligent applications and interfaces. ogy inference engine for OWL. A brief discussion of related We are developing a new pervasive context-aware computing work and our future work are given in Section 7 and Section infrastructure called Context Broker Architecture (CoBrA) 8, respectively. In Section 9, we summarize this document. [Chen, 2003], to support ubiquitous agents, services and de- vices to behave intelligently in according to their situational 2 Context Broker Architecture contexts. CoBrA is an agent based architecture for supporting context- Ontologies are key requirements for building context- aware computing in intelligent spaces. Intelligent spaces are aware pervasive computing systems for the following rea- physical spaces (e.g., living rooms, vehicles, corporate offices sons: (i) a common ontology enables knowledge sharing in and meeting rooms) populated with intelligent systems that ∗ This work was partially supported by DARPA contract F30602- provide pervasive computing services to users [Kagal et al., 97-1-0215, NSF award 9875433, NSF award 0209001, and Hewlett 2001]. By context, we mean an understanding of a location, Packard. its environmental attributes (e.g., noise level, light intensity, temperature and motion) and the people, devices, objects and mobile devices to agents running on resource-rich servers; the software agents it contains. complications inherent in establishing, monitoring and en- forcing security, trust, and privacy polices will be simplified in the presence of a centralized manager. Although the ex- istence of context broker could bring about the above advan- tages, its centralized design could create a “bottle neck” in a distributed system, hindering the overall system performance. In our preliminary research work, we have not addressed this problem. However, according to Kumar and Cohen [Kumar et al., 2000], this “bottle neck” issue could be resolved through fault-tolerance by introducing a persistent broker team. 3 Rationales for Exploring Semantic Web The responsibility of a context broker is to acquire, maintain and share a coherent and consistent model of the local con- text. Our approach to doing this is a knowledge-based one built on a declarative ontology of basic concepts for objects Figure 1: An intelligent context broker acquires context in- and relations in a pervasive environment. The ontology is fur- formation from devices, agents and sensors in its environment ther defined by axioms that provide additional constraints and and fuses it into a coherent model, which is then shared with meaning as well as rules and heuristics that can derive addi- the devices and their agents. tional useful information. Somewhat surprisingly, we found that the languages developed for the Semantic Web are also well suited for our purpose. Key design requirements are Central to our architecture is the presence of an intelligent common to the web and pervasive computing. Both are very context broker (or broker for short) that maintains and man- open system with a high degree of dynamism in which in- ages a shared model of contexts on the behalf of a commu- dependent and autonomous agents publish content and also nity of agents (i.e., applications running on the mobile devices search for information of interest. that a user carries or wears, services that are provided by de- Semantic Web is a vision of the next generation World vices in a room, and web services that provide web presences Wide Web [Berners-Lee et al., 2001]. Research efforts in for people, places and things in the physical world [Kind- the Semantic Web are driven by the need for a new knowl- berg and Barton, 2001]). In our system, a broker assumes edge representation framework to cope with the explosion of the responsibility to (i) acquire contexts from heterogeneous unstructured digital information on the existing Web. The information sources and maintain the consistency of the over- present Semantic Web research focuses on the development all context knowledge through reasoning, (ii) help distributed of ontology languages and tools for constructing digital infor- agents to share context knowledge through the use of ontolo- mation that can be ”understood” by computers [Berners-Lee gies, agent communication languages and protocols, and (iii) et al., 2001]. protect the privacy of users by establishing and enforcing user In the past few years, ontology language developments in defined policies while sharing sensitive personal information the Semantic Web have converged to a new W3C standard with agents in the community. Figure 1 shows a high-level called OWL. The OWL language shares the same root as its design of the broker and its relationship with agents in an in- predecessor DAML+OIL[Connolly et al., 2001] (e.g., using telligent space. RDF as the modeling language to define ontological vocabu- In a large-scale intelligent space (e.g., a campus or a build- laries and using XML as the surface syntax for representing ing), multiple brokers can form a broker federation. Individ- information [van Harmelen et al., 2002]). ual broker in a federation is responsible for managing parts of We have chosen the OWL language to model context on- the intelligent space (e.g., a room in a particular building). In tologies for two reasons. First, it is much more expres- a federation, brokers are related to each other in some organi- sive than RDF or RDF-S allowing us to build more knowl- zational structure (e.g., peer-to-peer or hierarchical), and they edge into the ontology. Second, we chose to use OWL over can periodically exchange and synchronize context knowl- DAML+OIL because OWL has been designed as a standard edge. and has the backing of a well known and regarded standards Our centralized broker design addresses two important is- organization. sues that are key to realizing the potential of ubiquitous com- Additionally, from a system design point of view, using puting: supporting resource-limited mobile computing de- OWL to define context ontologies underpins two important vices [Dertouzos, 2001; Coen, 1998; Chen and Kotz, 2000] functions of a context broker. First, it provides a means for and addressing the concerns for user privacy and security the broker to share context knowledge with agents in an as- [Ackerman et al., 2001; Bellotti and Sellen, 1993]. With the sociated intelligent space. Second, it provides an ontology introduction of a context broker that operates on a stationary model which can help the broker to reason about contexts and computer, the burdens of acquiring and reasoning over con- detect knowledge inconsistency. text information will be shifted away from resource-limited Knowledge sharing in pervasive context-aware systems re- quires all agents to share a common ontology1 . Using the of properties and relationships that are associated with these OWL language, ontology concepts are defined independent basic concepts. from any agent implementations, and their semantics are cap- Figure 2 shows a complete list of the names of the tured using standard knowledge representation vocabularies. classes and properties in the CoBrA ontology. Version Taking this approach, independently developed agents can v0.2 includes 41 classes (i.e., RDF resources that are share context knowledge with the broker without pre-defined type of owl:class) and 36 properties (i.e., RDF re- agreements on how they should interoperate. sources that are type of either owl:ObjectProperty or Context reasoning is a key function of the broker. Con- owl:DatatypeProperty). text reasoning involves deducing context knowledge from ac- Our ontology is categorized into four distinctive but related quired situational information and detecting inconsistency in themes: (i) concepts that define physical places and their as- the knowledge base. To reason about contexts, the broker sociated special relationships (e.g., containment relationship, can exploit ontology reasoning using logic inference engines social and organizational properties)3 , (ii) concepts that de- (e.g., the DAMLJessKB [Kopena and Regli, ], TRIPLE [Sin- fine agents (i.e., both human agents and software agents) and tek and Decker, 2002], FaCT [Horrocks et al., 1999], RACER their associated attributes, (iii) concepts that describe the lo- [Volker Haarslev, 2001] and Bubo [Volz et al., 2003]). cation contexts of an agent on a university campus, and (iv) concepts that describe the activity contexts of an agent, in- 4 CoBrA Semantic Web Ontology Foundation cluding the roles of speakers and audiences and their associ- An ontology-driven design methodology is one way to build ated desires and intentions in a presentation event. In the rest a distributed intelligent system (e.g., CoBrA) that can reason of this section, we will discuss each of these four themes. about contexts and can help agents to share knowledge. Us- ing an explicit representation of the ontology, context knowl- 5.1 Concepts Related To Places edge can be reasoned over to derive additional information The notion of a place in CoBrA is restricted to a set of phys- [Chen and Tolia, 2001], and this knowledge can also be eas- ical locations that are typically found on a university cam- ily share by distributed agents using standard communica- pus. These locations include campus, building, room, hall- tion languages and protocols (e.g., FIPA-ACL, KQML, and way, stairway, restroom, and parking lot. These physical lo- SOAP/XML-RPC). This approach requires a suitable onto- cations are all assumed have well defined spatial boundaries logical foundation on which CoBrA specific components can (e.g., all locations can be uniquely identified by geographical be built. We believe the followings are two necessary compo- coordinates – longitude and latitude). In addition, all loca- nents in this foundation: tions on a university campus have identifiable string names that are assigned to them by some official bodies (e.g., by the 1. Context Ontology: The ontology provides a set of terms university administration). for describing context knowledge (i.e., explicit state- ments that describe contexts in the environment). The When modeling physical locations, we define a class called ontology should be developed in a language with ap- Place which generalizes all type of locations on a campus. propriate expressive power and a well defined seman- This abstract class defines a set of properties that are common tics. This ontology allows distributed agents to share a to all concrete physical location classes, which consists of common understanding of the information that they ex- longitude, latitude and hasPrettyName. change and to reason about additional information that Place classes (including subclasses) have associated is beyond what is already known. containment relationships. These relationships are de- fined by two related object properties4 called spatially- 2. Ontology Inference Engine: an ontology inference en- Subsumes and isSpatiallySubsumedBy. The former gine is a logic system that reasons over the semantic describes the subject of this property spatially subsumes the model of an ontology. To reason about our context on- object of this property (e.g., a building spatially subsumes a tologies in OWL, for example, an ontology inference en- room in the building), and the latter describes the subject of gine should provide a set of rules for interpreting the se- this property is spatially subsumed by the object of this prop- mantic model of OWL [Patel-Schneider et al., 2003] and erty (e.g., a room in the building is spatially subsumed by the detecting inconsistency in the knowledge base. building). In the context of the OWL language, these two properties are defined as an inverse property of each other. 5 A Walkthrough of the CoBrA Ontology Note that in the current version of the ontology, the domain This section describes key ontology concepts in the current and the range of both spatiallySubsumes and is- version of the CoBrA ontology (v0.2)2 . This ontology defines SpatiallySubsumedBy properties are of the class type a set of vocabularies for describing people, agents, places Place. In other word, these two properties cannot be used and presentation events for supporting an intelligent meeting to make statements about the containment of a person or an room system on a university campus. It also defines a set agent in a physical place. However, in Section 5.2, we will de- scribe alternative constructs for expressing this type of state- 1 This sharing might, in practice, be achieved with the help of ments. ontology translation agents. 2 3 A complete version of the ontology is available at http:// In v0.2, only containment relationship is defined, additional daml.umbc.edu/ontologies/cobra/0.2/cobra-ont properties will be included in the next version of the ontology. 4 in the OWL/XML syntax. This refers to the owl:ObjectProperty property Figure 2: A complete list of the names of the classes and properties in the CoBrA ontology (v0.2). In addition to containment relationships, physical places class do not contain any other physical places. The range may be also associated with events and activities (e.g., a of the property isSpatiallySubsumedBy is restricted to meeting may be taken place in a room, or an annual fes- the class CompoundPlace, which is a subclass of Place. tive may be taken place on a university campus). To make The CompoundPlace class represents all physical places statements about a place that is associated with some event, that may contain other physical places. Figure 3 shows par- we introduce an object property called hasEvent, which tial representation of these classes in OWL/XML syntax. has domain Place and range Event. Instances of Event Some subclasses of the AtomicPlace class include can be associated with time intervals. We define Event- Room, Hallway, Stairway, Restroom, LadiesRoom, HappeningNow, a subclass of Event, to represent a set of MensRoom and ParkingLot. all events that are currently happening (details of this class is CompoundPlace discussed in Section 5.4). To make statements about a place that is associated with some event that is currently happen- While the AtomicPlace class is introduced to represent ing now, we define an object property called hasEvent- a set of places that contains zero number of Place in- HappeningNow. stances, the CompoundPlace class is defined to repre- sent a set of places that contains at least one or more num- AtomicPlace bers of Place instances. This class is also a subclass of Some of the concrete physical locations that we have men- Place. Being a subclass of the Place class, Compound- tioned (i.e., campus, building, room, hallway, stairway, etc.) Place inherits all properties from its parent class. In or- usually do not contain (spatially subsume) other physical lo- der to express all instances of the CompoundPlace class cations. For example, hallways, stairways and rooms in a should only be spatially subsumed by instances of other building are not usually considered to be a type of physical CompoundPlace, the range of this class’s property is- place that contains other places. SpatiallySubsumedBy is restricted to have class type For this reason, we introduce an abstract class called CompoundPlace. This restriction excludes all instances of AtomicPlace to represent the set of physical places the CompoundPlace class to be spatially subsumed by in- that do not contain other physical places. This class in- stances of the AtomicPlace. herits all properties from its superclass Place. How- ever, it restricts the range of the properties spatially- 5.2 Concepts Related To Agents Subsumes and isSpatiallySubsumedBy. In the The notion of an agent in CoBrA represents both humans AtomicPlace class, the cardinality of the property agents and software agents. Human agents are simply users spatiallySubsumes is 0, indicating all instances of this in an intelligent space. Software agents, on the other hand, roles. In v0.2 of the ontology, pre-defined subclasses of Role are SpeakerRole and AudienceRole. To associate roles with an agent, the object properties fillsRole and isFilledBy are defined. These two properties are inverse property of each other – fillsRole has domain Agent and range Role, and isFilledBy has domain Role and range Agent. Figure 3: A partial definition of the AtomicPlace and CompoundPlace classes in OWL/XML syntax are autonomous computing entities that provide services to users (either directly or indirectly) in an associated space. All agents have associated properties that describe their contact information, which includes uniquely identifiable names, URLs to their home pages, and email addresses. In addition, agents are assumed to have certain roles in different events and activities (e.g., a person can have the speaker role Figure 4: This is a partial definition of the concepts related in a presentation event, and device agents in the close vicinity to roles, intentions and desires in an intelligent meeting room may take on the presentation assistant role during the pre- system. sentation session). Different roles may give rise to different desires and intentions of an agent. In the CoBrA ontology, the notions of desire and intention Intentional Actions are both associated with actions5 . Specifically, the notion of All actions in CoBrA are defined as instances of the class desire is defined as an agent’s desire for some action to be IntentionalAction. Informally, intentional actions are achieved by some other agents (e.g., a person with the speaker actions that an agent performs intentionally and with certain role may desire some service agents to dim the lights when goals in mind. In our design, we assume domain applications his presentation starts), and the notion of intention is defined will extend this class to define specialized subclasses and in- as an agent’s commitment to perform some particular action stances. To support the construction of intelligent meeting (e.g., a person with the audience role may intend to download room system, we have pre-defined a set of concrete instances a copy of the slides after attending a presentation event). of IntentionalAction that are common in presentation To model ontologies for agents, we introduce a general events (see Figure 4). class called Agent, which is a set of all human agents and All instances of the IntentionalAction class (or computational agents. We define the class Person to repre- its subclasses) can be associated with either an instance of sent human agents and the class SoftwareAgent to rep- the Role class or the Agent class through object prop- resent computational agents (both of which are subclasses of erties intendsToPerform or desiresSomeoneTo- the Agent class and disjoints with each other). All agents in Achieve. The domain of these two properties are union our ontology are associated with properties that describe their of the class Role and Agent (see Figure 4). contact information. To generalize properties that serve as descriptions of contact information, we define an object prop- 5.3 Concepts Related to Agent’s Location Context erty called hasContactInformation. From this prop- By location context, we mean a collection of dynamic knowl- erty, we further define sub-properties of contact information, edge that describes the location of an agent, which is a col- which consist of hasFullName, hasEmail, hasHome- lection of RDF statements that describes the location prop- Page and hasAgentAddress. erty of an agent. The location property of an agent is cap- tured through the object property locatedIn. It has range Role Place and domain owl:Thing, indicating anything (in- In our ontology, the class Role represents a set of all roles cluding agents) may be located in some physical place. that are presently associated with an agent. In other words, it Physical locations, as discussed in the previous section, is an abstract class that generalizes all possible types of agent are categorized into two distinctive classes: AtomicPlace (e.g., hallways and rooms) and CompoundPlace (e.g., 5 the semantic of an action is not formal defined in the current campus and building). Following the semantics of these two version of the ontology. In v0.2, all instances of actions are assumed classes, we can make the following reasoning: no agent can to be atomic action. locate in two different atomic places at the same time, but an agent can be in two different compound places at the same class which models an event with the time predicate “now”. time just in case one spatially subsumes the other. This For a given presentation that is currently happening, we reasoning is important for detecting inconsistent knowledge can specialize the type of rooms at which the event takes about the current location of an agent. place. For example, a room that has an on-going presenta- To capture the notion an agent can be located in an atomic tion event is defined as RoomHasPresentationEvent- and a compound place, from the locatedIn property HappeningNow, which is a subclass of Room and restricts we define two sub-properties called locatedInAtomic- the range of its hasEventHappeningNow property to Place and locatedInCompoundPlace. The former the class PresentationSchedule. To describe people restricts its range to the AtomicPlace class, and the lat- have speaker and audience roles in an on-going event, we ter restricts its range to the CompoundPlace class. From define the SpeakerOfPresentationHappeningNow these two properties, we define additional properties that class and the AudienceOfPresentationHappening- further restricts the type of physical place an agent can be Now class. located in. For example, locatedInRoom, located- InRestroom and locatedInParkingLot are sub- 6 An OWL Inference Engine in Flora-2 properties of locatedInAtomicPlace; locatedIn- Campus and locatedInBuiding are sub-properties of In the last section, we have described the CoBrA ontology, locatedInCompoundPlace. which forms the first component in the ontology foundation For agents that are located in different places, we can cat- in our system. In order for a context broker to reason about egorize them in according to their location properties. For contexts, an inference engine for reasoning over OWL on- example, we define PersonInBuilding to represent a set tologies is required. of all people who are located in a building, and Software- At the present, inference engines that can reason over the AgentInBuilding to represent a set of software agents complete semantic model of the OWL language is still under who are located in a building, respectively. The comple- development (in Section 5 we have mentioned a few of these ment of these classes are PersonNotInBuilding and emerging inference engines). As a part of our research, we are SoftwareAgentNotInBuilding. developing an OWL inference engine called F-OWL using the Flora-2 system in XSB. Flora-2 is a system that translates 5.4 Concepts Related to Agent’s Activity Context a unified language of F-logic, HiLog, and Transaction Logic into the XSB deductive engine [Yang and Kifer, 2002]. Flora- The activity context of an agent, similar to the location con- 2 has a language syntax that is similar to TRIPLE [Sintek text, is a collection of dynamic knowledge about certain as- and Decker, 2002] and also allows ontology semantics to be pects of an agent’s situational condition. While location con- defined using rules. text describes the location in which the agent is situated, ac- F-OWL is a rule-driven logic inference engine. Its imple- tivity context describes activities in which the agent partici- mentation consists of four distinctive but related sets of rules: pates. In our ontology, the notion of an activity is restricted to (i) rules that define the semantic model of the RDFS ontol- represent a set of all typical group activity events in a meeting ogy language, (ii) rules that define the semantic model of the room (meeting, presentation and discussion)6 . OWL ontology language, (iii) rules that draw inferences over Activity events are assumed have schedules. For presenta- the semantic model of RDFS, and (iv) rules that draw infer- tion events, we define PresentationSchedule class to ences over the semantic model of OWL. Inputs to F-OWL are represent their schedules. Presentation schedules are defined collections of the N-Triple representation of some domain on- to have startTime, endTime and location properties, tologies (e.g., context knowledge that are described using the and each of which respectively represents the start time of a CoBrA Ontology), and outputs from F-OWL are ontologi- presentation, the end time of a presentation and the location of cal knowledge that can be proved by the logic inferences that a presentation event. Each presentation event has one or more are defined in (iii) and (iv). To access the output ontological invited speaker and expected audience. These two concepts knowledge, Flora-2 queries can be used. are defined using the invitedSpeaker and expected- F-OWL is still in its early stage of the development. The Audience properties. In addition to start time, end time and latest version (v0.3)7 of F-OWL support a full RDF-S infer- location, the schedule of a presentation usually includes a ti- ences and partial OWL inferences (limited to the OWL-Lite tle and an abstract of the presentations. To model these, we sub-language constructs and some OWL Full constructs). We introduce presentationTitle and presentation- expect to complete a full inference of the OWL language in Abstract properties. F-OWL by late June 2003. The activity context of an agent is usually associated with activity events that are currently happening. For example, the activity context of a speaker includes the presentation event 7 Related Work at which he/she is giving the presentation. To model this, Our work is closely related to other pervasive and context- we introduce the PresentationEventHappeningNow aware computing research such as Intelligent Room [Coen, class. This class is a subclass of the EventHappeningNow 1998], Context Toolkit [Salber et al., 1999] and Cooltown [Kindberg and Barton, 2001], One.World [Grimm et al., 6 In v0.2 of the ontology, we have only included concepts related 2000] and Centaurus [Kagal et al., 2001]. In comparison to to presentation events. In the future version, we will extend the on- 7 tology to includes other activity events http://umbc.edu/˜hchen4/fowl the previous systems, our novel design of the context bro- is attending a meeting at a given time interval9 . In an ker attempts to address challenging issues such as developing intelligent meeting room, RFID sensors periodically reports explicit ontology representations of contexts, supporting con- the presence of a person and describe this information text reasoning and maintenance through logic inferences and using the at-time predicate – e.g., at 12:57 PM, they providing user privacy protection using policies (also see dis- report at-time(locatedIn(harry,room201), cussions in Section 5). clock time("12:57PM")) and at 1:33 PM, they In the previous systems, user location contexts are widely report at-time(locatedIn(harry,room201), used for guiding the the decision making process of context- clock time("1:33PM")). From this knowledge, aware applications [Salber et al., 1999; Coen, 1998; Kagal et using the interval algebra, the context broker can con- al., 2001]. However, none of them have taken advantage of clude during(locatedIn(harry, room201), the semantics of spatial relations in reasoning about contexts time interval("1:00PM-1:30PM")). (i.e., information that describes the whole physical space that surrounds a particular location and its relationship to other 9 Conclusion locations). Ontologies are key requirements for building context-aware pervasive computing systems. In this paper, we have de- 8 Future Work scribed the use of the OWL language and other tools for Modeling space and time are important in CoBrA. We cur- building an ontology foundation in CoBrA, a new pervasive rently have a simple model of space and spatial relationships context-aware architecture. With an explicit representation of (see Section 5.1) and an implicit representation of time and context ontologies, CoBrA will allow independently devel- temporal relationships (see Section 5.4). In the next version oped devices and agents to interoperate and to help them to of the CoBrA ontology, we plan on using, if possible, or at share and reason about contexts. As a part of our long term re- least mapping to, if feasible, one of the consensus ontologies search plan, we are prototyping an intelligent context broker. for space and time. Our goal is to create and deploy a pervasive context-aware meeting room in the newly constructed Information Technol- 8.1 Adopting Spatial Ontology ogy and Engineering Building on the UMBC main campus10 . At present, there are two distinctive versions of spatial ontolo- References gies namely the spatial ontology in SUO [Niles and Pease, 2001] and the upper Cyc ontology [Cyc, 1997]. Recent dis- [Ackerman et al., 2001] Mark Ackerman, Trevor Darrell, cussions on the daml-spatial mailing list have initiated the and Daniel J. Weitzner. Privacy in context. Special Issue work to develop a Semantic Web version of the spatial on- on Context-Aware Computing. Human-Computer Interac- tology based these ontologies8 . The new spatial ontology tion, 16(2-4), 2001. will cover representations for dimension, shape, length, area, [Bellotti and Sellen, 1993] Victoria Bellotti and Abigail volume, latitude, longitude, elevation, political subdivisions, Sellen. Design for privacy in ubiquitous computing en- and topological relations (e.g., Relation Connection Calculus vironments. In Proceedings of the Third European Con- [Randell et al., 1992]). As a short term objective, we plan to ference on Computer Supported Cooperative Work (EC- investigate the applications of Relation Connection Calculus SCW’93), pages 77–92. Kluwer, 1993. in context reasoning (e.g., detecting inconsistency knowledge about a person locating in two places that are disconnected [Berners-Lee et al., 2001] Tim Berners-Lee, James Hendler, from each other). and Ora Lassila. The semantic web. Scientific American, may 2001. 8.2 Adopting Temporal Ontology [Chen and Kotz, 2000] Guanling Chen and David Kotz. A In addition to the spatial ontology, the DAML community is survey of context-aware mobile computing research. Tech- also developing temporal ontology for expressing temporal nical Report TR2000-381, Dartmouth College, Computer aspects of the contents of web resources and for expressing Science, Hanover, NH, nov 2000. time-related properties of web services [Hobbs, 2002]. In [Chen and Tolia, 2001] Harry Chen and Sovrin Tolia. Steps this ontology, interval algebra is used to define temporal rela- towards creating a context-aware agent system. Technical tionship axioms (after, before, inside, time-between, proper- report, Hewlett Packard Labs, 2001. interval, etc.) and representations for clock and calendar units [Chen et al., 2001] Harry Chen, Sovrin Tolia, Craig Sayers, (i.e., year, month, day of week, etc.). Tim Finin, and Anupam Joshi. Creating context-aware In a short term, we plan to investigate the use of inter- software agents. In Proceedings of the First GSFC/JPL val algebra for reasoning over the temporal relationships Workshop on Radical Agent Concepts, 2001. between different context events. For example, the re- lation between the at-time(e,t) predicate and the 9 In this example, lower case e represents an event instance, lower during(e,T) predicate can be used determine if a person case t represents a time instance and upper case T represents a time interval. 8 10 http://www.daml.org/listarchive/ ITE building construction live feed: http://www.cs. daml-spatial/ umbc.edu/ITE/ITE.html [Chen, 2003] Harry Chen. An intelligent broker archi- [Niles and Pease, 2001] Ian Niles and Adam Pease. Towards tecture for context-aware systems. PhD. disserta- a standard upper ontology. In Proceedings of the 2nd Inter- tion proposal. See http://users.ebiquity.org/ national Conference on Formal Ontology in Information ˜hchen4/phd/hcthsisp.pdf, 2003. Systems (FOIS-2001), 2001. [Coen, 1998] Michael H. Coen. Design principles for intel- [Patel-Schneider et al., 2003] Peter F. Patel-Schneider, ligent environments. In AAAI/IAAI, pages 547–554, 1998. Patrick Hayes, and Ian Horrocks. Owl web ontology [Connolly et al., 2001] Dan Connolly, Frank van Harmelen, language semantics and abstract syntax. 2003. Ian Horrocks, Deb McGuinness, Peter F. Patel-Schneider, [Randell et al., 1992] David A. Randell, Zhan Cui, and An- and Lynn Andrea Stein. DAML+OIL (March 2001) Refer- thony G. Cohn. A spatial logic based on regions and con- ence Description, 2001. nection. In 3rd International Conference on Knowledge [Cyc, 1997] Cyccorp Inc. The Upper Cyc Ontology, 1997. Representation and Reasoning, 1992. http://www.cyc.com/cyc-2-1/cover.htm. [Salber et al., 1999] Daniel Salber, Anind K. Dey, and Gre- [Dertouzos, 2001] Michael Dertouzos. The Unfinished Rev- gory D. Abowd. The context toolkit: Aiding the develop- olution. HarperCollins Publishers, 2001. ment of context-enabled applications. In CHI, pages 434– [Finin et al., 2001] Tim Finin, Anupam Joshi, Lalana Kagal, 441, 1999. Olga Ratsimore, Vlad Korolev, and Harry Chen. nforma- [Sintek and Decker, 2002] Michael Sintek and Stefan tion agents for mobile and embedded devices. In Fifth Decker. Triple—a query, inference, and transformation International Workshop Cooperative Information Agents, language for the semantic web. In Proceedings of 2001. International Semantic Web Conference (ISWC-02), 2002. [Grimm et al., 2000] Robert Grimm, Tom Anderson, Brian [Smith et al., 2003] Michael K. Smith, Chris Welty, and Bershad, and David Wetherall. A system architecture for Deborah McGuinness. Owl web ontology language guide. pervasive computing. In Proceedings of the 9th ACM http://www.w3.org/TR/owl-guide/, 2003. SIGOPS European Workshop, pages 177–182, 2000. [van Harmelen et al., 2002] Frank van Harmelen, [Heflin, 2003] Jeff Heflin. Web ontology language (owl) use Jim Hendler, Ian Horrocks, Deborah L. McGuin- cases and requirements, 2003. ness, Peter F. Patel-Schneider, and Lynn Andrea [Hobbs, 2002] Jerry R. Hobbs. A daml ontology of time. Stein. Owl web ontology language reference. http://www.cs.rochester.edu/˜ferguson/ http://www.w3.org/TR/owl-ref/), 2002. daml/daml-time-20020830.txt, 2002. [Volker Haarslev, 2001] Ralf Mller Volker Haarslev. De- [Horrocks et al., 1999] I. Horrocks, U. Sattler, and S. Tobies. scription of the racer system and its applications. In Pro- Practical reasoning for expressive description logics. In ceedubgs International Workshop on Description Logics H. Ganzinger, D. McAllester, and A. Voronkov, editors, (DL-2001), 2001. Proceedings of the 6th International Conference on Logic [Volz et al., 2003] Raphael Volz, Stefan Decker, and Daniel for Programming and Automated Reasoning (LPAR’99), Oberle. Bubo - implementing owl in rule-based systems. number 1705 in Lecture Notes in Artificial Intelligence, 2003. pages 161–180. Springer-Verlag, 1999. [Weiser, 1991] Marc Weiser. The computer for the 21st cen- [Kagal et al., 2001] Lalana Kagal, Vlad Korolev, Harry tury. Scientific American, 265(30):94–104, 1991. Chen, Anupam Joshi, and Timothy Finin. Centaurus : [Yang and Kifer, 2002] Guizhen Yang and Michael Kifer. A framework for intelligent services in a mobile environ- Flora-2: User’s Manual. Department of Computer Sci- ment. In Proceedings of the International Workshop on ence, Stony Brook University, Stony Brook, 2002. Smart Appliances and Wearable Computing (IWSAWC), 2001. [Kindberg and Barton, 2001] Tim Kindberg and John Bar- ton. A Web-based nomadic computing system. Computer Networks (Amsterdam, Netherlands: 1999), 35(4):443– 456, 2001. [Kopena and Regli, ] Joe Kopena and William C. Regli. Damljesskb: A tool for reasoning with semantic web. edge.mcs.drexel.edu/ assemblies/software/damljesskb/ articles/DAMLJessKB-%2002.pdf. [Kumar et al., 2000] Sanjeev Kumar, Philip R. Cohen, and Hector 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.