Semantic Streams: a Framework for Composable Semantic Interpretation of Sensor Data Kamin Whitehouse UC Berkeley EWSN, Feb 13, 2006 Joint with Feng Zhao.

Slides:



Advertisements
Similar presentations
Ontology-Based Computing Kenneth Baclawski Northeastern University and Jarg.
Advertisements

Knowledge Representation using First-Order Logic
First-Order Logic Chapter 8.
Some Prolog Prolog is a logic programming language
Chapter 10: Designing Databases
UIUC CS 497: Section EA Lecture #2 Reasoning in Artificial Intelligence Professor: Eyal Amir Spring Semester 2004.
Kien A. Hua Division of Computer Science University of Central Florida.
Timed Automata.
B. Ross Cosc 4f79 1 Frames Knowledge bases can be enhanced by using principles from frame knowledge representation (similar to object orientation) This.
1Key – Report Creation with DB2. DB2 Databases Create Domain for DB2 Test Demo.
Formal Logic Mathematical Structures for Computer Science Chapter 1 Copyright © 2006 W.H. Freeman & Co.MSCS SlidesFormal Logic.
Chapter 12: Expert Systems Design Examples
Expert System Human expert level performance Limited application area Large component of task specific knowledge Knowledge based system Task specific knowledge.
1 SAFIRE Project DHS Update – July 15, 2009 Introductions  Update since last teleconference Demo Video - Fire Incident Command Board (FICB) SAFIRE Streams.
Design and Implementation of a Middleware for Sentient Spaces Bijit Hore, Hojjat Jafarpour, Ramesh Jain, Shengyue Ji, Daniel Massaguer Sharad Mehrotra,
PTIDES: Programming Temporally Integrated Distributed Embedded Systems Yang Zhao, EECS, UC Berkeley Edward A. Lee, EECS, UC Berkeley Jie Liu, Microsoft.
Report on Intrusion Detection and Data Fusion By Ganesh Godavari.
Advanced Topics COMP163: Database Management Systems University of the Pacific December 9, 2008.
Modal logic and databases. Terms Object terms Concept terms ↓ t: object denoted by concept t in some context Type designations: o (object) and c (concept)
Presenter: Miguel Garzon Torres CrUise Lab - SITE SQL Coverage Measurement for Testing Database Applications María José Suárez-Cabal University of Oviedo.
Making Database Applications Perform Using Program Analysis Alvin Cheung Samuel Madden Armando Solar-Lezama MIT Owen Arden Andrew C. Myers Cornell.
MDC Open Information Model West Virginia University CS486 Presentation Feb 18, 2000 Lijian Liu (OIM:
XML, distributed databases, and OLAP/warehousing The semantic web and a lot more.
Managing Large RDF Graphs (Infinite Graph) Vaibhav Khadilkar Department of Computer Science, The University of Texas at Dallas FEARLESS engineering.
A summary of the report written by W. Alink, R.A.F. Bhoedjang, P.A. Boncz, and A.P. de Vries.
Notes for Chapter 12 Logic Programming The AI War Basic Concepts of Logic Programming Prolog Review questions.
Programming Paradigms
Dart: A Meta-Level Object-Oriented Framework for Task-Specific Behavior Modeling by Domain Experts R. Razavi et al..OOPSLA Workshop DSML‘ Dart:
Access Path Selection in a Relational Database Management System Selinger et al.
Theory Revision Chris Murphy. The Problem Sometimes we: – Have theories for existing data that do not match new data – Do not want to repeat learning.
Understanding PML Paulo Pinheiro da Silva. PML PML is a provenance language (a language used to encode provenance knowledge) that has been proudly derived.
RELATIONAL FAULT TOLERANT INTERFACE TO HETEROGENEOUS DISTRIBUTED DATABASES Prof. Osama Abulnaja Afraa Khalifah
Report on Intrusion Detection and Data Fusion By Ganesh Godavari.
 Architecture and Description Of Module Architecture and Description Of Module  KNOWLEDGE BASE KNOWLEDGE BASE  PRODUCTION RULES PRODUCTION RULES 
Ethan Jackson, Nikolaj Bjørner and Wolfram Schulte Research in Software Engineering (RiSE), Microsoft Research 1. A FORMULA for Abstractions and Automated.
1 Constraints for Multimedia Presentation Generation Joost Geurts, Multimedia and Human-Computer Interaction CWI Amsterdam
Distributed Information Retrieval Using a Multi-Agent System and The Role of Logic Programming.
Pattern-directed inference systems
Dimu' Rumpak © 2009 by Prentice Hall 1 Getting Started Didimus Rumpak, M.Si. Database Concepts Chapter 1 1.
A Logic Programming Approach to Scientific Workflow Provenance Querying* Shiyong Lu Department of Computer Science Wayne State University, Detroit, MI.
An Ontological Framework for Web Service Processes By Claus Pahl and Ronan Barrett.
POLICY ENGINE Research: Design & Language IRT Lab, Columbia University.
Efficient RDF Storage and Retrieval in Jena2 Written by: Kevin Wilkinson, Craig Sayers, Harumi Kuno, Dave Reynolds Presented by: Umer Fareed 파리드.
Streamflow - Programming Model for Data Streaming in Scientific Workflows Chathura Herath.
1. 2 Preface In the time since the 1986 edition of this book, the world of compiler design has changed significantly 3.
CS 460/660 Compiler Construction. Class 01 2 Why Study Compilers? Compilers are important – –Responsible for many aspects of system performance Compilers.
Chapter 3 Syntax, Errors, and Debugging Fundamentals of Java.
COM362 Knowledge Engineering Inferencing 1 Inferencing: Forward and Backward Chaining John MacIntyre
Logic Programming Languages Session 13 Course : T Programming Language Concept Year : February 2011.
Ch. 13 Ch. 131 jcmt CSE 3302 Programming Languages CSE3302 Programming Languages (notes?) Dr. Carter Tiernan.
Data Structures and Algorithms Dr. Tehseen Zia Assistant Professor Dept. Computer Science and IT University of Sargodha Lecture 1.
Intelligent Control Methods Lecture 7: Knowledge representation Slovak University of Technology Faculty of Material Science and Technology in Trnava.
1 Object Oriented Logic Programming as an Agent Building Infrastructure Oct 12, 2002 Copyright © 2002, Paul Tarau Paul Tarau University of North Texas.
Introduction to Databases Three File Processing Systems DAVID M. KROENKE’S DATABASE PROCESSING, 10th Edition © 2006 Pearson Prentice Hall 1-2.
Steven Seida How Does an RDF Knowledge Store Compare to an RDBMS?
Chapter – 8 Software Tools.
Creating Simple and Parallel Data Loads With DTS.
Www. infofusion.se Information Fusion Requirements on Databases Ronnie Johansson.
Mechanisms for Requirements Driven Component Selection and Design Automation 최경석.
By P. S. Suryateja Asst. Professor, CSE Vishnu Institute of Technology
IST 220 – Intro to Databases
Announcements No office hours today!
CS62S: Expert Systems Based on:
Software Architecture
Cloud computing mechanisms
Lecture 8 Programming Paradigm & Languages. Programming Languages The process of telling the computer what to do Also known as coding.
A Framework for Testing Query Transformation Rules
DryadInc: Reusing work in large-scale computations
Performance And Scalability In Oracle9i And SQL Server 2000
Deniz Beser A Fundamental Tradeoff in Knowledge Representation and Reasoning Hector J. Levesque and Ronald J. Brachman.
Presentation transcript:

Semantic Streams: a Framework for Composable Semantic Interpretation of Sensor Data Kamin Whitehouse UC Berkeley EWSN, Feb 13, 2006 Joint with Feng Zhao and Jie Liu, Microsoft Research

fact Data Processing Data Processing fact Data Processing Motivation Imaging that sensors cover the globe Can we automatically query for world facts? No: each fact is an interpretation of data Processing must consider –Sensor context –Sensor fusion –Data formats –Calibration –Signal transforms –Etc. World Sensor DB fact Data Processing fact Data Processing

Semantic Streams Goal: to allow direct querying of facts Example query: “Is a vehicle in the parking lot” Instantiates a graph of inference units to derive the desired fact Output is a stream of all vehicles detected Fact: vehicle Size Inference Vehicle Inference Space Inference Fact: empty space Sensor.data=72Sensor.data=56Sensor.data=98obj.size=23 Sensor.data=49 obj.type=vehicle

Usage Model Fixed Sensor infrastructure –Many simultaneous, unrelated users –Short-term queries repeatedly over long periods –Queries are often similar (though not identical) When programmer poses new query, system will use existing sensors and inference units, if possible. Otherwise, system may give actionable error messages, –need to add 2 more sensors in area XYZ –need to add new inference unit to the system Semantic values produced by infrastructure grows organically as it is used for new purposes

Complete System Mobile Application Query Processor Inference Graph Embedding Engine MSTML Execution Engine Sensors Planning time User Output Stream Inference Unit Instances Run time

Background: Prolog and FOL george, jane, carA X, Y, Z, StudentA female(jane), parent(X,Y) parent(george,jane). male(george). father(X) :- parent(X,Y),male(X). male(X). > X = george father(X). > X = george father(jane). > false Constants Variables Predicates Facts Rules Queries Query processing

Markup Language sensor(magnetometer, [[60,0,0][70,10,10]]). sensor(camera, [[40,0,0][55,15,15]]). sensor(breakBeam, [[10,0,0][12,10,2]]). inference( speedDetector, needs( sensor(magnetometer, R) ), creates( stream(X), isa(X,object), property(X,T,time), property(X,R,region), property(X,S,speed) ) ). Sensors are declared as logical facts –All regions are appx’d by 3D cubes Inference units are logical rules –Antecedents: the fact streams that it needs –Consequents: the fact streams that it creates –Spatial relationship encoded in variable name

Stream Relationships subregion( A, B ) inference(speedDetector, needs( sensor(magnetometer, R) ), creates( stream(X), isa(X,object), property(X,T,time), property(X,R2,region), subregion(R2,R), property(X,S,speed) ) ). More sophisticated spatial relationships –Subregions Sensor coverage (R) Queried area (R2)

Stream Relationships inference( speedDetector, needs( sensor(breakBeam, R1), sensor(breakBeam, R2), sensor(breakBeam, R3), subregion(R1,R), subregion(R2,R), subregion(R3,R), \+ intersecttion(_,R1,R2), \+ intersecttion(_,R1,R3), \+ intersecttion(_,R2,R3) ), creates( stream(X), isa(X,object), property(X,T,time), property(X,R,region) ) ). More sophisticated spatial relationships –Subregions –Non-intersection Queried area Sensor coverage

Stream Relationships inference( vehicleDetector, needs( sensor(magnetometer, R), stream(X), isa(X,object), property(X,S,speed) ), creates( stream(X), isa(X,vehicle) ) ). More sophisticated spatial relationships –Subregions –Non-intersection Stream identity

Query processing 1.Choose first predicate in query 2.Search KB for sensors that match 3.Search output of inference units for streams that match 4.Add new input streams to query 5.Back to step 1 Region(A,[[10…]])isa(A,vehicle) Stream(X), Isa(X,vehicle) stream(X), property(X,speed) Sensor(mag,…) Vehicle Inference stream(Y), property(Y,speed) Sensor1Sensor2Sensor3 Speed Inference

Query processing Actionable Error Messages –When missing inference unit –When missing sensor Region(A,[[10…]])isa(A,vehicle) Stream(X), Isa(vehicle,X) stream(X), property(X,speed) Sensor(mag,…) stream(Y), property(Y,speed) Sensor1Sensor2Sensor3 Vehicle Inference Speed Inference

Query processing When too many choices –Multiple graphs provide logically equivalent results Region(A,[[10…]])isa(A,vehicle) Stream(X), Isa(vehicle,X) stream(X), property(X,speed) Sensor(mag,…) stream(Y), property(Y,speed) Sensor1Sensor2Sensor3 Vehicle Inference Speed Inference stream(Y), property(Y,speed) Camera Speed Inference

Quality of Service Constraints subregion( A, B ) inference(speedDetector, needs( sensor(camera, R) ), creates( stream(X), isa(X,object), property(X,T,time), property(X,R2,region), property(X,S,speed), property(X,C,confidence), {C > 99}, property(X,L,latency), {L < 450} ) ). Inference unit may specify QoS of output –Confidence –Latency

Quality of Service Constraints subregion( A, B ) inference(speedDetector, needs( sensor(breakBeam, R1) ), sensor(breakBeam, R2) ), sensor(breakBeam, R3) ), creates( stream(X), isa(X,object), property(X,T,time), property(X,R2,region), property(X,S,speed) ) ). property(X,C,confidence), {C > 80}, property(X,L,latency), {L < 75} ) ). Inference unit may specify QoS of output –Confidence –Latency

