[ieee 2007 2nd international conference on pervasive computing and applications - birmingham, uk...

5
Research on the Architecture of Ontology-based Context-aware Application in Pervasive Environment Yongquan Dong"12, Qingzhong Lil,Yuliang Shil I School of Computer Science and Technology, Shandong University, Jinan, P.R. China 2 School of Computer Science and Technology, Xuzhou Normal University, Xuzhou, P.R. China dongyongquan@,mail. sdu. edu. cn lqz@,sdu. edu. cn liangyus@,sdu. edu. cn Abstract With the prevalence of pervasive devices, plenty of applications need to support context awareness. Due to the heterogeneity of context information, it is necessary to provide a set of common vocabularies with shared semantics. Based on above requirements, the paper presents an architecture of ontology-based context-aware application in pervasive environment. In the architecture context processing is regarded as a separated module which conforms to the principle of software engineering, "seperation of concerns The architecture enables applications to focus on the information that they desire, and reduces the need to worry about how contextual information is retrieved. In order to reuse of the ontology, the paper designs two level's ontology-generic ontology and domain- specific ontology which unifies semantics of context information. At last an example scenario of home domain is given to illustrate the rationality and effectiveness of the architecture. Keywords: Pervasive Computing, Ontology, Context, Context-aware Application. 1. Introduction Pervasive computing paradigm is firstly proposed by Weiser[1-2], which will become "third wave of computing". With the prevalence of pervasive devices, users can hold many electronic devices to facilitate their daily lives and work. They have to deal with diverse devices (mobile or fixed) with diverse interfaces and used in diverse environments. It is imperative to enable devices and applications to automatically adapt to changes in their surrounding physical and electronic environments. Context [3-4] is any information that characterizes a situation related to the interaction between users, applications, and the surrounding environment. The usage of context requires many applications to support its processing. So it is necessary to design a reasonable architecture to make current applications support the processing of context without modifying themselves. From the perspective of software engineering, the architecture should conform to the principle of "separation of concerns", that is, application designers need not to care about the details of how to derive the context that applications can understand. Another problem is the different representation of context. The lack of common context specification raises some issue of interoperability, reuse. Ontology provides a formal, explicit specification of a shared conceptualization of a domain. Using ontology to provide the semantics of context information is a promising area. Based on two above problems, the paper proposes an architecture of ontology-based context-aware application in pervasive computing. The example scenario suggests that the architecture is reasonable and applicable. The remainder of the paper is structured as follows. Section 2 presents a context layer model. Section 3 focuses the architecture of ontology-based context- aware application and introduces the details of each part. Section 4 elaborates on the context ontology, while section 5 presents an example scenario to suggest that the architecture is reasonable and effective. Finally, in section 6 conclusions are drawn, while an outline of future plans is provided. 2. Context Layer Model The generation of context is not one time, but many times in which the abstraction of context will be gradually enhanced. We divide context information into four layers. As is shown in Figure 1, the four layers contain physical context, interpreted context, integrated context and applicable context from low level to high level. The physical contexts describe contexts which are derived from the environment. The interpreted contexts represent contexts which are be transformed and be mapped to contexts that are defined by applying an accepted vocabulary for simplification. The integrated contexts describe contexts which relate to an entity in a situation. The applicable contexts are built from highly specific contexts whose contents are adapted to the application. 1-4244-0971-3/07/$25.00 ©)2007 IEEE.

Upload: yuliang

Post on 11-Mar-2017

221 views

Category:

Documents


2 download

TRANSCRIPT

Page 1: [IEEE 2007 2nd International Conference on Pervasive Computing and Applications - Birmingham, UK (2007.07.26-2007.07.27)] 2007 2nd International Conference on Pervasive Computing and

Research on the Architecture of Ontology-based Context-aware Application inPervasive Environment

Yongquan Dong"12, Qingzhong Lil,Yuliang ShilI School ofComputer Science and Technology, Shandong University, Jinan, P.R. China

2 School ofComputer Science and Technology, Xuzhou Normal University, Xuzhou, P.R. Chinadongyongquan@,mail. sdu. edu. cn lqz@,sdu. edu. cn liangyus@,sdu. edu. cn

Abstract

With the prevalence ofpervasive devices, plentyof applications need to support context awareness.

Due to the heterogeneity of context information, it isnecessary to provide a set of common vocabularieswith shared semantics. Based on above requirements,the paper presents an architecture ofontology-basedcontext-aware application in pervasive environment.In the architecture context processing is regarded as

a separated module which conforms to the principleof software engineering, "seperation of concerns

The architecture enables applications to focus on theinformation that they desire, and reduces the need toworry about how contextual information is retrieved.In order to reuse of the ontology, the paper designstwo level's ontology-generic ontology and domain-specific ontology which unifies semantics of contextinformation. At last an example scenario of homedomain is given to illustrate the rationality andeffectiveness ofthe architecture.

Keywords: Pervasive Computing, Ontology, Context,Context-aware Application.

1. Introduction

Pervasive computing paradigm is firstly proposed byWeiser[1-2], which will become "third wave ofcomputing". With the prevalence of pervasive devices,users can hold many electronic devices to facilitate theirdaily lives and work. They have to deal with diversedevices (mobile or fixed) with diverse interfaces andused in diverse environments. It is imperative to enabledevices and applications to automatically adapt tochanges in their surrounding physical and electronicenvironments. Context [3-4] is any information thatcharacterizes a situation related to the interactionbetween users, applications, and the surroundingenvironment. The usage of context requires many

applications to support its processing. So it is necessary

to design a reasonable architecture to make currentapplications support the processing of context withoutmodifying themselves. From the perspective of

software engineering, the architecture should conformto the principle of "separation of concerns", that is,application designers need not to care about the detailsof how to derive the context that applications can

understand.Another problem is the different representation of

context. The lack of common context specificationraises some issue of interoperability, reuse. Ontologyprovides a formal, explicit specification of a sharedconceptualization of a domain. Using ontology toprovide the semantics of context information is a

promising area.

Based on two above problems, the paper proposes an

architecture of ontology-based context-awareapplication in pervasive computing. The examplescenario suggests that the architecture is reasonable andapplicable.The remainder of the paper is structured as follows.

Section 2 presents a context layer model. Section 3focuses the architecture of ontology-based context-aware application and introduces the details of each part.Section 4 elaborates on the context ontology, whilesection 5 presents an example scenario to suggest thatthe architecture is reasonable and effective. Finally, insection 6 conclusions are drawn, while an outline offuture plans is provided.

2. Context Layer Model

The generation of context is not one time, but manytimes in which the abstraction of context will begradually enhanced. We divide context information intofour layers. As is shown in Figure 1, the four layerscontain physical context, interpreted context, integratedcontext and applicable context from low level to highlevel. The physical contexts describe contexts which are

derived from the environment. The interpreted contextsrepresent contexts which are be transformed and bemapped to contexts that are defined by applying an

accepted vocabulary for simplification. The integratedcontexts describe contexts which relate to an entity in a

situation. The applicable contexts are built from highlyspecific contexts whose contents are adapted to theapplication.

1-4244-0971-3/07/$25.00 ©)2007 IEEE.

