• DocumentCode
    168502
  • Title

    Context-Oriented Programming for Adaptive Wireless Sensor Network Software

  • Author

    Afanasov, Mikhail ; Mottola, Luca ; Ghezzi, Carlo

  • Author_Institution
    Politec. di Milano, Milan, Italy
  • fYear
    2014
  • fDate
    26-28 May 2014
  • Firstpage
    233
  • Lastpage
    240
  • 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;
  • fLanguage
    English
  • Publisher
    ieee
  • Conference_Titel
    Distributed Computing in Sensor Systems (DCOSS), 2014 IEEE International Conference on
  • Conference_Location
    Marina Del Rey, CA
  • Type

    conf

  • DOI
    10.1109/DCOSS.2014.31
  • Filename
    6846170