computer science snbench: a programming and runtime framework for sensor networks michael ocean with...
Post on 05-Jan-2016
229 Views
Preview:
TRANSCRIPT
Computer Science
snBench: A Programming and Runtime Framework
for Sensor Networks
Michael Oceanwith Azer Bestavros and Assaf Kfoury
Computer Science
Motivation (sensing change)
Traditional Sensor Networks : Homogeneous nodes Highly constrained (e.g., computation,
communication, power, etc.) Nodes programmed for a single common goal
“Embedded” Sensor Networks (Sensoria) : Heterogeneous nodes/Hybrid networks Varied constraints on devices/networks Program the network to achieve multiple
(potentially conflicting) goals running simultaneously
Computer Science
Motivation (sensing change)
What sensors can I use and what functionality do I
get from them?
Embedded SNs (“Sensoria”) : Heterogeneous nodes Varied constraints Program the network diff't goals running
simultaneously
Computer Science
snBench: Programming Cycle
Program SNAFU language
high-level “glue” Compile
A SNAFU program is compiled into a Sensorium Task Execution Plan (STEP)
Map and Link STEPs are decomposed in smaller dispatch-able
(baby) STEPs which are linked to resources Load and Execute
Linked STEPs are dispatched to sensor runtime/execution environments (SXEs)
Computer Science
SNet Apps as FUnctions
SNAFU: functional specification language computation, sensing, communication, storage, values,
etc.
e.g., identify the face seen through camera 1
Use “annotative” functions for constraints e.g., what streams can be “exposed”
e.g., minimum acceptable resolution
identify(facefind(grabframe(cam1)))
public(facecount(grabframe(private(cam1)))))
facecount(resn(800x600x24b,grabframe(cam1)))
Computer Science
Sensorium Task Execution Plan
SNAFU is compiled into STEP our “Instruction Set Architecture”
cam2
snapshot
motion
clock 4am2am
< <
&&
trigger
“security@bu.edu”email(“security@bu.edu”, trigger( (motion(snapshot(cam2)) && (2am<NOW<4am)), snapshot(cam2)))
snafu program
Sensorium Task Execution Plan
Computer Science
Sensorium Task Execution Plan
serialized as XML
Computer Science
Infrastructure support
Scheduling/linking as graph partitioning
SXE
SXESXE
SXE
?
cam2
snapshot
motion
clock 4am2am
< <
&&
trigger
“security@bu.edu”
Computer Science
Infrastructure support
Sensorium Resource Manager (SRM) Manage “local”-area Sensorium resources
Sensorium Service Dispatcher (SSD) STEP scheduling, deployment and monitoring:
SD, SXESXE
SXE
SXE
SXESXE
SXE
Computer Science
Sensor eXecution Environment
Shares local (virtual) resources with the Sensorium Abstraction of local resources
through STEP program abstraction
Advertises computational and sensing capabilities to SSD
Accepts STEPs from SSD STEP interpreter
can be dynamically tasked with new functionalities via the network
top related