Technical Report Number
In recent years, networked sensors are ﬁnding use in a variety of diﬀerent applications ranging from temperature monitoring to battleﬁeld strategy planning. Advances in fabrication techniques have led to the development of sensor-actuator devices called MEMS. It has now become possible to move software closer to where the “action” is, i.e. the sensors themselves. These sensor devices typically have a micro-controller, instruction and data memory, a radio module for wireless communication and an operating system. These devices are severely resource constrained in terms of memory, processing power and energy, since most of these devices are battery driven. A sensor network consists of a number of sensors spread across a geographical area. Each sensor has wireless communication capability and suﬃcient intelligence for signal processing and networking of the data. In this paper, we discuss a mechanism to achieve prioritized task scheduling in TinyOS. We investigate into the details of how the task scheduling is currently done in TinyOS and the adverse eﬀects that this could cause. We show use-cases where certain ”important” tasks could be given less preference when compared to other ”not-so-important” tasks. We propose a new mechanism at the programming model level to introduce the concept of priority for a task and explain how the scheduling module has to be changed to enforce this priority scheme. Finally, we show empirical results to justify our solution.
Subramonian, Venkita; Huang, Huang-Ming; Datar, Seema; and Lu, Chenyang, "Priority Scheduling in TinyOS : A Case Study" Report Number: WUCSE-2003-74 (2002). All Computer Science and Engineering Research.