Title :
Context-Oriented Programming for Adaptive Wireless Sensor Network Software
Author :
Afanasov, Mikhail ; Mottola, Luca ; Ghezzi, Carlo
Author_Institution :
Politec. di Milano, Milan, Italy
Abstract :
We present programming abstractions for implementing adaptive Wireless Sensor Network (WSN) software. The need for adaptability arises in WSNs because of unpredictable environment dynamics, changing requirements, and resource scarcity. However, after about a decade of research in WSN programming, developers are still left with no dedicated support. To address this issue, we bring concepts from Context-Oriented Programming (COP) down to WSN devices. Contexts model the situations that WSN software needs to adapt to. Using COP, programmers use a notion of layered function to implement context-dependent behavioral variations of WSN code. To this end, we provide language-independent design concepts to organize the context-dependent WSN operating modes, decoupling the abstractions from their concrete implementation in a programming language. Our own implementation, called CONESC, extends nesC with COP constructs. Based on three representative applications, we show that CONESC greatly simplifies the resulting code and yields increasingly decoupled implementations compared to nesC. For example, by model-checking every function in either implementations, we show a ~50% reduction in the number of program states that programmers need to deal with, indicating easier debugging. In our tests, this comes at the price of a maximum 2.5% (4.5%) overhead in program (data) memory.
Keywords :
computerised instrumentation; formal verification; object-oriented programming; wireless sensor networks; CONESC; COP constructs; Context-Oriented Programming; WSN changing requirements; WSN environment dynamics; WSN resource scarcity; WSN software; adaptive wireless sensor network software; context-dependent WSN operating modes; context-dependent behavioral code variations; context-oriented programming; debugging; language-independent design concepts; layered function notion; model-checking; nesC; program data memory; programming language; Batteries; Context; Global Positioning System; Programming; Software; Wildlife; Wireless sensor networks; context; embedded; languages; programming; self-adaptivity; sensor networks;
Conference_Titel :
Distributed Computing in Sensor Systems (DCOSS), 2014 IEEE International Conference on
Conference_Location :
Marina Del Rey, CA
DOI :
10.1109/DCOSS.2014.31