SENSID on Sun SPOTs
Tim Burrough · 2008
The rise of ubiquitous computing has seen microprocessors and sensors embed-ded into everyday items. Situation detection is one approach to the problem of making knowledge from streams of sensed data. A situation is a pattern of events that occur in data streams. Situation detection is the process of identifying and reporting situations. Performing situation detection on embedded devices, rather than logging the data centrally and mining it afterwards, gives the sensor the ability to detect and respond to situations in real-time. Embedded sensors can be used to detect particular events. Events can be individual sensor readings, or they could be above/below a certain threshold, or inside/outside a certain range. A situation is built out of one or more events, where certain constraints are imposed on the sequence of events (such as event e2 must occur within 2 seconds of event e1 occurring). jSENSID, a library for situation detection has been designed and built, which runs on Java SE 1.4 or Java ME. Being built on Java technology, it is easily portable to any device which provides the Java SE or ME libraries, and an ap-plication which uses jSENSID for situation detection has been built on the Sun Microsystems Sun SPOT. Previous situation detectors have been written in lan-guages other than Java, but since jSENSID only requires J2ME, jSENSID can be run on PCs, PDAs, Sun SPOTs, and even Java-enabled Phones. jSENSID is a redesign of SENSID, which was designed by M. Kranz in 2005[8] to solve the problem of situation detection on nodes (and is implemented in NesC on TinyOS on Mica2 motes). This dissertation explores the challenges encountered in implementing jSENSID, as well as suggestions for using jSENSID efficiently. We tested jSENSID in a string processing application on a desktop PC, as well as using it in a case study involving wearable accelerometers for Gait detec-tion. Our results showed that jSENSID can have uses in many different kinds of applications, and that when used correctly jSENSID is both efficient and accu-rate.