1 an infrastructure for context-awareness based on first order logic 2007.04.27 송지수 isi lab

Post on 18-Jan-2018

216 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

DESCRIPTION

3 Introduction Need a uniform representation for various contexts Allow complex operations on contexts This paper uses first order logic (FOL) Supports conjunction, disjunction, negation and quantification Enable automated inductive and deductive reasoning Evaluate queries on context Based on this first order model, developed an infrastructure Performs the various operations defined in the context model Allows an easy flow of contextual information In this paper, integrated this infrastructure into Gaia

TRANSCRIPT

1

An infrastructure for context-awareness based on first order logic

2007.04.27송지수

ISI LAB

2

Table of Contents

Introduction The context model Protocols for obtaining context The Context Infrastructure Specifying context-sensitive behavior for

applications Conclusion

3

Introduction

Need a uniform representation for various contexts Allow complex operations on contexts

This paper uses first order logic (FOL) Supports conjunction, disjunction, negation and quantification Enable automated inductive and deductive reasoning Evaluate queries on context

Based on this first order model, developed an infrastructure Performs the various operations defined in the context model Allows an easy flow of contextual information In this paper, integrated this infrastructure into Gaia

4

The context model (1/2)

The basic structure – the context predicate ( 명제 or 조건자 ) Name of predicate : type of context (e.g. location, temperature) Arguments are actually constrained by the type of context Structures of different context predicates are specified in an

ontology Defines various context types as well as arguments

For Example,

No restriction on the types of values Third argument in the location can be room or x,y, and z coordinates Can be functions that return some value

5

The context model (2/2)

Operations on contexts Can construct complex context expressions For Example,

Location (Lee, Entering, Room F314) ∧ Social Activity (Room F314, Meeting)NOT Location (Lee, In, Room F314) ∀People x Location (x, In, Room F314)∃Person s Location (s, Entering, currentRoom())

Quantification is performed only over a specific domain of values Person set consists of the names of all people in our system. Issues – Decidability and Safety This paper uses XSB reasoning engine for evaluating queries

The model allows deriving new contexts from other sensed contexts

6

Protocols for obtaining context

There are two possible methods by which applications can get context

The query-answer protocol Application sends a query to the Context Provider Form as queries (some fields are replaced by variables)

Location (X, In, room F314)

The subscribe-notify protocol Application subscribes for certain contexts and gets notify Simple callback from the Context Provider (event-based)

7

The Context Infrastructure (1/4)

Context Providers obtain context from sensors or data sources Context Synthesizers derive higher level or abstract contexts Context Provider Lookup Service allows applications to find

context provider Context History contains all past contexts Context Consumers (or Context-Aware Applications)

8

The Context Infrastructure (2/4)

Context Providers Collect various types of contexts Allow them to be accessed by applications Type of context can be represented using a context expression

E.g. Tracking Service (keep track), Weather service (keep sending)

Context Consumers Obtain contexts by querying a Context Provider or by listening for

events Get references to Context Providers using the Lookup Service

Context history Store all context events in a DB For learning rules in Context synthesizer

9

The Context Infrastructure (3/4)

Context Synthesizers Infers higher level contexts on simpler sensed contexts Gets source contexts, applies some sort of logic, and generates a

new type Two basic approaches

Rule-based synthesizers More than one rule can be true at the same time Return just a single value Occur Conflict Problem

The newly inferred context replaces the older one

10

The Context Infrastructure (4/4)

There are problems in the Rule-based synthesizers May not deduce the right context since the real world may not follow Require explicit definition by humans Not flexible and can’t adapt to changing circumstances Enhancing the context model by associating probabilities

Synthesizers that learn Making use of machine learning techniques to deduce high-level

context For example,

User Mood Context Provider uses the Na Bayes algorithm Make use of past contexts to train the learner The result of algorithm is probabilistic Consider the mood with the highest probability and assume that to be true

Of course, the predictions are not always perfect

11

Specifying context-sensitive behavior for applications (1/3)

GUI shows a list of possible behaviors of the application and user selects

Developer constructs complex first order expressions by mapping

There are some issues in this infrastructure Optimizing context expression evaluation

Whenever the context changes, the expressions must be evaluated If a large number of rules, O(n) time complexity is problem

Organize all the context expressions in a poset data structure A poset is a set for which a partial order (reflexive, transitive, anti-

symmetric) If cxtExp1 => cxtExp2, then The node corresponding to cxtExp1 is a child of the one to cxtExp2

12

Specifying context-sensitive behavior for applications (2/3)

If the context expression of a root node evaluates to false, the context expressions of all its decedents will also be false If true, traverse the poset in a top-down manner

13

Specifying context-sensitive behavior for applications (3/3)

Resolving conflicts Since multiple nodes in the poset can become true at the same time, there may be conflicts in the actions Handle these conflicts using a priority-based mechanism The Node with the higher priority wins If same, randomly choose

Using machine learning Observing the user’s reaction

If user reacted positively, the priority of the action could be increased

Changing the rules dynamically Mobile and pervasive environments Any changes are reflected in the poset structure immediately There are standard algorithms for adding or deleting nodes into a poset

Related work

14

Conclusion

Provides generic mechanism for representing contexts and writing rules

Allows automated reasoning and evaluating Easy to specify complex rules

Various reasoning can be used Not looked at the privacy and security concerns

Next study will be about one of them Concerning privacy and security Problem of contexts in autonomous distributed applications Standard algorithms for adding or deleting nodes

top related