System architecture directions for networked sensors
ACM SIGPLAN Notices
Preemption in Concurrent Systems
Proceedings of the 13th Conference on Foundations of Software Technology and Theoretical Computer Science
Cooperative Task Management Without Manual Stack Management
ATEC '02 Proceedings of the General Track of the annual conference on USENIX Annual Technical Conference
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
Analyzing and modeling encryption overhead for sensor network nodes
WSNA '03 Proceedings of the 2nd ACM international conference on Wireless sensor networks and applications
A wireless sensor network For structural monitoring
SenSys '04 Proceedings of the 2nd international conference on Embedded networked sensor systems
TinySec: a link layer security architecture for wireless sensor networks
SenSys '04 Proceedings of the 2nd international conference on Embedded networked sensor systems
Contiki - A Lightweight and Flexible Operating System for Tiny Networked Sensors
LCN '04 Proceedings of the 29th Annual IEEE International Conference on Local Computer Networks
Cyclops: in situ image sensing and interpretation in wireless sensor networks
Proceedings of the 3rd international conference on Embedded networked sensor systems
Computer
Beyond event handlers: programming wireless sensors with attributed state machines
IPSN '05 Proceedings of the 4th international symposium on Information processing in sensor networks
MANTIS OS: an embedded multithreaded operating system for wireless micro sensor platforms
Mobile Networks and Applications
Virgil: objects on the head of a pin
Proceedings of the 21st annual ACM SIGPLAN conference on Object-oriented programming systems, languages, and applications
Protothreads: simplifying event-driven programming of memory-constrained embedded systems
Proceedings of the 4th international conference on Embedded networked sensor systems
Abstractions for safe concurrent programming in networked embedded systems
Proceedings of the 4th international conference on Embedded networked sensor systems
Data compression algorithms for energy-constrained devices in delay tolerant networks
Proceedings of the 4th international conference on Embedded networked sensor systems
NSDI'04 Proceedings of the 1st conference on Symposium on Networked Systems Design and Implementation - Volume 1
Efficient memory safety for TinyOS
Proceedings of the 5th international conference on Embedded networked sensor systems
COOJA/MSPSim: interoperability testing for wireless sensor networks
Proceedings of the 2nd International Conference on Simulation Tools and Techniques
Proceedings of the 7th ACM Conference on Embedded Networked Sensor Systems
TOSThreads: thread-safe and non-invasive preemption in TinyOS
Proceedings of the 7th ACM Conference on Embedded Networked Sensor Systems
FlowTalk: Language Support for Long-Latency Operations in Embedded Devices
IEEE Transactions on Software Engineering
Experiences from a decade of TinyOS development
OSDI'12 Proceedings of the 10th USENIX conference on Operating Systems Design and Implementation
A comprehensive compiler-assisted thread abstraction for resource-constrained systems
Proceedings of the 12th international conference on Information processing in sensor networks
Hi-index | 0.00 |
Despite the continuous research to facilitate WSNs development, most safety analysis and mitigation efforts in concurrency are still left to developers, who must manage synchronization and shared memory explicitly. In this paper, we present a system language that ensures safe concurrency by handling threats at compile time, rather than at runtime. Based on the synchronous programming model, our design allows for a simple reasoning about concurrency that enables compile-time analysis resulting in deterministic and memory-safe programs. As a trade-off, our design imposes limitations on the language expressiveness, such as doing computationally-intensive operations and meeting hard real-time responsiveness. To show that the achieved expressiveness and responsiveness is sufficient for a wide range of WSN applications, we implement widespread network protocols and the CC2420 radio driver. The implementations show a reduction in source code size, with a penalty of memory increase below 10% in comparison to nesC. Overall, we ensure safety properties for programs relying on high-level control abstractions that also lead to concise and readable code.