Page 2: [IEEE 2007 2nd International Conference on Pervasive Computing and Applications - Birmingham, UK (2007.07.26-2007.07.27)] 2007 2nd International Conference on Pervasive Computing and

Applicable Context

ntegrated Context

nterpreted Context

Physical Context

Figure 1 Context Layer Model

3. The Architecture of Ontology-basedContext-aware Application

In this section, we present an architecture ofontology-based context-aware application in pervasiveenvironment and introduce the details of each part. Thearchitecture generalizes the foundations laid in[3-5] toprovide a higher abstraction.

The architecture of ontology-based context-awareapplication is shown in Figure 2.

Context-ware Application Layer

Context Mildlleware Layer Cohtext I_feienne Engie

OntoloEoe La text Integrator

Mr gw~~~~~ohtext Interpreter = | e

Context

Ontology Context Collector |Finder

|EryironrLenLt Resource LaErer ( SenLsors, S ervic es, Devices ..

Figure 2 The Architecture of Ontology-basedContext-aware Application

The architecture is divided into three layers that areenvironment resource layer, context middleware layer,and context-aware application layer from bottom to top.The function of each part is described as following.

(1) Environment Resource Layer. It contains manyresources such as sensors, services and devices whichare the sources of the production of context. Theseresources constitute a pervasive environment.

(2) Context Middleware Layer. It focuses on theprocessing of context, which contains contextacquisition, context interpretation, context integrationand context inference etc. In order to support contextsharing, this layer incorporates ontology to unify thecontext semantics meaning. As a separated layer, it willadapt well to any existing application withoutsupporting context.

The layer has many modules each of which achievesspecific functions. In Figure 2, we omit the word"module" in each module.

Context collector module is responsible foracquiring the raw data from the resources inenvironment resource layer. Context interpreter moduleanswers for producing the interpreted contexts andraises the level of abstraction of context information.Context integrator module gathers context informationrelated to an entity, that is, integrated context. If thereare many context collectors which generate samecontext, the context integrator decides which contextcollector to use according to the sensor's accuracy anderror rate. Context inference engine module infersadditional and not directly observable contextinformation which conforms to applicable context anddetermines which application to run according to rulesin knowledge base which is easy to be managed by user.Context storage module receives the physical context,interpreted context, integrated context and applicablecontext in order to maintain a history of all contextswhich can be used to establish trends and predict futurecontext values. Context ontology module provides aunified, well structured scheme for the semanticrepresentation of context information which all thecontext must conform to. Context ontology managermodule dynamically updates context ontology and usesit to interact with peers in pervasive environment.Finder module answers for maintaining a registry ofwhat capabilities existing in the architecture andmanaging the communications between each contextmodule and the application.

Each module has the same interface that willfacilitate easy usage. The interface is as shown inFigure 3. Every module has the notification, callbackand polling interface and its core functions. Notificationinterface is responsible for notifying the interestedapplications when context has changed and conformedto the conditions that the relevant applications havepreset. Callback interface allows applications to obtainall level of context. Polling interface takes charge ofallowing applications to be proactive to theenvironment.

input

Interface

NotificatiZonZ |Callback Foiling

Core Functions

output

Figure 3 The Structure of Each Module

Page 3: [IEEE 2007 2nd International Conference on Pervasive Computing and Applications - Birmingham, UK (2007.07.26-2007.07.27)] 2007 2nd International Conference on Pervasive Computing and

(3) Context-aware Application Layer. It can utilizethe publish/subscribe mechanism to accept the results ofcontext middleware layer which conform to semanticmeanings of input parameters of applications and can

also use polling mechanism to query all levels ofcontext.

4. Context Ontology

A major problem for context is the heterogeneity ofcontext information, and the lack of a general acceptedcontext-specification raises many issues, such as

interoperability, reuse etc. So ontology is incorporatedinto the architecture. The use of ontology to representcontext has already been proposed by others[6-8]. Inthis paper we generalize the use of ontologies accordingto its layered model.

4.1 Ontology

In order to support interoperability among pervasiveenvironment, it must be done to share each of domainknowledge. Ontology[9-10] provides a formal, explicitspecification of a shared conceptualization of a domain.It describes concepts in a certain domain andrelationships among these concepts. Because of itsconceptual hierarchical structure and strong expressiveability in semantics, ontology plays an important role inknowledge share and reuse. By using ontology, allresources in pervasive environment can share thedomain knowledge so that they can communicate witheach other seamlessly.

4.2 Context Ontology

Context ontology defines a common vocabulary toshare context information in a pervasive computingdomain; and include machine-interpretable definitionsof basic concepts in the domain and relations among

them.Due to existing a great variety of context, we divide

the pervasive computing domain into a collection ofsub-domains such as home domain, office domain, etcto reduce the burden of the construction and processingof context ontology. Context ontologies are divided intogeneric ontology and domain-specific ontologies. Thegeneric ontology is generally used context concept inpervasive environment. And the domain-specificontologies are specified context ontology according todomain area. The example of the next section is givento illustrate an example ofhome domain.

ig 4 a rch diagrAm if oGentlii i Prson Re5{Us 1.< i0 12;,rifVO)nto(logynog

Domallin-Sr)ec i f i C ||

0tntto I ogi es E=.

Figure 4 Class hierarchy diagram for contextontology

The generic ontology defines the basic concepts ofperson, location, resource and activity as shown inFigure 4. The class Context provides an entry point ofreference for declaring the generic ontology. Person,Location, Resource and Activity are subclasses ofContext. The details of these basic concepts are definedin the domain-specific ontologies which may vary fromone domain to another. Figure 5 suggests therelationships of generic ontology class.

iEngage In, liaisResoulr.e

tot eteAPetrsonr iF Locat ion

Figure 5 The relationship diagram of classes forcontext ontology

4.3 An Example of Context Ontology

We adopt the W3C standard OWL to define domainontology. OWL[11-12] is Web Ontology language.OWL is designed for use by applications that need toprocess the content of information instead of justpresenting information to humans. It provides a rich setof constructs with which to create ontologies and tomarkup information so that it is machine readable andunderstandable. OWL builds on RDF and RDF Schemaand adds more vocabularies for describing propertiesand classes and suites well for specifying andexchanging ontologies.The following is an partial OWL representation for

Figure 4 and Figure 5.

<?xml version="1.0"?><rdf:RDF xmlns="http://www.owl-

ontologies.com/PervasiveGenericOntology.owl#"xml:base="http: www.owl-ontologiescom PervasiveGenericOntology.owl"x

Page 4: [IEEE 2007 2nd International Conference on Pervasive Computing and Applications - Birmingham, UK (2007.07.26-2007.07.27)] 2007 2nd International Conference on Pervasive Computing and

mlns:xsd="http://www.w3.org/200 I/XMLSchema#"fxmlns:rdfs="http://www.w3.org/2000/0 1/rdf-schema#"xmlns:rdf="http:llwww.w3.org/1999/02/22-rdf-syntax-ns#"xmlns:owl="http://www.w3.org/2002/07/owl#">

<owl:Ontology rdf:about=""/><owl:Class rdf:ID="Context"/><owl:Class rdf:ID="Person">

<rdfs:subClassOf rdf:resource="#Context"/><owl:disjointWith

rdf:resource="#Location"/><owl:disjointWith

rdf:resource="#Resource"/><owl:disjointWith

rdf:resource="#Activity"/></owl:Class>... H omit the other generic class except Person

<owl:ObjectProperty rdf:ID="EngageIn"><rdfs:domain rdf:resource="#Person"/><rdfs:range rdf:resource="#Activity"/>

</owl:ObjectProperty><owl:ObjectProperty rdf:ID="hasResource">

<rdfs:domain rdf:resource="#Location"/><rdfs:range rdf:resource="#Resource"/>

</owl:ObjectProperty><owl:ObjectProperty rdf:ID="LocatedAt">

<rdfs:domain rdf:resource="#Person"/><rdfs:range rdf:resource="#Location"/>

</owl:ObjectProperty></rdf:RDF>

5. An Example Scenario

To give the illustration of the architecture, thissection presents a scenario ofhome domain:Tom has entered his house. The temperature sensor in

the room measures that the temperature is 35 celsiusdegree.The window of the room should be closed andthe air-condition be opened automatically.The window and air-condition both have applications

to control their status. And the two applications onlyaccept the input parameter of "open/closing". The rulesof determining their status are predefined in theknowledge base. Of course it can be learned fromhistorical data.The two applications are controlled by the people in

the past. Now in the pervasive environment, they can

adapt to the environment change to proactively controltheir status. Figure 6 shows a graph representation ofcontexts based on the example scenario.

:t} iisVa<lue

