2007 · 12 citations · 23 references
ComputingComputer EngineeringComputer ScienceCompilersProgramming LanguagesSystems ProgrammingConcurrent ProgrammingInterprocess CommunicationNetwork ProgrammingSensor NetworksWireless Sensor NetworksCompiler DesignConcurrency HandlingConcurrency ModelsExecution ModelHierarchical State MachinesResource LimitationsSensor NodesState Machines
Programming Wireless Sensor Network (WSN) applications is known to be a difficult task. Part of the problem is that the resource limitations of typical WSN nodes force programmers to use relatively low-level techniques to deal with the logical concurrency and asynchronous event handling inherent in these applications. In addition, existing general-purpose, node level programming tools only support the networked nature of WSN applications in a limited way and result in application code that is hardly portable across different software platforms. All of this makes programming a single device a tedious and error-prone task. To address these issues we propose a high-level programming model that allows programmers to express applications as hierarchical state machines and to handle events and application concurrency in a way similar to imperative synchronous languages. Our program execution model is based on static scheduling what allows for standalone application analysis and testing. For deployment, the resulting programs are translated into efficient sequential C code. A prototype compiler for TinyOS has been implemented and its evaluation in described in this paper.
23
Statecharts: a visual formalism for complex systems
David Harel · Science of Computer Programming · 1987 · 6.7K citations
Philip Levis, Nelson Lee, Matt Welsh et al. · 2003 · 2K citations
David Gay, Philip Levis, Robert von Behren et al. · ACM SIGPLAN Notices · 2014 · 1.7K citations