Kamin Whitehouse :: Projects



Research Publications Misc
MDB MDB allows a programmer to debug at the macroprogram level. MDB eliminates the need for a programmer to be concerned with low-level event traces and message protocols. More...
MacroLab: Vector-based Macroprogramming MacroLab allows a user to write a single macroprogram for an entire Cyber-Physical System. It is the first system that can perform automatic, topology-specific decomposition of programs describing parallel operations on parallel data structures. More...
Clairvoyant: Wireless, Embedded, Source-level Debugging Clairvoyant is the first comprehensive source-level debugger for WSNs. It provides standard debugging commands, including break, step, watch, and backtrace as well as new, special-purpose commands that deal with interrupts, conditional breakpoints, and new global commands such as gstop and gcontinue. More...
The FATS Privacy Attack We demonstrated that we can eavesdrop on wireless devices in a home and extract private information, even when all of the wireless data is encrypted, with a Fingerprint and Timing-based Snooping attack, or a FATS attack. Experiments on four houses demonstrate that we can infer when and how often the bathroom and kitchen are visited, when the person is sleeping, and when the home is occupied with 90-100\% accuracy. More...
MetroNet MetroNet The MetroNet project will consist of sensors deployed in the storefront windows of downtown Charlottesville. The sensors can be used by the store owners, city customers, city planners, real estate customers, etc. More...
Flash Flooding The Flash flooding protocol exploits the capture effect to reduce flooding latency by allowing nodes to propagate the flood simultaneously, thereby eliminating neighborhood contention. Our results indicate that Flash can reduce latency by as much as 80%, achieving flooding latencies near the theoretical lower bound without sacrificing coverage, reliability or power consumption.More...
Stream Search Stream Search brings search technology to streams of sensor data. Existing search technology is based primarily on text and hyperlinks, but sensor data is a challenge for search because it is primarily numeric. We are using data mining techniques to create the algorithmic equivalant of hyperlinks between data streams. More...
Marionette: Wireless, Embedded Scripting & Debugging Marionette is a development tool for wireless embedded networks. It provides a tight coupling between the program running on the wireless nodes and a python user environment, so that the programmer can call functions and read/write variables on the nodes from within a python shell or script. This provides unprecedented run-time visibility and control for wireless embedded devices, and can be used to rapid application prototyping and/or debugging. More...
Hood: a Distributed Programming Abstraction Hood is the first neighborhood-based programming abstraction for sensor networks. It performs neighbor discovery, neighbor list management, and data sharing automatically, allowing the programmer to access the data values of neighboring nodes through a Get/Set interface, instead of through messaging protocols. More...
Semantic Streams Semantic Streams is a system that allows people to pose semantic queries over sensor data. It produces logical interpretations of data, in contrast to most query systems which produce the data itself or mathematical aggregations of the data, e.g. the user queries for the number of cars or trucks that pass through an intersection instead of raw magnetometer values. More...
Collision Detection and Recovery This is the first collision detection scheme for wireless networks. This scheme can 1) differentiate between packet loss due to collisions vs. bad link quality 2) identify the nodes that caused the colllision 3) recover one of the packets from the collision. Until now, all wireless MAC protocols assumed that collision detection was not possible. More....
Localization This work in localization has several components, including hardware for acoustic and ultrasonic ranging, collections of acoustic, ultrasound, and RSSI ranging data from multiple different environments, a simulator called "silhouette" that simulates a localization deployment given an empirical ranging profile, and quantitative comparisons of localization with different models of ranging, different algorithms, and different environments. More...
Tracking In the pursuer-evader game (PEG), a vehicle (the evader) is driven through a sensor field that tracks its location and routes it to another device (the pursuer) that tries to autonomously capture the evader. In August 2005, we deployed PEG using passive infrared (PIR) sensors to track any moving object in an area covering 50,000 square meters with over 550 solar-powered sensor nodes. More...
Calibration This sensor network calibration technique allows each node to calibrate its sensor using the actuators of its neighbors. This creates an over-constrained system from which calibration coefficients can be inferred even in the face of some noise from both the sensors and actuators. More...
Sieve Sieve is a data analysis tool to facilitate the analysis and processing of sensor networks data streams. It provides tunable parameters that allow the developer to quickly design classifiers. More...
Load Monitoring and Energy Conservation A sensor network monitoring device usages can over time derive usage patterns. This project aims to combine household-wide device load monitoring with other forms of environmental detection and awareness, such as occupancy sensors. More...


Kamin Whitehouse
Computer Science Department
The University of Virginia
217 Olsson Hall
Charlottesville, Virginia 94720