llasse'SOr F A W

hiisxDevice W

> ~~~~~hclsSt,i:ttus

Figure 6 A partial OWL graph for contexts in theexample scenario.

The running mechanism is described as follows.When tom has entered the house, temperature collectorcollects its current value 35. The collector adjusts thevalue according to context ontology, such as the unit.Next the interpreter explains the value from thecollector and the collecting data value is mapped to"hot". The inference engine infers that the windowstatus should be "close" and the air-condition status be"open" according to predefined rule and invokewindow application and air-condition application.The context inference is given as follows. It mainly

processes according rules and then determines whichapplication to run.

Figure 7 shows the rules of the example. If a personis in the house and the temperature status is "hot", thewindow status is "closing" and the air-condition statusis "open". Then the applications will be invoked.

IF (?u type Person)(?u L cateAt ?h)(?h type Indo orSpace)(?h hasResource ?tA)(?tl type TemptureSensor)?tI has atus ?terqstatus)(?wtype Windows)(? type Air-C onditi on)?terpstatus=hot

> THEN (?whasStatus c1osing) (?a hasStatus open)Figure 7 inference rules

The description of the scenario and running processsuggest that the architecture is reasonable andapplicable. The Application only accepts the parameterof "open/closing" and needs not to know how to get theparameter. So it can support the context-awarenesswithout modifying its program.

