previous members:
Selim Gurun (now at Cytrix Online)
Ye Wen (now at Google)
Despite the potential for transformative scientific and even social change that sensor networks seem to promise, their development is, at present, still nascent. While various technological and economic obstacles exist, a key impediment to their development is the lack of development tools that enable the coherent design, efficient engineering, and effective deployment of sensor network systems.
To this end, we are developing SENSIMIDE an integrated simulation and program development environment for sensor network systems. Using high-fidelity device simulation, our goal is to provide a richer development and debugging environment for resource-restricted devices (such as senor network motes) than the native hardware can support. By including instructions in the binary codes that are ignored on the native devices, our simulator implements debugging facilities in software that cannot be realized directly in hardware due to the complexity and power expense they would introduce.
The current simulator prototype can run TinyOS and Mote binary code without modification. That is, a program cannot tell it is currently executing in the simulator and code can be moved transparently between an actual hardware device and the simulator. Because the simulator is a cycle-close representation of the native hardware however, it is possible to stop it and interrogate the internal state of the simulated devices and all software (including the OS) in a way that is not possible on the native hardware. By recompiling the code to include instructions accessing phantom registers, greater debugging flexibility is implemented without sacrificing the ability to run the same code image on physical devices.
From a research perspective, we are developing a software capability that enables researchers to work with sensor networks without actually procuring and deploying difficult-to-program physical devices (which implies an expense that deters many researchers from pursuing senor network research). Indeed, our own research groups found the labor-intensive process of program development using a single mote kit nearly impossible hurdle to overcome when contemplating work in this area. One of our goals is to have our software environment (which we will make freely available) lower the barrier to entry for researchers who believe they can contribute to the area of senior network research, thereby transforming the field by increasing its diversity. For the commercial sector, the software represents an important new development and debugging capability that can drastically cut time-to-solution.
Technological advances in CMOS integrated circuits, low power wireless and microelectromechanical systems make it possible to embed tiny, digitally controlled sensor devices that include computation and communication capabilities into the environment. However, the technological characteristics of these "wireless sensor networks," including limited processing and energy resources and unreliable and fluctuating network performance, raise extensive distributed systems software development challenges, especially for application debugging and profiling. Because of these difficulties, simulation is attractive as a practical method to study sensor network behavior and verify application designs. One of the primary impediments to the greater success of simulation as a software engineering tool stems from the lack of an accurate models for ensemble behavior.
In our work, we are exploring the coupling of physical sensor systems with on-line, real-time device emulation as a way of enhancing simulation fidelity. That is, we have developed a mixed simulation-physical system environment that achieves fidelities approaching purely physical deployments while providing the flexibility and instrumentation possibilities of a pure simulation.
To distinguish our work from the conventional hybrid simulation, we borrow a term from computer graphics area and call it simulation-based augmented reality for sensor networks. Intuitively, we want to create a sensor network deployment that is partially physical and partially virtual (i.e. simulated). A key feature is that the delineation between virtual and physical devices, communication, etc. is completely transparent to applications that are running in an augmented sensor network.
Other RACELab papers on this and related work
can be found here
.
This work is generously supported by: