Resource management aspects for sensor network software

  • Authors:
  • Sean Walton;Eric Eide

  • Affiliations:
  • University of Utah;University of Utah

  • Venue:
  • Proceedings of the 4th workshop on Programming languages and operating systems
  • Year:
  • 2007

Quantified Score

Hi-index 0.00

Visualization

Abstract

The software that runs on a typical wireless sensor network node must address a variety of constraints that are imposed by its purpose and implementation platform. Examples of such constraints include real-time behavior, highly limited RAM and ROM, and other scarce resources. These constraints lead to crosscutting concerns for the implementations of sensor network software: that is, all parts of the software must be carefully written to respect its resource constraints. Neither traditional languages (such as C) nor component-based languages (such as nesC) for implementing sensor network software allow programmers to deal with crosscutting resource constraints in a modular fashion. In this paper we describe Aspect nesC (ANesC), a language we are now implementing to help programmers modularize the implementations of crosscutting concerns within sensor network software. Aspect nesC extends nesC, a component-based dialect of C, with constructs for aspect-oriented programming. In addition to combining the ideas of components and aspects in a single language, ANesC will provide specific and novel constructs for resource-management concerns. For instance, pointcuts can identify program points at which the run-time stack is about to be exhausted or a real-time deadline has been missed. Corrective actions can be associated with these points via "advice." A primary task of the Aspect nesC compiler is to implement such resource-focused aspects in an efficient manner.