6. Conclusion and Future work

This paper has described an architecture ofontology-based context-aware application in pervasivecomputing. The architecture is innovative in followingaspects. First, it supports existing applications tosupport context-awareness without modifying itsprogram which conforms to the principle of softwareengineering, "Separation of Concerns". Second, the useof ontologies to represent context provide a uniform

Page 5: [IEEE 2007 2nd International Conference on Pervasive Computing and Applications - Birmingham, UK (2007.07.26-2007.07.27)] 2007 2nd International Conference on Pervasive Computing and

semantic meaning among applications and the two-levelontology facilitates the reuse of context ontology. Thelast example scenario suggests that the architecture isreasonable and applicable.

There are many problems to research more in thefuture. The first is the better way to describe the contextinformation with ontology because of the rapid changein pervasive environment. The second is the research onrapid ontology mapping which will make people movefrom place to place to get their tasks done withoutconsidering the semantic heterogeneity of differentplaces.

References

[1] W. Mark, "The computer for the 21st century",Scientific American, 1991, 265(3),94- 104.

[2] M. Dertouzos, "The future of computing",Scientific American, 1999, 282(3),52-63.

[3] A. K. Dey, "Understanding and Using Context",Personal and Ubiquitous Computing Journal, 2001,5(1),4-7.

[4] A. K. Dey, G. D. Abowd and D. Salber, "Aconceptual framework and a toolkit for supportingthe rapid prototyping of context-aware applications",Human-Computer Interaction, 2001, 16(2-4),97- 166.

