Parallel programming in Split-C
Proceedings of the 1993 ACM/IEEE conference on Supercomputing
Programming with POSIX threads
Programming with POSIX threads
System architecture directions for networked sensors
ASPLOS IX Proceedings of the ninth international conference on Architectural support for programming languages and operating systems
Static checking of interrupt-driven software
ICSE '01 Proceedings of the 23rd International Conference on Software Engineering
Java Virtual Machine Specification
Java Virtual Machine Specification
Maté: a tiny virtual machine for sensor networks
Proceedings of the 10th international conference on Architectural support for programming languages and operating systems
Directed diffusion for wireless sensor networking
IEEE/ACM Transactions on Networking (TON)
Cooperative Task Management Without Manual Stack Management
ATEC '02 Proceedings of the General Track of the annual conference on USENIX Annual Technical Conference
On the duality of operating system structures
ACM SIGOPS Operating Systems Review
Capriccio: scalable threads for internet services
SOSP '03 Proceedings of the nineteenth ACM symposium on Operating systems principles
Hood: a neighborhood abstraction for sensor networks
Proceedings of the 2nd international conference on Mobile systems, applications, and services
HOIST: a system for automatically deriving static analyzers for embedded systems
ASPLOS XI Proceedings of the 11th international conference on Architectural support for programming languages and operating systems
The dynamic behavior of a data dissemination protocol for network programming at scale
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
Region streams: functional macroprogramming for sensor networks
DMSN '04 Proceeedings of the 1st international workshop on Data management for sensor networks: in conjunction with VLDB 2004
Eliminating stack overflow by abstract interpretation
ACM Transactions on Embedded Computing Systems (TECS)
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
Portable multithreading: the signal stack trick for user-space thread creation
ATEC '00 Proceedings of the annual conference on USENIX Annual Technical Conference
Y-Threads: supporting concurrency in wireless sensor networks
DCOSS'06 Proceedings of the Second IEEE international conference on Distributed Computing in Sensor Systems
Macro-programming wireless sensor networks using Kairos
DCOSS'05 Proceedings of the First IEEE international conference on Distributed Computing in Sensor Systems
NodeMD: diagnosing node-level faults in remote wireless sensor systems
Proceedings of the 5th international conference on Mobile systems, applications and services
Proceedings of the 4th workshop on Embedded networked sensors
Programming models for sensor networks: A survey
ACM Transactions on Sensor Networks (TOSN)
The LiteOS Operating System: Towards Unix-Like Abstractions for Wireless Sensor Networks
IPSN '08 Proceedings of the 7th international conference on Information processing in sensor networks
FIT: A Flexible, LIght-Weight, and Real-Time Scheduling System for Wireless Sensor Platforms
DCOSS '08 Proceedings of the 4th IEEE international conference on Distributed Computing in Sensor Systems
Proceedings of the 6th ACM conference on Embedded network sensor systems
Visualizing the runtime behavior of embedded network systems: A toolkit for TinyOS
Science of Computer Programming
Eliminating the call stack to save RAM
Proceedings of the 2009 ACM SIGPLAN/SIGBED conference on Languages, compilers, and tools for embedded systems
Community sensor grids: virtualization for sharing across domains
Proceedings of the First Workshop on Virtualization in Mobile Computing
TOSThreads: thread-safe and non-invasive preemption in TinyOS
Proceedings of the 7th ACM Conference on Embedded Networked Sensor Systems
Slotted programming for sensor networks
Proceedings of the 9th ACM/IEEE International Conference on Information Processing in Sensor Networks
Running multi-sequence applications in wireless sensor networks
Proceedings of the 7th International Conference on Advances in Mobile Computing and Multimedia
Resource Modeling for Timed Creol Models
Electronic Notes in Theoretical Computer Science (ENTCS)
PicOS tuples: easing event based programming in tiny pervasive systems
Proceedings of the 7th International Workshop on Model-Based Methodologies for Pervasive and Embedded Software
Initiating a design pattern catalog for embedded network systems
EMSOFT '10 Proceedings of the tenth ACM international conference on Embedded software
Threads2Events: an automatic code generation approach
Proceedings of the 6th Workshop on Hot Topics in Embedded Networked Sensors
On coordination tools in the PicOS tuples system
Proceedings of the 2nd Workshop on Software Engineering for Sensor Network Applications
A case study in verification of embedded network software
NFM'12 Proceedings of the 4th international conference on NASA Formal Methods
A comprehensive compiler-assisted thread abstraction for resource-constrained systems
Proceedings of the 12th international conference on Information processing in sensor networks
Safe system-level concurrency on resource-constrained nodes
Proceedings of the 11th ACM Conference on Embedded Networked Sensor Systems
Hi-index | 0.00 |
Over the last several years, large-scale wireless mote networks have made possible the exploration of a new class of highly-concurrent and highly-distributed applications. As the horizon of what kinds of applications can be built on these networked embedded systems keeps expanding, there is a need to keep the activity of programming such systems easy, efficient, and scalable. We make three major contributions in this paper. First, we present a library for TinyOS and nesC that enables true multi-threading on a mote. This library includes support for all mote platforms in use currently (AVR, MSP). Second, we present a tool that can effectively and accurately compute stack requirements for multithreaded programs. Such analysis ensures that the stacks allocated to individual threads are correctly sized. Finally, we present a collection of programming abstractions that simplifies the construction of concurrent systems for the mote platform. We also present experimental results obtained from several example systems built using our concurrent programming abstractions and the underlying thread library.