Developments in the semiconductor industry have ushered in a new generation
of sensor platforms with larger memory and better processing capabilities than their
older counterparts. An instance of this newer generation is the Imote2 which is
capable of running at clock rates between 13 - 416 Mhz and having nearly 256KB of
SRAM and 32 MB of Flash memory. This improved processing capability has meant
that managed languages like C# and Java requiring larger memory footprints both
in volatile memory and Flash can now be used to program wireless sensor networks
(WSNs).
The .NET Micro Framework is an open source version of the .NET framework
scaled down for resource constrained environments. In addition to providing program-
ming capability in C#, the framework also provides operating system level features
like threading support, synchronization prmitives and garbage collection. Because it
is provided with an open source license, the .NET Micro Framework has seen a lot of
interest within the WSN community in recent years.
However, a major stumbling block in the large scale acceptance of this program-
ming paradigm is that the majority of the research and development in the sensing
domain has been in TinyOS with nesC as the programming language. This has meant
that before the community begins to bear the fruits of this new programming style,
signicant eorts have to be made in rewriting libraries in .NET and bringing them
up to speed with the state of the art in TinyOS.
This thesis evaluates the alternative approach of leveraging libraries already de-
veloped for TinyOS and making them available as .NET libraries to the user by using
the "interoperation" feature in the .NET framework. This feature, which was made
available in version 3.0 allows people porting the .NET Micro Framework to dierent
platforms to extend the capabilities of the framework by writing native libraries which
utilize special features of the platform on which they are building.