[5] K. Jeong, D. Choi, S. H. Kim and G. Lee, "Amiddleware architecture determining application

context using shared ontology", InternationalConference on Computational Science and ItsApplications, Glasgow, United Kingdom, 2006, pp.128-137.

[6] H. Chen, T. Finin and A. Joshi, "An ontology forcontext-aware pervasive computing environments",Knowledge Engineering Review, 2003, 18(3),197-207.

[7] A. Ranganathan, R. E. McGrath, R. H. Campbelland M. D. Mickunas, "Use of ontologies in apervasive computing environment", KnowledgeEngineering Review, 2003, 18(3),209-220.

[8] M. L. Sbodio and W. Thronicke, "Ontology-basedcontext management components for service orientedarchitectures on wearable devices", 2005 3rd IEEEInternational Conference on Industrial Informatics,Perth, Australia, 2005, pp. 129-133.

[9] S. P. Li, Q. W. Yin, Y. J. Hu, M. Guo and X. J. Fu,"Overview of researches on ontology", JisuanjiYanjiu yu Fazhan/Computer Research andDevelopment, 2004, 41(7),1041-1052.

[10] W. Zhang and J. Song, "Study on domain ontologyrepresentation, reasoning and integration for thesemantic Web", Jisuanji Yanjiu yu Fazhan/ComputerResearch and Development, 2006, 43(1),101-108.

[11] V. J. Lopez, V. A. Villagra and J. Berrocal,"Applying the web ontology language tomanagement information definitions", IEEECommunications Magazine, 2004, 42(7),68-74.

[12] http://www.w3.org/2004/owl/.