Is your Mote running UNIX yet?
by Ralph Kling, Chief Architect, Crossbow Technology, Inc.
Recently I have come across a very interesting research project at the University of Illinois at Urbana-Champaign. (For full disclosure the author of this article is a UIUC alumnus but in the interest of sportsmanship and balanced reporting I will keep the "Go Illini!" calls to a minimum.)
This project called LiteOS is being developed in the Computer Science Department by Professor Tarek Abdelzaher and his student Qing Cao. The goal is to provide a UNIX like operating and development environment for motes and sensor networks. A prototype implementation has been completed for the MICAz Mote. It includes an object oriented (C++ based) programming environment as well as run-time support for dynamic loading and execution of multiple threads. In addition, a file system which will be familiar to Unix/Linux users is provided as well.
The LiteOS environment consists of a PC based shell application and the Mote based runtime and file
system routines. The shell implements a subset of UNIX commands such as Is, mkdir, ps, man, etc. These commands are used to interact with the file system and for process execution management. To install an application the user simply copies its executable to the file system on the target node. Remote files and directories are intuitively mapped into a network hierarchy tree. Changing the current working directory to the remote node transparently maps installation and execution commands to that node.
The shell and file system are quite responsive with average shell command execution times in the 100s of milliseconds. The file system read/write bandwidth is in the several kilobytes per second range, more than adequate for typical sensor network applications. At this time, eight concurrent threads are supported and the run-time system intelligently manages the memory map to install and remove threads without collisions.
The LiteOS team has ported the set of about 20 TinyOS demo apps (Blink, Oscilloscope, Surge, etc.). The source code size is substantially lower than the TinyOS equivalent for all applications since no component wiring is required and most of the actual work is handled by the run-time environment. The compiled code size for those applications is roughly equivalent to that of TinyOS which means that there is virtually no run-time penalty for the extra programming convenience that LiteOS affords.
Go Illini!
Dr. Ralph Kling is currently the Chief Architect of the Wireless Business Unit at Crossbow Technology. Ralph is leading the Wireless engineering team at Crossbow and is responsible for new product strategies, technical directions and Standards activities.
Previously, Ralph was Principal Architect and Director of Sensor Network Operation at Intel Corporate Research. In this capacity, he was responsible for ground-breaking research in the area of Wireless Sensor Network Platforms that resulted in such novel designs as the Intel Mote and Imote2. Before joining Intel Research, Ralph's previous assignments include managing the Itanium® Processor Family microarchitecture/ performance group and the Microprocessor Research Lab (MRL).
Ralph obtained his Master's and Ph.D. degrees from the University of Illinois at Urbana-Champaign. His thesis research focused on Simulated Evolution, a new global optimization method for integrated circuit designs. Prior to coming to the US on a Fulbright scholarship, Ralph studied Electrical Engineering in his hometown of Hanover in Germany. He enjoys skiing in the winter and beaches in the summer.


Comments