TinyOS is a popular micro-operating system in the embedded systems circle. With it
is a special, component-based adaptation of C called nesC. TinyOS and nesC tightly
work together to help build smart sensory devices (called "motes") which often include
tiny radios for inter-mote communications. Much of the work by individual programmers
has been contributed back to the source tree (at SourceForge) for others to use, offering
the neophyte at least 11MB of data and program source to start from.
Embedded systems requires "tight" programming in tiny spaces, because the target
device only has a few K bytes available for the program and less for variables and/or stack.
There is only so much that dead-code elimination can do to reduce the size of a program
executable. Aspect-oriented software design (AOSD) can help identify crosscutting concerns
that affect components and even whole systems. The goal, then, is to apply AOSD tools
and modularize crosscutting concerns and save program space and time. |