USC: a universal stub compiler
SIGCOMM '94 Proceedings of the conference on Communications architectures, protocols and applications
COBRA fundamentals and programming
COBRA fundamentals and programming
Flick: a flexible, optimizing IDL compiler
Proceedings of the ACM SIGPLAN 1997 conference on Programming language design and implementation
System architecture directions for networked sensors
ASPLOS IX Proceedings of the ninth international conference on Architectural support for programming languages and operating systems
The nesC language: A holistic approach to networked embedded systems
PLDI '03 Proceedings of the ACM SIGPLAN 2003 conference on Programming language design and implementation
TOSSIM: accurate and scalable simulation of entire TinyOS applications
Proceedings of the 1st international conference on Embedded networked sensor systems
Network Systems Design with Network Processors, Agere Version
Network Systems Design with Network Processors, Agere Version
TinyDB: an acquisitional query processing system for sensor networks
ACM Transactions on Database Systems (TODS) - Special Issue: SIGMOD/PODS 2003
EmStar: a software environment for developing and deploying wireless sensor networks
ATEC '04 Proceedings of the annual conference on USENIX Annual Technical Conference
The emergence of networking abstractions and techniques in TinyOS
NSDI'04 Proceedings of the 1st conference on Symposium on Networked Systems Design and Implementation - Volume 1
An adaptive communication architecture for wireless sensor networks
Proceedings of the 5th international conference on Embedded networked sensor systems
An inexpensive, off-the-shelf platform for networked embedded robotics
Proceedings of the 1st international conference on Robot communication and coordination
Industry: beyond interoperability: pushing the performance of sensor network IP stacks
Proceedings of the 9th ACM Conference on Embedded Networked Sensor Systems
Hi-index | 0.00 |
Development of network communication in a homogeneous sensor network environment is straightforward as the nodes can share message layouts simply by letting the compiler lay out messages in an arbitrary fashion and using the same executable code on all nodes. However, this simple approach does not usually work in a heterogeneous sensor network setting because different compilers may generate different message layouts, and different processors often have different basic type representations and alignments. The traditional solutions to this problem is to either require programmers to insert network-byte-order and host-byte-order conversions, or to use a compiler that automatically generates marshalling and unmarshalling routines. Unfortunately, these approaches are in-adequate for sensor networks because they are either error-prone and/or add significant overheads to already resource-constrained sensor motes. Instead, we propose a language extension --- network types --- which supports heterogeneous networking in a simple and efficient way. We have implemented network types in the nesC, the language of the TinyOS sensor network operating system and its applications. We have used network types to supports heterogeneous networking between micaz and telos motes (which have different alignment restrictions). We also show that our implementation introduces a negligible amount of overhead in runtime and code size. Network types have the additional benefit of requiring few changes to existing TinyOS code.