Spatial Computing: An Emerging Paradigm for Autonomic Computing and Communication
Lecture Notes in Computer Science
Emerging distributed computing scenarios call for novel "autonomic" approaches to distributed systems development and management. In this position paper we analyze the distinguishing characteristics of those scenarios, discuss the inadequacy of traditional paradigms, and elaborate on primary role of "space" in modern distributed computing. In particular, we show that spatial abstractions promise to be basic necessary ingredients for a novel "spatial computing" paradigm, acting as a unifying
... ework for autonomic computing and communication. On this base, we propose a preliminary "spatial computing stack" to frame the key concepts and mechanisms of spatial computing. Eventually, we try to sketch a research agenda in the area. failure of components (very likely e.g., in sensor networks and pervasive computing systems) and mobility of nodes (as e.g., in robot teams and in network of smart appliances). In addition, at the application level, software components can be of an ephemeral or temporary nature (consider e.g. the peers of a P2P network). • Situatedness: The activities of components will be strongly related to their location in either a physical or a virtual computational environment. On the one hand, situatedness can be at the very core of the application (e.g. in sensor networks and in pervasive computing systems the very goal is to exploit the physical location of nodes and their capabilities to collect environmental data and to improve our interaction with the physical world). On the other hand, situatedness can relate to the fact that components can take advantage of their environment to organize the access to distributed resources (as e.g., in P2P data sharing networks). The first two characteristics (large size and network dynamism) compulsory call for selforganizing and self-adapting approaches, enabling those systems to exhibit -both at the network and at the application level -autonomic behavior. In fact, if the dynamics of the network and of the environment compulsory require dynamic adaptation, the impossibility of enforcing a direct control over each component of the system implies that such adaptation must occur without any human intervention. The last characteristic, situatedness, calls for an approach that elects the environment, its spatial distribution, and its dynamics, to primary design dimensions, aspects which have been mostly disregarded by traditional approaches. In any case, the capability of self-organization and selfadaptation cannot abstract from the capability of the system of becoming "contextaware", i.e., of letting components to perceive the local properties of the space in which they are situated, and to act and adapt their behavior on this basis. Summarizing: all presented scenarios of distributed computing share very similar characteristics and all require novel approaches promoting both autonomic behavior and an explicit modeling of situatedness. On this base, one could imagine that a single general-purpose distributed computing and communication paradigm, suitable for a variety of scenarios and enabling to face a variety of problems in a uniform way can be conceived. Unfortunately, traditional distributed computing paradigm appears not suitable to this purpose.