Overview
The IBM Mote Runner run-time environment for wireless sensor networks consists of a large number of interconnected components that interact in various ways. Some components work in a stand-alone fashion, some allow user extensions or execute user code, and some tap into third-party software.
- Bird's eye view- selected tab,
- On-mote components
- Language subsets
The overall landscape of Mote Runner is shown in Figure 1. At its core is the on-mote run-time platform, which runs on off-the-shelf standard mote hardware. A small hardware abstraction layer (HAL) shields the Mote Runner operating system (OS) from hardware intrinsics and make porting Mote Runner to different mote hardware "fairly" easy. User applications then run on top of the Mote Runner OS. It should be noted that this software layering is basically the same for real hardware and the simulation.

Fig. 1: IBM Mote Runner: A bird’s eye view.
Next, the Oasis framework provides means for interaction with the wireless sensor network (either simulated or real). Its functionality includes configuring the network (e.g., by uploading or removing applications) as well as collecting and processing data received from the network. Although it is possible to add user extensions to Oasis to expand its functionality, most users will probably access Oasis via its Web interface, interactively from a shell, or by running scripts.
Users may also write their own applications that in turn connect to Oasis. Alternatively, applications may circumvent Oasis and connect directly to motes via a serial interface using the Yucca service, or to the simulation via a JSON-based protocol.