Quality of Service Constraints subregion( A, B ) inference(vehicleDetector, needs( sensor(magnetometer, R1), stream(X), property(X,S,speed), property(X,C2,confidence), property(X,L2,latency), creates( stream(X), isa(X,vehicle), {C > 0.9 * C2}, {L = L } ) ). Inference unit may specify QoS of output –Confidence –Latency May be function of input QoS

Query processing Query can declare QoS parameters to create ordering of inference graphs Region(A,[[10…]])isa(A,vehicle) Stream(X), Isa(vehicle,X) stream(X), property(X,speed) Sensor(mag,…) stream(Y), property(Y,speed) Sensor1Sensor2Sensor3 Vehicle Inference Size Inference stream(Y), property(Y,speed) Camera Size Inference {C>70, L <300}

Example Infrastructure

Goal Application: Vehicle Detection

Query and Inference Graph isa(Y,histogram),property(Y,T,value),property(X,T,time), isa(X,vehicle),region(X,R,[[10,10,0][40,30,12]]), Isa(Z,photo),property(Z,X,triggerStream) Vehicle Inference Speed Inference Direction Inference Size Inference Histogram Service Photo Service Break Beams Magnetometers Camera

Screenshot

Final Application Camera image Report (histogram) Break beam plot Micro ServerCamera Server Magnetometer plot

Conclusion Semantic Streams –Infers facts from data –Intended for sensor infrastructure –Can select inference graph based on QoS constraints Limitations –Must be a large supply of inference units –Stream operators are difficult to program Different programming language/execution model Programmer must deal with temporal values, implement appropriate buffering, etc.

Future Work: Streaming KB’s Relational Database : Knowledge Base :: Streaming Database : Streaming KB SQL operators: Select, Join, Max Operate on Tables Logical rules: c(X) :- a(x),b(x). Operate on Facts Infinite tablesInfinite facts

Video: Vehicle Detection

Video: Human Filtering

Traffic Histogram