Towards Self-ware via Swarm-Array Computing Blesson Varghese and Gerard McKee AbstractThe work reported in this paper proposes Swarm-Array computing, a novel technique inspired by swarm robotics, and built on the foundations of autonomic and parallel computing. The approach aims to apply autonomic computing constructs to parallel computing systems and in effect achieve the self-ware objectives that describe self-managing systems. The constitution of swarm-array computing comprising four constituents, namely the computing system, the problem/task, the swarm and the landscape is considered. Approaches that bind these constituents together are proposed. Space applications employing FPGAs are identified as a potential area for applying swarm-array computing for building reliable systems. The feasibility of a proposed approach is validated on the SeSAm multi-agent simulator and landscapes are generated using the MATLAB toolkit. KeywordsSwarm-Array computing, Autonomic computing, landscapes. I. INTRODUCTION ESEARCHERS in the field of computing are often inspired by ideas from nature. The approach of abstracting good design from nature is referred to as biomimetics [1]. In the context of computing, biomimetics has resulted in the emergence of relatively new computing paradigms, cited as biologically-inspired computing [2]. For example, amorphous computing is inspired from a colony of cells operating to form a multi-cellular organism based on a genetic program shared by the members of the colony [3]. Evolutionary computing is inspired from biological evolution mechanisms on a population of individuals [4]. Autonomic computing is also one such biologically-inspired computing paradigm based on human autonomic nervous system [2] that will be the focus of this paper. Autonomic computing is a visionary paradigm for developing large scale distributed systems [11]. There are mainly two perspectives, namely business and research oriented perspectives that provide a bird’s-eye view of the paradigm. Firstly, from a business oriented perspective, autonomic computing was proposed by IBM for better management of increasingly complex computing systems and reduce the total cost of ownership of systems today [5] [6]. Autonomic computing solutions hence aims to reallocate management responsibilities from administrators to the computing systems itself based on high-level policies [7, 8]. With the aim to implement autonomic principles in personal computing environments, personal autonomic computing, a subset of autonomic computing has also emerged [9]. Blesson Varghese is a research student with the Active Robotics Laboratory, School of Systems Engineering, University of Reading, Reading, Berkshire, United Kingdom, RG6 6AY.(e-mail: hx019035@ reading.ac.uk). Gerard T. McKee is Senior Lecturer in Networked Robotics, School of Systems Engineering, University of Reading, Reading, Berkshire, United Kingdom, RG6 6AY. (e-mail:g.t.mckee@reading.ac.uk). Secondly, the research oriented perspective primarily focuses on the worms-eye view, laying necessary foundations for the newly emerging computing paradigm. There are two categories of ongoing research in the area of autonomic computing. Firstly, research describing approaches and technologies related to autonomic computing [10]. The aim of the approaches is to achieve autonomy without specifying the technology to be implemented [11]. Any existing technology capable of achieving autonomy (in any degree) can be used in the approaches. Secondly, research attempting to develop autonomic computing as a unified project [10]. The research lays emphasis on the means to achieve autonomy and initiatives are taken to define a set of standard practices and methods as the path towards autonomy. The aim of autonomic computing paradigm is to achieve autonomy in computing systems. The word autonomy has broad meanings in a philosophical and physiological context. In general, the autonomy of an entity can be referred to as the integrated ability of cognition and mobility [12]. Perception and learning are closely associated with cognition resulting in planning, inference and decision making. For example, gaining information from the environment is one such cognitive capability of an entity resulting in some inference about its environment. On the other hand, mobility refers to the capability of an entity to move around in an environment. It is worthwhile to note that cognition and mobility are complementing abilities. An entity can achieve higher degree of mobility in an environment due to its complementing cognitive capability, and higher degree of cognitive capabilities due to its complementing mobility. Autonomy from the research perspective of autonomic computing is defined by self-management [10], and is characterized by four objectives and four attributes. The objectives and attributes that contribute to self-management are not independent functions. The objectives considered are [13]: (a) Self-configuration – the capability of a computing system to automatically adapt to changes in the existing physical topology and software environment. The system must be also capable to seamlessly integrate new system components [15]. Self-configuring systems are expected to increase resource availability [14]. (b) Self-healing - the capability of a computing system to recuperate from faults and loss. Constant and consistent monitoring of the computing system is required to detect faults and loss [14]. (c) Self-optimizing – the R World Academy of Science, Engineering and Technology 54 2009 178