Overview Semantic Streams: a Framework for Composable � Motivation Semantic Interpretation of Sensor � What are Semantic Streams? Data � Logic-based Markup and Query Language Kamin Whitehouse, Feng Zhao, and Jie Liu � Query Processing � Implementation � Summary Presented by Zhen Dai � Critique Motivation Semantic Streams � Allow users to easily query over sensor data � Fixed sensor infrastructure may be more common than ad-hoc sensor � For example: “I want the ratio of cars to trucks in the parking garage” deployment � Build upon the work of previous users � These sensors networks do not have � Utilize inference units to address new the same technical challenges as queries multi-hop ones � Allow users to place constraints � Non-technical user should not have to • Confidence level interpret raw sensor data. • Objective function, e.g. minimize energy consumption Semantic Streams Semantic Streams Programming Model Programming Model � Semantic Streams programming model uses two � Inference Unit example elements: � Desire new, legal interpretation of � Event streams � Inference units data using existing inference units � Event streams – flow of asynchronous events � Events can be object or person detection with properties like time or location Composable Inference � Inference units – processes that operate on event streams � They infer information from events and may generate new event streams or add information to existing events 1
Logic-based Markup and Logic-based Markup and Query Language Query Language � Eight predicates are used in Semantic � Semantic Streams markup and query Streams: language � – sensor( <sensor type>, <region> ) � Based upon SICStus Prolog with constraint � – inference( <inference type>, <needs>, logic programming (real) <creates> ) � Logically governs the inference units � – needs ( <stream1>, <stream2>, ... ) � – creates ( <stream1>, <stream2>, ... ) � Inference units must specify the stream � – stream ( <identifier> ) objects that are needed and produced � – isa ( <identifier>, <event type> ) � It is declarative, unlike imperative � – property ( <identifier>, <value>, <property programming name> ) Logic-based Markup and Queries Query Language � Some examples: � Query – logic description of event streams and properties � sensor(magnetometer, [[60,0,0],[70,10,10]]). � inference( magVehicleDetectionUnit, � Examples: needs ( � stream ( X ), isa ( X ,vehicle) sensor (magnetometer, R ) ), creates ( � stream ( Y ), isa ( Y , histogram), stream ( X ), property ( Y , X , stream), isa ( X ,vehicle), property ( Y , time, property), property ( X , T ,time), stream ( X ), isa ( X , vehicle), property ( X , R ,region) ) ) property ( X , [[10,0,0],[32,12,02]], region) Query Processing Query Processing � Additional benefits of using inference � Inference Composition Engine composition � Similar to backward chaining – given a list of predicates, working backwards, proves each � Efficient – proof results and inference of the predicates with rules from a rule-base units can be reused or facts • Resource sharing, e.g. processing cycles � Also uses a virtual representation for each and bandwidth inference unit to preserve legality � Mutual dependence – two inference • Variables are scoped across streams units can declare each other as a pre- • Streams are acyclic condition 2
Adding Constraints Adding Constraints � Quality of service (QoS) information can be selected � Multiple constraints can be set if upon, like total latency, energy consumption, confidence level needed � For example – an inference unit using 10ms to compute the speed of an object � A range of values can be set for � inference( speedDetectorUnit, constraints needs ( stream ( X ), � Execution monitoring or replanning isa ( X ,object), property ( X , L S, latency), occurs at runtime { L=LS+10 } ), � Error detection occurs at runtime creates ( stream ( X ), � Allows for sensor failure detection property ( X , S , speed), property ( X , L , latency) ) ) Implementation Implementation � Sensor network deployed on second floor of a parking deck on the Microsoft corporate campus over a 4x5 meter area in front of an elevator � Three different types of sensors used: a web camera, a magnetometer, infrared break beam sensors � micaZ motes used to control the break beam and magnetometer sensors � Upont Cappuccino TX-3 Mini PC acts as microserver Implementation Implementation User Interface � Consider three hypothetical users: � – Police Officer Pat wants a photograph of all vehicles moving faster than 15mph. � – Employee Alex wants to know what time to arrive at work in order to get a parking space on the first floor of the parking deck. � – Safety Engineer Kim wants to know the speeds of cars near the elevator to determine whether or not to place a speed bump for pedestrian safety. � All applications are to run simultaneously � Demonstrates automatic resource sharing � Reuses inference units 3
Implementation Implementation � Pat � Alex stream ( X ), stream ( X ), property ( X , H , histogram), property ( X , P , photo), property ( X , Y , plottedStream), property ( X , Y , triggerStream), property ( X ,time,plottedProperty), property ( X ,speed, triggerProperty), stream ( Y ), stream ( Y ), isa ( Y ,vehicle), isa ( Y ,vehicle), Implementation Summary � Kim � Declarative programming allows non- stream ( X ), technical users to easily extract property ( X , H , histogram), semantic information property ( X , Y , plottedStream), � Semantic Streams allows for property ( X ,speed, plottedProperty), stream ( Y ), inference composition isa ( Y ,vehicle), � Users can set the constraints and objective functions Comparisons with Critique EnviroSuite � Physical simulation of the presented ideas seems � The two programming frameworks are convincing and lends credibility similar in idea, i.e. managing behavior of the entire network � The paper argues repeatedly for ease of use for non- technical users, but even given its declarative nature, � They both allow confidence level constraints Semantic Streams may prove formidable in usage for � They do both use the idea of abstractions those without a background in logic like logical objects and predicates � One of the arguments for this framework revolves � EnivroSuite follows the object-based around allowing for multiple applications running on programming system, however the same sensor network. How realistic is this scenario in real deployment? 4
Critique Questions � Given the logical nature of the programming � ? scheme, it seems that more robust error handling can be easily implemented with regards to setting constraints. � It would be nice to see some concrete figures, i.e. processing time relative to other frameworks, from the result of the simulation � Minor editing errors 5
Recommend
More recommend