AbstractProgramming a large network of embedded systems (NES) is an enormous challenge since all or subsets of nodes cooperate to achieve a particular goal. Recently proposed Spatial Programming makes networking transparent to the programmer by providing a consistent spatial and content-based naming scheme for spatially distributed network resources. In Spatial Programming, NES applications appear as simple sequential programs using spatial variables. However, for many NES applications the spatial programming model can be further abstracted, by factoring out the spatial scope from resource naming and expressing the execution iteratively within that scope. In this paper, we propose Spatial Views, a high-level abstraction for spatial programming which allows programs (iterators) to be executed over a dynamic set of nodes with similar properties and location. The execution of a spatial view iterator can be constrained by multiple conditions such as time, energy, etc., and hence, can terminate prematurely with a certain quality of result (QoR). In this paper, we also show how spatial view iterators can be translated into Smart Messages, a distributed computing programming environment for NES based on execution migration and self-routing.
RightsThis Item is protected by copyright and/or related rights.You are free to use this Item in any way that is permitted by the copyright and related rights legislation that applies to your use.For other uses you need to obtain permission from the rights-holder(s).