Wireless Embedded Systems (WES) are an attractive solution to sensing tasks in environments without preexisting infrastructure. Unfortunately, software defects that survive into deployment are particularly challenging to detect and diagnose due to resource and real-time constraints. How can developers get access to the state needed to understand their system’s runtime behavior? Do developers really need to resort to watching blinking LEDs on their embedded hardware?
This talk explores a solution using a low bandwidth (oh yes, we get excited about saving even a single bit!) logging framework. Log size is minimized without resorting to runtime compression by exploiting program structure to create small token name spaces from which token identifiers are assigned. These small token name spaces facilitate identifier assignments that consistently require fewer than eight bits to encode and that can be efficiently packed into bit aligned data structures. Logging tasks are described using a small language that drives a preprocessor to augments the target code base at compile time. This solution is easy for WES developers to integrate into their standard work flow and facilities construction of higher level logging tools.
This work was done in collaboration with Young Cho, Mani Srivastava, and the broader community in UCLA’s Network Embedded Systems Laboratory. The work was funded in part by the National Science Foundation under award CCF-0820061 and by the Center for Embedded Networked Sensing.
Roy Shea spent the first few decades of his life enjoying academia. During this time he obtained his BS in Mathematics and Computer Science from Harvey Mudd College, and his MS and Ph.D. in Computer Science from the University of California, Los Angeles with research focused on diagnosing faults in wireless and embedded systems. After academia Roy split his time between searching for great coffee and tea, and working on a small startup to “solve” parking. While the former pursuit lead to grand adventures from Calgary to Taiwan, the attempts to solve parking proved even more exciting and lead to Roy’s joining ParkMe. These days Roy helps ParkMe transform ambiguous English text into precise rate quotes, build models to estimate the number of cars parked on a given block at a particular time, and diagnose the amazing faults that arise in software systems.