ACM Transactions on Computer Systems (TOCS)
System architecture directions for networked sensors
ASPLOS IX Proceedings of the ninth international conference on Architectural support for programming languages and operating systems
Forming interactivity: a tool for rapid prototyping of physical interactive products
DIS '02 Proceedings of the 4th conference on Designing interactive systems: processes, practices, methods, and techniques
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
Hints for computer system design
SOSP '83 Proceedings of the ninth ACM symposium on Operating systems principles
Xen and the art of virtualization
SOSP '03 Proceedings of the nineteenth ACM symposium on Operating systems principles
An analysis of a large scale habitat monitoring application
SenSys '04 Proceedings of the 2nd international conference on Embedded networked sensor systems
Architecture and evaluation of an unplanned 802.11b mesh network
Proceedings of the 11th annual international conference on Mobile computing and networking
Proceedings of the 3rd international conference on Embedded networked sensor systems
Sympathy for the sensor network debugger
Proceedings of the 3rd international conference on Embedded networked sensor systems
Telos: enabling ultra-low power wireless research
IPSN '05 Proceedings of the 4th international symposium on Information processing in sensor networks
XORs in the air: practical wireless network coding
Proceedings of the 2006 conference on Applications, technologies, architectures, and protocols for computer communications
Reflective physical prototyping through integrated design, test, and analysis
UIST '06 Proceedings of the 19th annual ACM symposium on User interface software and technology
Funneling-MAC: a localized, sink-oriented MAC for boosting fidelity in sensor networks
Proceedings of the 4th international conference on Embedded networked sensor systems
A distributed hash table
Interface contracts for TinyOS
Proceedings of the 6th international conference on Information processing in sensor networks
A modular network layer for sensornets
OSDI '06 Proceedings of the 7th USENIX Symposium on Operating Systems Design and Implementation - Volume 7
Experiences building PlanetLab
OSDI '06 Proceedings of the 7th USENIX Symposium on Operating Systems Design and Implementation - Volume 7
Fidelity and yield in a volcano monitoring sensor network
OSDI '06 Proceedings of the 7th USENIX Symposium on Operating Systems Design and Implementation - Volume 7
PPR: partial packet recovery for wireless networks
Proceedings of the 2007 conference on Applications, technologies, architectures, and protocols for computer communications
Integrating concurrency control and energy management in device drivers
Proceedings of twenty-first ACM SIGOPS symposium on Operating systems principles
Visibility: a new metric for protocol design
Proceedings of the 5th international conference on Embedded networked sensor systems
Proceedings of the 6th ACM conference on Embedded network sensor systems
Ultra-low power data storage for sensor networks
ACM Transactions on Sensor Networks (TOSN)
The Tenet architecture for tiered sensor networks
ACM Transactions on Sensor Networks (TOSN)
Proceedings of the 8th ACM Conference on Embedded Networked Sensor Systems
Efficient system-enforced deterministic parallelism
OSDI'10 Proceedings of the 9th USENIX conference on Operating systems design and implementation
Proceedings of the 9th ACM Conference on Embedded Networked Sensor Systems
Safe system-level concurrency on resource-constrained nodes
Proceedings of the 11th ACM Conference on Embedded Networked Sensor Systems
SEC'13 Proceedings of the 22nd USENIX conference on Security
Hi-index | 0.00 |
When first written in 2000, TinyOS's users were a handful of academic computer science researchers. A decade later, TinyOS averages 25,000 downloads a year, is in many commercial products, and remains a platform used for a great deal of sensor network, low-power systems, and wireless research. We focus on how technical and social decisions influenced this success, sometimes in surprising ways. As TinyOS matured, it evolved language extensions to help experts write efficient, robust systems. These extensions revealed insights and novel programming abstractions for embedded software. Using these abstractions, experts could build increasingly complex systems more easily than with other operating systems, making TinyOS the dominant choice. This success, however, came at a long-term cost. System design decisions that seem good at first can have unforeseen and undesirable implications that play out over the span of years. Today, TinyOS is a stable, self-contained ecosystem that is discouraging to new users. Other systems, such as Arduino and Contiki, by remaining more accessible, have emerged as better solutions for simpler embedded sensing applications.