An infrastructure for context-awareness based on first order logic Ubiquitous Software Lab Oh Min Kyoung 2006-06-02.

Slides:



Advertisements
Similar presentations
Bottom-up Evaluation of XPath Queries Stephanie H. Li Zhiping Zou.
Advertisements

Semantics Static semantics Dynamic semantics attribute grammars
Logic CPSC 386 Artificial Intelligence Ellen Walker Hiram College.
Inferences The Reasoning Power of Expert Systems.
Context-Awareness on Mobile Devices – the Hydrogen Approach Sangkeun Lee.
Discussion #33 Adjacency Matrices. Topics Adjacency matrix for a directed graph Reachability Algorithmic Complexity and Correctness –Big Oh –Proofs of.
CSE 425: Logic Programming I Logic and Programs Most programs use Boolean expressions over data Logic statements can express program semantics –I.e., axiomatic.
Copyright © 2011 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Chapter 5 More SQL: Complex Queries, Triggers, Views, and Schema Modification.
Andrew Courter Texas Tech University CS5331.  PKS Why PKS? STRIPS The Databases Inference Algorithm Extended Features  PKS Examples  Conclusion and.
Chapter 12: Expert Systems Design Examples
Panoptes: A Scalable Architecture for Video Sensor Networking Applications Wu-chi Feng, Brian Code, Ed Kaiser, Mike Shea, Wu-chang Feng (OGI: The Oregon.
NaLIX: A Generic Natural Language Search Environment for XML Data Presented by: Erik Mathisen 02/12/2008.
Advanced Topics COMP163: Database Management Systems University of the Pacific December 9, 2008.
Process Query Systems ENGS 112 Lecture 7. Process Query Systems (PQS) vs Data Base Systems (DBS) Data Base System Process Query System Data Sources Data.
Proof System HY-566. Proof layer Next layer of SW is logic and proof layers. – allow the user to state any logical principles, – computer can to infer.
Logical Agents Chapter 7. Why Do We Need Logic? Problem-solving agents were very inflexible: hard code every possible state. Search is almost always exponential.
Programming Language Semantics Mooly SagivEran Yahav Schrirber 317Open space html://
Logical Agents Chapter 7 Feb 26, Knowledge and Reasoning Knowledge of action outcome enables problem solving –a reflex agent can only find way from.
Semantics with Applications Mooly Sagiv Schrirber html:// Textbooks:Winskel The.
Lesson 6. Refinement of the Operator Model This page describes formally how we refine Figure 2.5 into a more detailed model so that we can connect it.
Describing Syntax and Semantics
Cmpt-225 Simulation. Application: Simulation Simulation  A technique for modeling the behavior of both natural and human-made systems  Goal Generate.
報告日期 :2012/03/07 指導教授 : 蔡亮宙 報 告 者 : 吳烱華 自製率 :100%.
Audumbar Chormale Advisor: Dr. Anupam Joshi M.S. Thesis Defense
An Intelligent Broker Architecture for Context-Aware Systems A PhD. Dissertation Proposal in Computer Science at the University of Maryland Baltimore County.
The Gaia System Spring 2004: Gaia Larry Rudolph Not Invented Here Lots of Pervasive Computing Projects Carnegie Mellon Univ. U. Washington Georgia.
DEDUCTIVE DATABASE.
Xpath Query Evaluation. Goal Evaluating an Xpath query against a given document – To find all matches We will also consider the use of types Complexity.
Database Systems: Design, Implementation, and Management Eighth Edition Chapter 10 Database Performance Tuning and Query Optimization.
Notes for Chapter 12 Logic Programming The AI War Basic Concepts of Logic Programming Prolog Review questions.
Chapter 3: Methods of Inference
Context Tailoring the DBMS –To support particular applications Beyond alphanumerical data Beyond retrieve + process –To support particular hardware New.
A Brief Summary for Exam 1 Subject Topics Propositional Logic (sections 1.1, 1.2) –Propositions Statement, Truth value, Proposition, Propositional symbol,
Software Engineering 2003 Jyrki Nummenmaa 1 CASE Tools CASE = Computer-Aided Software Engineering A set of tools to (optimally) assist in each.
CROSSMARC Web Pages Collection: Crawling and Spidering Components Vangelis Karkaletsis Institute of Informatics & Telecommunications NCSR “Demokritos”
Chapter 13 Query Processing Melissa Jamili CS 157B November 11, 2004.
PETRA – the Personal Embedded Translation and Reading Assistant Werner Winiwarter University of Vienna InSTIL/ICALL Symposium 2004 June 17-19, 2004.
A Study of Context-Awareness - CASS, Hydrogen Context Team Summarized and Presented by Seungseok Kang.
RELATIONAL FAULT TOLERANT INTERFACE TO HETEROGENEOUS DISTRIBUTED DATABASES Prof. Osama Abulnaja Afraa Khalifah
Towards Low Overhead Provenance Tracking in Near Real-Time Stream Filtering Nithya N. Vijayakumar, Beth Plale DDE Lab, Indiana University {nvijayak,
Introduction to RtReports – Tony Fenn & Chris Nelson Introduction to RtReports Chris Nelson - Senior Developer Tony Fenn - Product Manager.
CE Operating Systems Lecture 11 Windows – Object manager and process management.
1 Logical Agents CS 171/271 (Chapter 7) Some text and images in these slides were drawn from Russel & Norvig’s published material.
0 What logic is or should be Propositions Boolean operations The language of classical propositional logic Interpretation and truth Validity (tautologicity)
POLICY ENGINE Research: Design & Language IRT Lab, Columbia University.
Page 1 Alliver™ Page 2 Scenario Users Contents Properties Contexts Tags Users Context Listener Set of contents Service Reasoner GPS Navigator.
Cerberus: A Context-Aware Security Scheme for Smart Spaces presented by L.X.Hung u-Security Research Group The First IEEE International Conference.
CS Introduction to AI Tutorial 8 Resolution Tutorial 8 Resolution.
1 Logical Agents CS 171/271 (Chapter 7) Some text and images in these slides were drawn from Russel & Norvig’s published material.
Logical Agents Chapter 7. Outline Knowledge-based agents Logic in general Propositional (Boolean) logic Equivalence, validity, satisfiability.
Ch. 13 Ch. 131 jcmt CSE 3302 Programming Languages CSE3302 Programming Languages (notes?) Dr. Carter Tiernan.
Modeling Speech Acts and Joint Intentions in Modal Markov Logic Henry Kautz University of Washington.
A Study of Context-Awareness: Gaia & SOCAM Presented by Dongjoo Lee IDS Lab., Seoul National University Gaia: A Middleware Infrastructure to.
Architecture for Context-Aware Services in Gaia Anand Ranganathan.
1 Knowledge Based Systems (CM0377) Lecture 6 (last modified 20th February 2002)
Raluca Paiu1 Semantic Web Search By Raluca PAIU
In The Name Of Allah Lab 03 1Tahani Aldweesh. objectives Searching for the solution’s. Declaration. Query. Comments. Prolog Concepts. Unification. Disjunction.
1 An infrastructure for context-awareness based on first order logic 송지수 ISI LAB.
Logical Agents Chapter 7. Outline Knowledge-based agents Propositional (Boolean) logic Equivalence, validity, satisfiability Inference rules and theorem.
Semantic Web in Context Broker Architecture Presented by Harry Chen, Tim Finin, Anupan Joshi At PerCom ‘04 Summarized by Sungchan Park
Daniel Kroening and Ofer Strichman 1 Decision Procedures An Algorithmic Point of View Basic Concepts and Background.
Some Thoughts to Consider 5 Take a look at some of the sophisticated toys being offered in stores, in catalogs, or in Sunday newspaper ads. Which ones.
The Context Fabric: An Infrastructure for Context-Aware Computing Jason I. Hong Group for User Interface Research, Computer Science Division University.
Artificial Intelligence Logical Agents Chapter 7.
Mechanisms for Requirements Driven Component Selection and Design Automation 최경석.
Business Process Execution Language (BPEL) Pınar Tekin.
Logical Agents. Outline Knowledge-based agents Logic in general - models and entailment Propositional (Boolean) logic Equivalence, validity, satisfiability.
EA C461 – Artificial Intelligence Logical Agent
A Brief Summary for Exam 1
Probabilistic Databases
Presentation transcript:

An infrastructure for context-awareness based on first order logic Ubiquitous Software Lab Oh Min Kyoung

Contents Context Model Protocols for obtaining context Context infrastructure Specify application

Context Model The basic structure - Context Predicate Operations on contexts What is the context of a smart space?

Context Model – Context Predicate Context Predicate First-order predicate Name of predicate is the type of context → Simple & uniform context representation Context-Type(,, ) Location(chris, entering, room3231) Temperature(room3231, “=“, 98F) Sister(venus, serena) StockQuote(msft, “>”, $60) PrinterStatus(srgalw1 printer queue, is, empty) Time(New York, “<“, 12:00 01/01/01)

Context Model – Context Predicate Structure of predicate : using ontology DAML+OIL Argument values are constrained by context type → type checking Location  1 st argument : “person” or “object”  2 nd argument : “entering” or “leaving” or “in”  3 rd argument : “location” No restriction on the types of argument values → argument can be complex structure 3 rd argument of Location  String representing the room  Complex structure containing x,y,z coordinates of the person

Context Model - Operations Boolean operations → construct complex context expressions Conjunction Location(Manuel, Entering, Room 3221) ∧ SocialActivity(Room 3221, Meeting) Disjunction EnvironmentLighting(Room 3234, Off) ∨ EnvironmentLighting(Room 3234, Dim) Negation NOT Location(Manuel, In, Room 3221) Quantifier Existential Quantifier (i.e. “there exists”) ∃ Location y Location(Chris, In y) Universal Quantifier (i.e. “for all”) ∀ People x Location(x, In, Room 3231)

Context Model - Operations Quantifier Evaluation Domain define : set of values (& sets is finite) → Evaluation of expressions with quantifier will always terminate Location set : all valid locations in our system  Room 3221, hallway … Stock set : all stock that system is interested in  IBM, MSFT, SUNW … Arguments can be function ∃ Person s Location(s, Entering, currentRoom()) Deriving new contexts from other contexts Sound(Room 3234, “>”, 40dB) ∧ Lighting(Room 3234, Stroboscopic) ∧ #People(Room 3234, “>”, 6) => SocialActivity(Room 3234, Party)

Context Model – Aggregate context Aggregate context of smart space → predicate expression set that are true in the smart space Context Provider Smart space has various sensors These sensors provide contextual information generate first order expressions that are true at that point of time are called Context Provider

Context Model – Aggregate context Set of true context expressions in a smart room at some point in time Location Context Provider Location(Manuel, In, Room 2401) Location(Chris, In, Room 2401) Location(Roy, Entering, Room 2401) RoomEnvironment Context Provider Temperature(Room 2401, =, 68) Lighting(Room 2401, Is, Dim) Applications Context Provider Application(PowerPoint, Is, Running) Application(MP3 Player, Is, Running) Activity Context Provider (deduction) Social Activity(Room 2401, Lecture)

Protocols Query-Answer protocol Subscribe-Notify protocol

Protocols for obtaining context Protocols Applications can use to obtain interesting context Using XML Query-Answer protocol To obtain and understand current context Similar to Prolog query Location(X, In, room 3231) Subscribe-Notify protocol To perform certain actions when context changes Using CORBA event mechanism Context Provider sends context event in its own event channel Context Consumers can listen on there channels

Context infrastructure Context Provider Context Consumer Context Provider Lookup Service Context History Context Synthesisers Rule-based synthesisers Synthesisers that learn

Context infrastructure

Context Provider Represent using a context expression Send context events on an event channel Provide query interface (Prolog syntax) Evaluation of queries is semi-decidable & safe Use XSB reasoning engine for evaluating Prolog queries Context Consumers (or Context-Aware Applications) Consume various types of contexts Adapt their behaviour depending on the current context

Context infrastructure Context Provider Lookup Service Search for different context providers Providers advertise context expressions it provides Consumers query context expression it needs Context history It is possible to store all context events using persistent event channels in a database along with a timestamp We use past context information to learn rules about user and application behaviour through data mining

Context infrastructure Context Synthesisers Infer higher-level contexts based on simpler contexts Context Provider & Context Consumer process  Get source context  Sort them  generate new context approach Using rules Using machine learning

Context infrastructure Rule-based synthesisers Have pre-defined rules for deducing higher-level context If multiple rules are active at the same time, resolve conflict using priority-based mechanism In such case, may deduce the wrong context No flexible & can’t adapt to changing circumstances Synthesisers that learn Use Na Bayes algorithm for predicting user mood  Train the learner using past context  ask user mood periodically  Find features  Predict the mood

Specify application Specifying context-sensitive behaviour for applications Optimizing context expression evaluation Initializing and updating the poset Resolving conflicts

Specify application Specifying context-sensitive behaviour for applications Make a configuration file Specify a certain method to be called at a certain context Each context is associated with a priority level Implements the methods

Specify application Optimizing context expression evaluation All rules have to be re-evaluated whenever context changes → O(n) time, inefficient Thus, develop mechanism to reduce evaluations whenever context changes Organize poset(partially ordered set) data structure If there are Exp1, Exp2 and Exp1 => Exp2, then Exp1 node is a child of Exp2 node If any node is false, then its descendents will also be false Traverse top-down Poset extends vertically allows greater optimization Poset extends horizontally allows less optimization

Specify application Initializing and updating the poset Initializing When application starts up, it queries Context Providers  get the initial set of true context expressions  traverse the poset  set some nodes to true  Invoke the methods associated with these true nodes Updating Application listen to the event channels When it receives any context update event, then it updates its poset And the application executes the methods of those nodes that just became true

Specify application Resolving conflicts Since multiple nodes can become true at the same time, there may be conflicts in actions Handle these conflict using priority-based mechanism Higher priority win If it’s same, randomly choose

Example : jukebox application