Safe system-level concurrency on resource-constrained nodes

  • Authors:
  • Francisco Sant'Anna;Noemi Rodriguez;Roberto Ierusalimschy;Olaf Landsiedel;Philippas Tsigas

  • Affiliations:
  • PUC-Rio, Brazil;PUC-Rio, Brazil;PUC-Rio, Brazil;Chalmers University of Technology, Sweden;Chalmers University of Technology, Sweden

  • Venue:
  • Proceedings of the 11th ACM Conference on Embedded Networked Sensor Systems
  • Year:
  • 2013

Quantified Score

Hi-index 0.00

Visualization

Abstract

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.