|Thesis abstract: |
The processing in Wireless Sensor Network (WSN) applications is often intimately tied to the environment the system is immersed in. We argue that promoting a notion of context as a first-class citizen in WSN programming facilitates the design and implementation of environment-dependent functionality. Context here indicates ¿any information that can be used to characterize the situation of an entity, where an entity can be a person, place, or physical object¿. In this work, we leverage concepts of Context-Oriented Programming (COP) to support programmers in developing software that can dynamically change its behavior depending on context information.
While COP commonly used in high-level languages, such as Java and Python, our goal is to bring COP to the low-level languages for WSN. It is, however, accompanied by several challenges:
¿ In WSNs different context information can have complex interactions and interconnections; it is then necessary to use custom abstractions and expressly tailored programming techniques.
¿ Traditional WSN programming languages favor static memory management and lack features such as object-orientation and dynamic programming; therefore, COP approaches designed for high-level languages like Java or Python are not directly applicable.
¿ WSN platforms feature constrained hardware resources, such as small amounts of memory, limited computation facilities, and power consumption constraints; the solution to the challenges above must thus live within such limitations.
Our work aims at addressing these challenges and proposing possible ways of bringing COP to WSN programming.