representing and reasoning about uncertain contexts in pervasive and ubiquitous computing...

Upload: richygill

Post on 03-Apr-2018

219 views

Category:

Documents


0 download

TRANSCRIPT

  • 7/28/2019 Representing and reasoning about uncertain contexts in Pervasive and Ubiquitous Computing Environments

    1/13

    Representing and reasoning about uncertain contexts in Pervasive

    Abstract-The ability of context aware systems in pervasive and

    ubiquitous environments depend mainly on the amount of

    accuracy of information from physical sensors to reason over and

    decide on some kind of adaptive action to take by the system.

    Some of the difficulties a context aware system faces are the

    amount of sensor data available to determine context, the noise

    within the data, and the necessity of capturing the imprecise

    nature of sensing using physical sensors. Probabilistic andontological techniques have the ability to represent uncertain

    sensor data and to process uncertainty. These characteristics make

    these techniques suitable for automatic generation of context that

    simulate human decision making. This paper summarises four

    such techniques and details different approaches taken to

    represent and reason about uncertainty using these techniques.

    I INTRODUCTION1

    Ubiquitous and pervasive computing environments arepeppered with devices that sense implicit or explicit

    changes of individual attributes that make up the wholeenvironment. One of the principle goals of pervasive andubiquitous computing environments is to aide a user incarrying out tasks [1], or maintain a system or systemstates within predetermined specifications. In effect, theenvironment must take adaptive action/s to achieve thisgoal, such actions may take the form of adjusting systemstate variables to maintain equilibrium of the system, orrecognising users needs and take action to meet thoseneeds.Prior to a system taking adaptive action, two basic stepsare required; 1) acquisition of environmental sensed datafrom multiple sources, 2) deciding what adaptive action isrequired, given the data provided.Both steps are reliant on the accuracy of data provided by

    physical sensors. Physical sensors in real world situationscannot completely capture sensed data with completecertainty; variables which affect a real world environmentare to many, to diverse and to complex for a single sensorto capture a single environmental variable, with complete

    certainty that all other variables have been taken intoaccount. Put simply, sensor data readings in real worldenvironments are inherently imprecise.Even more importantly, for an adaptive action to have anyreal merit, the system should know under whatcircumstances the sensor readings were taken. An identicaldataset of physical sensor readings under one set ofcircumstances may require a particular course of adaptiveactions to take place, however under differentcircumstances the same dataset may have a differentmeaning, and therefore require different adaptive actions.The circumstances under which sensor readings were takenis called context, identifying and being aware of thecontext of a dataset allows for correct adaptive action to betaken, not just on a single data set but on any dataset

    presented in the same format and compatible with how thesystem accepts data. A system that can determine contextis said to be context aware. In this manner, a contextaware system has the flexibility to derive context fromsensor readings in different ubiquitous and pervasiveenvironments using physical sensors in real worldsituations.Knowing the context in which sensor readings werederived, provides a degree of certainty or uncertainty withregard to how accurate or precise the data readings are,given the context in which they were derived.The same principle of context awareness is applied to thesecond basic step of making a decision prior to takingadaptive action. Some form of reasoning process whichtakes in sensor readings as an input and outputs a decisionon what adaptive action to take also requires the ability ofdetermining how certain (or uncertain) the context of thedata is.Human beings derive context through perception of theworld, human perception is based on expert knowledge

    based on experience and human reasoning. Applying suchperception ability to machine intelligence is the missinggap which context aware systems are trying to fill.In short, a context aware system firstly determines sensorcontext by representing data in different ways, andsecondly determines how precise the context and therefore

    R. Gill

    and Ubiquitous Computing Environments

  • 7/28/2019 Representing and reasoning about uncertain contexts in Pervasive and Ubiquitous Computing Environments

    2/13

    the sensor reading itself, actually is, through reasoningabout the context itself, prior to making a decision.A number of different methods to represent contextualrelationships between data and to determine degrees ofcontext uncertainty have been put foreword. Figure 1represents the general taxonomy of proposed methodscurrently used to represent and reason about uncertainty in

    pervasive computing environments.

    Figure 1. Taxonomy of Schemes to determine context uncertainty

    The rest of this paper uses the taxonomy as a basis ofreference from which to discuss the following: Section 2)Summary of Techniques, Section 3) Context Definition,Section 4), Context Uncertainty, Section 5) Approaches 6)Evaluation of Approaches, and Section 7) Analysis ofcurrent state of the art.

    II SUMMARY OF TECNIQUES2

    A. Fuzzy Logic

    Human experts rely on common sense when faced withproblem solving, which involve uncertainty. Reasoningabout uncertainty in similar to reasoning about vaguenessand ambiguous data, a decision is required based on how todeal with vagueness and ambiguity. Transferring this to

    pervasive computing environment, the question posed ishow to represent expert knowledge that uses ambiguousand vague terms in a machine. Fuzzy logic is not logic that

    is fuzzy, but logic that describe fuzziness. Fuzzy logic isthe theory of fuzzy sets that calibrate vagueness, based onthe idea that all things admit to a certain degree on asliding scale, such as temperature, height, speed, distance,

    beauty. A car engine can be said to be running really hotora person is very tall. Boolean logic uses sharp distinctions

    between class members and non-members. For example,Tom is tall because his height is 181cm. If the classmembership for tall is fixed at 180cm, then David, who179cm is small. Is David really a small man or have wedrawn an arbitrary distinction between talland small?Fuzzy logic attempts to reflect how humans think, bymodeling our sense of words, decision making andcommon sense, theoretically leading to more human like

    intelligent systems.Possibility theorey as extended by using multi-valued logictrue (1) and false (0) classical logic operators to include arange of truth values at all real umbers in the interval 0-1.The number within this range represented the possibilitythat a given statement was true of false. A continuumimplies degrees, and if a continuum is discrete, a number

    can be allocated to each element, vagueness then, is amatter or probability. The classic example is an imaginaryline of chairs. At one end is a Chippendale chair and theend is a wooden log. Starting from the Chippendale chair,each successive chair is less chair like, until it ends as awooden log. The question posed is at what point does thechair become a log?Zadeh[2] extended possibility theory into a formal system

    of mathematical logic called fuzzy logic and fuzzy sets,and introduced the concept of applying natural languageterms. This new logic for representing and manipulatingfuzzy terms is called fuzzy logic.Fuzzy logic is a set of mathematical principles forknowledge representation based on degrees ofmembership. Unlike binary valued Boolean logic, fuzzylogic is multi-valued, and deals with degrees ofmembership and degrees of truth. Fuzzy logic uses thecontinuum of logical values between 0 (completely false)and 1(completely true). Instead of a value being just blackor just white, it employs the whole spectrum of colors,accepting that things within the 0 or 1 (values) can be

    partially true and partially false at the same time.

    The concept of sets is fundamental to mathematics; thehuman language is also a great expression of sets. Forexample, carrepresents the set of cars, and when we say acar, we mean one particular car of the set of cars. A fuzzyset is a set with fuzzy boundaries. If we let the fuzzy set

    be the range of all elements applicable to achosen variable such as a mans height, where the universeof discourse of mens heights consists of all tall men. Andlet represent the membership value of the fuzzyset, the fuzzy set of tall men maps height values intocorresponding y membership values.For example, let be the universe of discourse and itselements denote as . In classic set theory, the crisp set

    of is defined as function called the

    characteristic function of .

    where is 1 if is in the set , and 0 if is not inthe set . This set maps universe to a set of twoelements. For any element of universe , characteristicfunction is equal to 1, and equal to 0 if is not anelement of .

    In fuzzy theory, fuzzy set of universe is defined by

    function called membership function of set .

    where

    if is totally in C;

    if is not in ;

    if is partially in ;

  • 7/28/2019 Representing and reasoning about uncertain contexts in Pervasive and Ubiquitous Computing Environments

    3/13

    This set allows a continuum of possible choices because

    for any element of universe , membership function

    equals the degree to which is an element of the

    set . This degree, is a value between 0 and 1,

    representing the degree of membership, also called

    membership value, of element in set .Another

    example of fuzzy logic membership function. Let

    be a universe of discourse, then

    ( of )

    denotes a fuzzy set of ordered pairs

    where .

    is the membership function of .

    is the degree of membership of in .

    To represent fuzzy sets in machine language, firstly,

    membership functions are determined. In the tall men

    example fuzzy sets of tall, short and average can beobtained, all of which fall in the universe of discourse

    mens heights. The fuzzy sets obtained in this example areshown in Figure 2, here a man who is 184cm tall is amember of the average men set with a degree of

    membership of 0.1, and at the same time, a member of thetall men set with degree of 0.4. In the example linear fit

    function is used to represent a fuzzy set, however sigmoid,gausian and pi can also be used.

    Figure 2 Fuzzy sets for tall men

    A graphic translation the above example to representcertainty (or truth) is shown in Figure 3, which representstruthfulness (certainty) of events as fuzzy sets over the

    domain [0,1].

    Figure 3 Conceptualising certainty in Fuzzy terms.

    At the root of fuzzy set theory is the idea that fuzzyvariables are linguistic variables. For example the

    statement john is tall implies that the linguistic variablejohn takes the linguistic value tall. Fuzzy expert systemsuse linguistic variables when developing fuzzy rules for

    example,

    IF wind is strongTHEN sailing is good

    IF coursework_completion is highTHEN course_failure_risk is low

    Linguistic variables use fuzzy set qualifiers called hedges,that modify the shape of fuzzy sets. Hedges includeadverbs such as very, quite, more or less, and slightly.

    Fuzzy sets, then, have well defined properties, and thereare operations that can be performed on fuzzy sets. These

    properties and operations are the basis on which fuzzy setsare used to deal with uncertainty and to represent

    knowledge.

    B Hidden Markov Models (HMM)

    Hidden Markov Models can be used to simulatecharacterize real world signals from sensors in the form ofsignal models. These HMMs provide a basis from which tofirstly, describe the signal processing signal and somanipulate it to provide the desired output. Secondly,HHMs can potentially provide information about thesensor producing the signal (source), without the need tohave the actual source available. Here statistical models aredescribed. The underlying concept of statistical HMM isthat a signal can be characterized as a parametric random

    process, and the parameters of the stochastic process canbe estimated in a precise and well defined manner. TheHidden Markov Model is one type stochastic signal model,in which the states are not directly observable but areassociated with observable states.HMM have three basic design problems to overcome, theseare evaluating probability of a sequence for a HMM,determining best sequence of HMM states, and adjusting

  • 7/28/2019 Representing and reasoning about uncertain contexts in Pervasive and Ubiquitous Computing Environments

    4/13

    model parameters to give optimsed representation of thesignal. HMM have been used extensively in speechrecognition processing, however the robustness andfamiliarity of use of HMM methods makes it a flexibleuseful method to use for signal modeling.

    (i) Observable Model

    In an observable Markov Model such as that shown inFigure 4, the system has N distinct states S1,S2 Sn. Notestate transitions can also go back to original states.

    Figure 4 A discrete Markov Chain with some observable statetransitions and 5 states.

    At discrete time intervals the systems undergoes a changeof state, depending on the probabilities associated witheach state. The stochastic process in Figure 4 is anobservable Markov Model because the output of the

    process is the set of states at each instant of time. Whereeach state corresponds to a physical event (such as a sensorreading). By allocating probabilities to system statechange, state change sequences can be predicted.

    For example, using a N=3 state Markov Model forweather, the observable system states are:

    State 1: RainState 2: CloudyState 3: Sunny

    If we propose that the weather on day 1 (where 1= t fortime) is state 3 (Sunny), we can ask, will the weather for bethe system state sequence O (weather) for the next 7days

    be sunny-sunny-rain-rain-sunny-cloudy-sunny? Moreformally, we define the observation sequence O as O={S3,S3, S3, S1, S1, S2, S3, S3} where t=1,2..8, we wish todetermine probability O given a model where N=3.If we know that the weather on day 1 is Sunny (t=1,state=3) we can form a matrix (A) of the state transition

    probabilities.

    The probability can be expressed and evaluated as followswhere denotes the initial state probability.

    (ii) Hidden Model

    The model in (i) corresponded to an observable event foreach state. Here a sequence of observations is provided(for example data from a sensor), and from this sequence a

    model is constructed to represent how the sequence ofobservations were produced.

    For example.If given a sequence of observations from tossing a coinwhere we have not seen how the coin tossing was done

    (i.e. using same coin or multiple coins), we are only giventhe data heads (H) or tails (T). The question is how to builda HMM to explain the observed sequence of H and T.

    Given

    C. Bayesian Networks [3]

    Formally, a Bayesian network can be defined as follows:

    A Bayesian network (BN) is a pair (G,P), where G=(V,E)is a directed acyclic graph (DAG) over a finite set of nodes

    (or vertices), V, interconnected by directed links (oredges), E, and P is a set of (conditional) probabilitydistributions. The network has the following property:

    Each node representing a variable A with parentnodes representing variables B1, B2,..., Bn (i.e.,

    Bi, A for each i=1,...,n) is assigned a conditional

    probability table (CPT) representing P(A | B1, B2,

    ..., Bn).

    The nodes represent random variables, and the links

    represent probabilistic dependences between variables.These dependences are quantified through a set of

    conditional probability tables (CPTs): Each variable is

  • 7/28/2019 Representing and reasoning about uncertain contexts in Pervasive and Ubiquitous Computing Environments

    5/13

    assigned a CPT of the variable given its parents. Forvariables without parents, this is an unconditional (also

    called a marginal) distribution.

    An important concept for Bayesian networks is conditionalindependence. Two sets of variables, A and B, are said to

    be (conditionally) independent given a third set C ofvariables if when the values of the variables C are known,

    knowledge about the values of the variables B provides nofurther information about the values of the variables A:

    Conditional independence can be directly read from thegraph as follows: Let A, B, and C be disjoint sets of

    variables, then

    identify the smallest sub-graph that contains A

    B Cand their ancestors; add undirected edges between nodes having a

    common child; drop directions on all directed edges.

    Now, if every path from a variable in A to a variable in B

    contains a variable in C, then A is conditionallyindependent ofB given C

    Example.

    To illustrate this concept, let us consider the followingfictitious piece of fictitious medical knowledge:

    "Shortness-of-breath (dyspnoea) [d] may be due totuberculosis [t], lung cancer [l] or bronchitis [b], or none of

    them, or more than one of them. A recent visit to Asia [a]increases the risk of tuberculosis, while smoking [s] is

    known to be a risk factor for both lung cancer andbronchitis. The result of a single chest X-ray [x] does notdiscriminate between lung cancer and tuberculosis, neither

    does the presence or absence of dyspnoea.The last fact isrepresented in the graph by the intermediate variable e.This variable is a logical-or of its two parents (t and l); it

    summarizes the presence of one or both diseases or theabsence of both. Figure 5 shows a model for the

    knowledge.

    Figure 5: Graph representing structural aspects of medicalknowledge concerning lung diseases.

    If we learn that a patient is a smoker, we will adjust our

    beliefs (increased risks) regarding lung cancer andbronchitis. However, our beliefs regarding tuberculosis areunchanged (i.e., t is conditionally independent of s given

    the empty set of variables). Now, suppose we get a positiveX-ray result for the patient. This will affect our beliefsregarding tuberculosis and lung cancer, but not our beliefs

    regarding bronchitis (i.e., b is conditionally independent ofx given s). However, had we also known that the patient

    suffers from shortness-of-breath, the X-ray result wouldalso have affected our beliefs regarding bronchitis (i.e., b isnotconditionally independent ofx given s and d).

    Inference in a Bayesian network means computing theconditional probability for some variables given

    information (evidence) on other variables. This is easywhen all available evidence is on variables that areancestors of the variable(s) of interest. But when evidence

    is available on a descendant of the variable(s) of interest,we have to perform inference opposite the direction of the

    edges. To this end, we employ Bayes' Theorem:

    C. DEMPSTER SHAFER

    D. ONTOLOGIES

    An ontology is a graphic representation of that whichdefines relationships and attributes associated with people

    places and activities in an intelligent space.

  • 7/28/2019 Representing and reasoning about uncertain contexts in Pervasive and Ubiquitous Computing Environments

    6/13

    An ontology defines the terms used to describe andrepresent an area of knowledge. Ontologies are used by

    people, databases, and applications that need to sharedomain information (a domain is just a specific subjectarea or area of knowledge, like medicine, tool

    manufacturing, real estate, automobile repair, financialmanagement, etc.). Ontologies include computer-usabledefinitions of basic concepts in the domain and the

    relationships among them (note that here and throughoutthis document, definition is not used in the technical sense

    understood by logicians). They encode knowledge in adomain and also knowledge that spans domains. In thisway, they make that knowledge reusable.

    The word ontology has been used to describe artifacts withdifferent degrees of structure. These range from simple

    taxonomies (such as the Yahoo hierarchy), to metadataschemes (such as the Dublin Core), to logical theories. TheSemantic Web needs ontologies with a significant degree

    of structure. These need to specify descriptions for thefollowing kinds of concepts:

    Classes (general things) in the many domains ofinterest

    The relationships that can exist among things

    The properties (or attributes) those things mayhave

    Ontologies are usually expressed in a logic-basedlanguage, so that detailed, accurate, consistent, sound, andmeaningful distinctions can be made among the classes,

    properties, and relations. Some ontology tools can performautomated reasoning using the ontologies, and thus provide

    advanced services to intelligent applications such as:

    conceptual/semantic search and retrieval, software agents,decision support, speech and natural language

    understanding, knowledge management, intelligentdatabases, and electronic commerce. Ontologies figure

    prominently in the emerging Semantic Web as a way ofrepresenting the semantics of documents and enabling thesemantics to be used by web applications and intelligent

    agents. Ontologies can prove very useful for a communityas a way of structuring and defining the meaning of themetadata terms that are currently being collected and

    standardized. Using ontologies, tomorrow's applicationscan be "intelligent," in the sense that they can more

    accurately work at the human conceptual level. Ontologies

    are critical for applications that want to search across ormerge information from diverse communities. Although

    XML DTDs and XML Schemas are sufficient forexchanging data between parties who have agreed todefinitions beforehand, their lack of semantics prevent

    machines from reliably performing this task given newXML vocabularies. The same term may be used with

    (sometimes subtle) different meaning in different contexts,and different terms may be used for items that have the

    same meaning. RDF and RDF Schema begin to approachthis problem by allowing simple semantics to be associatedwith identifiers. With RDF Schema, one can define classes

    that may have multiple subclasses and super classes, andcan define properties, which may have sub properties,domains, and ranges. In this sense, RDF Schema is a

    simple ontology language. However, in order to achieveinteroperation between numerous, autonomously

    developed and managed schemas, richer semantics areneeded. For example, RDF Schema cannot specify that thePerson and Car classes are disjoint, or that a string quartet

    has exactly four musicians as members.

    III CONTEXT DEFINITION3

    There is no de facto definition of what is context; it wouldbe similar to defining what circumstance is. As withcircumstance, context is different for each situation. Indescribing context, the literature describes what type of

    context, i.e. what aspects the system should characterizeand be aware of, rather than providing a single definitionof what context is. The nature of pervasive computingusing sensors makes defining circumstance almostimpossible, as theoretically context should include anysituation including all changeable attributes and sensorstates. Having said that, the literature does provide generaldefinitions which are more system specific, rather thanglobal. Some descriptions and the systems to which theyrefer to are given below.Chen and Finn[4] propose an ontology framework for anagent based pervasive computing environment.Accordingly, the definition for the system context includesagents. context can be defined as information that

    characterizes the identity and attributes of people, devicesand agents in space. Another proposed ontologyRanganathan et al[5] specifies the context attribute in the

    predicate syntax (

  • 7/28/2019 Representing and reasoning about uncertain contexts in Pervasive and Ubiquitous Computing Environments

    7/13

    sensors may provide context facts such as lighting, numberof people, prices etc, but information describing if thediners are enjoying their food in a congenial atmosphere,or the meeting is going badly requires a greater degree,fine graininess and subtlety of context awareness.

    4

    Mckeever[8] describes context uncertainty in terms ofconfidence in context facts derived from source data.Uncertainty in source data is therefore inherited fromsource data to higher levels of context representation, and

    permeates any reasoning or decision making made usingraw source data. Expanding on ascribing contextuncertainty to sensor confidence, Waltenegus[7] describescontext uncertainty as a gap between the degree ofawareness a self managing system and a real world systemusing physical sensors can achieve. The gap ischaracterized by three elements, incompleteness, exactnessand ignorance. Incompleteness, due to limitations on what

    physical sensors can sense in real world environments.Inexactness, is deemed solvable by using multiple sensors

    to sense the same context attributes to determine greaterexactness, such as Kalman Filtering method [9]. Ignorancehas the highest priority as it includes ignorance due to lackof information to translate sensor information accurately.Ignorance of factors affecting sensor inexactness andfinally, ignorance in sensor timing and availability.Context uncertainty not only affects context provided bysensors, but also the quality of service a context awaresystem might provide, aswell as adaptive actions taken onthe state of an intelligent space.

    V APPROACHES DEALING WITH

    REPRESENTATION AND REASONING5

    In this section a selection of approaches taken by theliterature are described, which employ techniques outlinedin part II.

    A. APPROACH 1

    Very much an ontology based approach, Chen and Finn[4]propose a context broker ontology that acquires contextfrom devices and shares context between devices andservices. The key to representation and reasoning is

    building a common set of ontologys for ontologyknowledge and contextual knowledge, of the contextdomain and devices, respectively. The context brokerarchitecture is centralized to reduce the effect of device

    poor resources and allowing common security andauthentication policy between devices and agents. Eachaspect of context such as location, device, time and useridentity have their own ontologys.

    Built using OWL/RDF the underlying knowledge ontologyis static, while context ontology is dynamic. Acquiring thedynamic context is achieved using predefined middlewaremodules.

    Figure 6. The context broker takes context form sensors such asdevices and agents, fuses this information with environmental

    context and provides feedback to the devices.

    The context broker itself relies on five internal sources ofinformation and knowledge to function. These are asfollows:1) A knowledge base defining the situation domain andassociated heuristic domain knowledge, such as (in thecase of a meeting room domain) the office hours of acompany and no one person can be present in two separaterooms at the same time.2) A reasoning engine for reasoning over static knowledgeontology and dynamic context ontology .

    3) An inference engine that checks and resolves ontologyinconsistency, and compares historical behaviour patternpatterns.4) A collection of pre-defined programming modules toacquire situational context information from sensors. Thiscollection is collectively the context acquisition module.5) A behaviour component which oversees communication

    protocols between correct communication policy isenforced between user and agents. Here a privacy policy

    between two communicating parties is established, fromwhich access to information rights are determined.

    The Context Broker Architecture CoBrA ontologycomprises of 17 classes and 32 property definitions,

    representing relationships and attributes associated withpeople places and activities in an intelligent space. The keyclasses represent Person, Place and Intention. Eachclass is defined as a subclass of a set of anonymous classesto allow the class itself to be general. Using the standard

    property syntax of isXyz and hasXyz to define

    IV CONTEXT UNCERTAINTY

  • 7/28/2019 Representing and reasoning about uncertain contexts in Pervasive and Ubiquitous Computing Environments

    8/13

    relationships between classes, and place restrictions onwhich subclass a class relates to, allows the class to be ageneral class for the whole ontology.

    (I) Use Case Scenarios

    (a) Is anybody there?

    Sensing the presence of a person in a particular place is acommon query, form which to take adaptive action on, incontext aware systems. The system must first determinethe identity of the person (sensors such as RFID swipecard), and then reason over the context of the presence of a

    person.

    The CoBrA ontology identifies and reasons over such aquery as follows:

    The following snippet of how a person being present isrepresented and presented to the CoBrA ontology.

    Here sensors have sensed a person called hchen4 hasbeen sensed to be present in a room called ECS2101because a RFID card with the identity of hchen4 has beenused in the swipe entrance to the room ECS2101. Fromthis information the CoBra ontology can now reason todetermine the context in which hchen is present in roomECS2101.

    Example 1. How CoBrA might reason if a person called

    hchen4 is in the ECS building.

    A1:Person(hchen4) has the propertyisCurrentlyIn(ECS2101).

    A2:For any person with property isCurrentlyIn() withrestriction to the Place class of property isPartofBuilding(),then the person must be of type PersonInBuilding, ie that

    person is in the building.

    A3. A3

  • 7/28/2019 Representing and reasoning about uncertain contexts in Pervasive and Ubiquitous Computing Environments

    9/13

    presentation. On the date and time of the presentation theagent communicates with the CoBrA ontology that hchen4has is about to start a presentation. Before the agent can

    provide any personalised services to aide hchen4, itrequires contextual knowledge about the situation. Theagent might query CoBrA with the following:

    When reasoning over the context of a person/user anelement of uncertainty is introduced because knowledgeabout the person might not be completely accurate. Thefollowing is how the CoBrA ontology might reason ifhchen4 is presenting at a meeting called me239.

    C1:Person(hchen4) is the same person asMeetingParticipant(hchen4)

    C2:MeetingParticipant(

    hchen4

    ) is associated withMeeting m239.

    C3:Person(hchen42) has the intention toGiveSlideShowPresentation. (provided by hchen4 agent)

    C4: If person is of type MeetingParticipant and person hasowl:one of the PresentingIntention, then person is likely to

    be a presenting.

    C:5 C5

  • 7/28/2019 Representing and reasoning about uncertain contexts in Pervasive and Ubiquitous Computing Environments

    10/13

    components tasks are updated (Belief Revision). Systembelief is derived from the Reasoning component andupdated by the Belief component. The constant update in

    belief reflects changes in sensor observation and thereforein the system. Constant updating also serves to detectcontradictory information, detection of which is only

    possible when more recent (newer) information isavailable.

    An example of implementing the conceptual architectureof figure 7 is shown in figure 8. The implementation tookthe following form.The system objective is to reason over the location of amobile person. Sensors record the following primativecontexts, light intensity, time, relative humidity, andtemperature, and represented as conceptual states definedas fuzzy sets as shown in Table 1.

    Table 1 Fuzzy sets of primitive contexts.

    Figure 8 Implementation

    In figure 8 the function of the aggregators was to combine

    data from sensors to improve sensor readings, andrepresent primitive context of the intelligent space.

    Reasoning about the actual location was done using BNusing prior probability distribution of all potential location

    from all context primitives, as graphically described inFigure 9. The subcomponents KB (Knowledge Base) andEAK (Empiracal Ambient Knowledge), make up the belief

    component. Factual knowledge such as relationshipsbetween context spaces was managed by the KB, whileconditional relationships were managed by the EAK. The

    function of the PCS (Primitive Context Server)components were that of translator of primitive contexts to

    the aggregator component. The Composer componentcontained the BN reasoning function.

    Figure 9 Bayesian networks for computing prior probability ofcontext primitives.

    Operational sequence of the implemented architecture is asfollows:

    PCS intermittently query sensors for primitivecontexts.

    PCS report context abstraction to aggregators Aggregators either fuse PCS reports or simply

    gather PCS information and push these to theComposer.

    Based on aggregator reports, the Composerdetermines BN configuration by querying KB andEAK.

    Composer determines posterior probabilitydistribution to determine most likely locationsensor context primitives are referring to.

    The proposed system implementation was able todifferentiate between a mobile person being in a room or acorridor or inside a building.

    C. APPROACH 3

    Using Middleware support to automate the process, TaoGu[10] extends a typical OWL Predicate(subject,value)

  • 7/28/2019 Representing and reasoning about uncertain contexts in Pervasive and Ubiquitous Computing Environments

    11/13

    RDF triple, by adding probabilistic informationrepresented as Prob(Predicate, (subject, value) usingBayesian theory. Here the triple becomes a quadruple, inwhich the triple is assigned a probability (an integer value

    between 0-1). As OWL does not cater for probabilisticinformation, the extended probability triples are encodedinto the OWL context ontology as two classes calledPrioProb and CondProb, with property-instance relations

    of hasVariable, hasProbValue for PrioProb class andhasVariable, hasProbValue and hasCond for CondProbclass.For example, if we assume A,B,C represent context

    predicates as RDF triples (Figure 10(a)) then the priorprobability P(A) can be defined by an instance of classPriorProb. The conditional probability P(A|B,C) can bedefined as an instance of class CondProb(Figure 10 (b)).

    Figure 10(a)-(b)

    Constructing the BN, required translating representation ofcontext and dependencies from of RDF graph to BN graph.

    As both BN and RDF are both a form of Direct AcyclicGraph (DAG) translation was relatively straightforward. Inthe RDF graph an additional property element called

    rdf:dependsOn captured dependency relationships betweenassociated data types and objects as shown in Figure 1(a).

    Structural translation from RDF to BN was achieved bymapping each OWL context predicate as a BN node. Acausal relationship arc (arrow) drawn between BN nodes if

    and only if dependency relationship between two context

    predicates existed, as shown in Figure 1(b), therebycreating one DAG from another.

    Figure 11(a) RDF Graph with dependsOn property

    Figure 11(b) BN DAG . Toms activity depends on his location,

    living room context, parents context etc.

    Implementing the concept of representing RDF contexttriples as probabilistic BN nodes was done using a

    middleware support for using BNs. The Service-OrientatedContext-Aware Middleware (SOCAM) architecture(shown in Figure 12) is designed to build and rapid

    prototype context aware services.

  • 7/28/2019 Representing and reasoning about uncertain contexts in Pervasive and Ubiquitous Computing Environments

    12/13

    Figure 12. SOCAM architecture overview

    SOCAM consists of the following components:

    Context Providers: For abstracting context from

    external or internal heterogeneous sources, andconvert to OWL expressions for sharing and reuse

    by other entities. Context Interpreter: Consisting of a context

    reasoning engine and context database (KB), it

    provides logic reasoning services such asinferring indirect context from direct context.

    Context Database: Stores context ontologys and

    past contexts for a sub-domain, each domaincontain a single logic context database.

    Context Aware Services: Adapts different levelsof context to current context.

    Service Locating Service: A platform for context

    providers and context interpreters to have apresence, and allow users or applications to locate

    and have access to them.

    SOCAM reasons about uncertain contexts in the following

    sequence:

    Context ontology is created and stored in the

    context database. The ontology RDF structure is translated to a BN

    DAG structure. Probability distributions are derived using current

    node contexts to train the BN, here previous

    contexts are logged and stored in database andconditional Probability tables are computed foreach node.

    A post training BN infers probabilities of contextconditions and other events.

    Using Bayesian Network Java (BNJ) toolkit as thereasoning mechanism, propagates the influence ofassigned probability values of a set of nodes

    throughout the BN node structure.

    (Using the sequence above, a training data set can beused to determine conditional probabilities of nodes

    with predecessors (non root) and with no predecessors(root).)

    Knowing node conditional probabilities,probability distribution of context are event in theBN can be determined and represented as

    probability annotated OWL expressions. Owl expressions are stored in context knowledge

    base.

    The service developer must specify actions that are

    triggered by a set of pre-defined rules (conditions) in orderto apply the above sequence to uncertain contexts.

    For Example..

    To infer a persons current activity in a smart homeenvironment. Here we assume a context ontology is storedin the context database. Example of dependency

    relationships as user specified rules are:

    DeduceActivity(User,X):Location(User,Y):LightingLevel(

    Y,?x):NoiseLevel(Y,?x):NumberOfPerson(Y,?x):Profile(User,?x):Location(OtherMember,?x).

    After creating BN, assigning context probabilitydistribution to BN and training, and reasoning, results from

    context interpreter is shown below.

    (Tom located in living

    room)

    0.9

  • 7/28/2019 Representing and reasoning about uncertain contexts in Pervasive and Ubiquitous Computing Environments

    13/13

    REFERENCES

    [1] Weiser, M, The Computer for the 21st Century-Scientific American Special Issue on Communications ,Computers, and Networks, September, 1991

    [2] Zadeh, L, A,. Fuzzy Sets. Information and Control,March 2007, Page(s):27 32

    [3] Extract taken from HuginLiteTM Tutorial 2009.

    [4] Chen, H., Finin, T., An ontology for context-awarepervasive computing environments, Journal of KnowledgeEngineering Review, Volume. 18, No. 3. September, 2003,Page(s): 197-207.

    [5] Ranganathan, A., Al-Muthadi, J., Cambell, R.,Reasoning about Uncertain Contexts in PervasiveComputing Environments, IEEE Pervasive Computing,Volume 3, Issue 2, 2004, Pages: 62 70

    [6] Padovitz, A., Seng, W., Loke, A., Bartolini, A., Burg,B. An approach to Data Fusion for Context Awareness.

    MONET, International Conference, October, 2002.

    [7] Waltenegus, D, D,. The Role of ProbabilisticSchemes in Multisensor Context-Awareness. PervasiveComputing and Communications Workshop, IEEEInternational Conference, March 2007, Page(s):27 32

    [8] McKeever, S., Juan, Y., Lorcan, C., A MultilayeredUncertainty Model for Context Aware System, PervasiveComputing International Conference, 2008.

    [9] Al-Dhaher, A.H.G.; Mackesy, D.; Haptic Audio andVisual Environments and their Applications, HAVE,Proceedings of 3rd International Workshop, 2004Page(s):159 - 163

    [10] Gu, T. A Bayesian Approach For Dealing withUncertain Contexts, Austrian Computer Society, 2004.

    http://www.ubiq.com/hypertext/weiser/SciAmDraft3.htmlhttp://en.wikipedia.org/wiki/Communications,_Computers,_and_Networks_(Scientific_American%29http://en.wikipedia.org/wiki/Communications,_Computers,_and_Networks_(Scientific_American%29http://en.wikipedia.org/wiki/Communications,_Computers,_and_Networks_(Scientific_American%29http://www.citeulike.org/user/flashfonic/author/Chenhttp://www.citeulike.org/user/flashfonic/author/Fininhttp://www.ubiq.com/hypertext/weiser/SciAmDraft3.htmlhttp://en.wikipedia.org/wiki/Communications,_Computers,_and_Networks_(Scientific_American%29http://en.wikipedia.org/wiki/Communications,_Computers,_and_Networks_(Scientific_American%29http://en.wikipedia.org/wiki/Communications,_Computers,_and_Networks_(Scientific_American%29http://www.citeulike.org/user/flashfonic/author/Chenhttp://www.citeulike.org/user/flashfonic/author/Finin