SATWARE: A Semantic Middleware for Multi Sensor Applications
description
Transcript of SATWARE: A Semantic Middleware for Multi Sensor Applications
1
SATWARE: A Semantic Middleware for Multi Sensor Applications
Sharad Mehrotra
2
SAFIRE Stream Middleware
Writing sensor applications is hard: - Continuous data- Sensor heterogeneity - Diversity of platforms- Tolerance to failures
• Powerful programming abstractions to ease application development• Hide heterogeneity, failures,
concurrency
• Core Services• alerting, triggering, data &
stream management, queries.
• Mediation• application needs with
resource constraints of devices & networks
Sensor
FICB FiltersAlerts Analysis
Networks
SA Applications
Middleware – glue between H/w, networks, OS and applications
Networks
Stream Middleware Goals
3
Key Concepts Driving SATWARE
Semantic Level: Entities -- people, appliances, and
buildings, rooms; Relationships – interactions.
Infrastructure Level: sensing devices, computing devices,
network devices.
Virtual Sensors: maps data captured by sensors into
events in the semantic world.
Event Logs: evolution of physical world as
observed by the sentient system
3
SATware models sensor embedded spaces at two levels
sentient Applications
Virtual Sensor
High level stream language like CQL
4
Key Concept: Virtual Sensors
Provide the “bridge” between sensors & the semantic “real” world concepts.
L, Room12, t>Filter
[L=Room1]
AP Readings Listener
AP Readings
to location
Translate Location to
Lon./Lat.
FingerprintDB
Location Virtual Sensor
WiFi fingerprints, t>
5
Virtual Sensors: Multi-Sensor Fusion to improve quality
<Peter, L, PDF, t>
AP Readings Listener
AP Readings to location
FingerprintDB
<Pet
er, L
, PD
F, t>
Signal strength Listener
Signal strength
triagulation
APlocations
Merge
<Person, L, Room12, t>
Location Virtual SensorUsing fingerprints
Location Virtual SensorUsing signal Strength
triangulation
6
Virtual Sensors: Speech illustrating how semantics can help improve quality
<victim, fire, help>
speechDB
<loud, fast>Acoustic analysis
Location Virtual SensorUsing speech recognition
Location Virtual SensorUsing acoustic
analysis
Audio listeners
Audio stream
Speech recognizer
Data Cleaning using semantics
Merge
<n-best-list>
7
Building Applications using Semantic Model
Virtual Sensors “hide” complexity of sensor programming from application developers Convert heterogeneous sensor streams into semantic event streams Hide sensor failures / imprecision through
Noise reduction (e.g., averaging over multiple samples) multi-sensor fusion (e.g., multiple location sensing technologies provide more accurate
location assessment) Semantics (e.g., speech sensors exploit word correlation to improve on ASR)
Applications can view the system as consisting of high level concepts such as entities, events, artifacts, spaces, etc.
SATWARE supports high level query languages for implementing queries & triggers: SQL style stream language (at design stage – not yet implemented) Event graph based language
8
Event Graphs in SATWARE
Triggers/continuous queries are converted into an event graph network. SATWARE Deployer submits the resulting event graph into an executable
pipeline based on available resources, machines and networks. Mediates with resources to guarantee application needs are met Multiple optimizations possible in executing such networks.
Locoperator
[FF1]
<FF1, L, Room12, t>
<FF1, L, Room12, t>
Join[t]
Filter[L=first floor]
Locoperator
[FF2]
<FF2, L, Room15, t>
{<FF1, L, Room12,t><FF2, L, Room15, t>}
Near[5 Rooms]
Detect when Fire Fighter 1 is on the 1st floor
Detect when FF1 & FF2 are near each other
9
Demo
5/27/09
Programming
Execution
10
SATWARE Summary Middleware to ease multi-sensor applications
provides a powerful semantic interface for complex multi-sensor applications this feature used extensively in building SAFIRE SA
Applications
Supports core services Alerts, triggers, storage, archival, & replay capabilities.
Mediation between application needs & system resources E.g., sensor stream scheduling based on application quality
requirement
5/27/09