Hybrid Macroprogramming Wireless Networks of Embedded Systems with Declarative Naming
Wireless Networks of Embedded Systems (WNES) are notoriously difficult and tedious to program. The difficulty is mostly originated from low-level details in system and network programming. This includes distributedly managing and accessing resources from a dynamic set of nodes in hostile and volatile networks. To simplify WNES programming, the authors propose Declarative Resource Naming (DRN) that abstracts out the mentioned low-level details by programming a WNES in the large (i.e., macro-programming). DRN provides programming simplicity, expressiveness, tunability, on-the-fly re-programmability, and in-network data aggregation for energy savings. None of existing macro-programming paradigms supports all of the mentioned features. Furthermore, DRN is an integration of declarative and imperative programming. The low-level details are declaratively abstracted out, but the main algorithm remains procedural.