Issue No. 04 - July/August (2011 vol. 37)
DOI Bookmark: http://doi.ieeecomputersociety.org/10.1109/TSE.2010.66
William Harrison , Software Structure Group
Siobhán Clarke , Lero and Trinity College Dublin, Ireland
Vinny Cahill , Lero and Trinity College Dublin, Ireland
Alexandre Bergel , University of Chile, Santiago
Wireless sensor networks necessitate a programming model different from those used to develop desktop applications. Typically, resources in terms of power and memory are constrained. C is the most common programming language used to develop applications on very small embedded sensor devices. We claim that C does not provide efficient mechanisms to address the implicit asynchronous nature of sensor sampling. C applications for these devices suffer from a disruption in their control flow. In this paper, we present FlowTalk, a new object-oriented programming language aimed at making software development for wireless embedded sensor devices easier. FlowTalk is an object-oriented programming language in which dynamicity (e.g., object creation) has been traded for a reduction in memory consumption. The event model that traditionally comes from using sensors is adapted in FlowTalk with controlled disruption, a light-weight continuation mechanism. The essence of our model is to turn asynchronous long-latency operations into synchronous and blocking method calls. FlowTalk is built for TinyOS and can be used to develop applications that can fit in 4 KB of memory for a large number of wireless sensor devices.
Embedded systems, object-based programming.
William Harrison, Siobhán Clarke, Vinny Cahill, Alexandre Bergel, "FlowTalk: Language Support for Long-Latency Operations in Embedded Devices", IEEE Transactions on Software Engineering, vol. 37, no. , pp. 526-543, July/August 2011, doi:10.1109/TSE.2010.66