On self-healing digital system design
Introduction
Living organisms exhibit a unique range of complex characteristics such as evolution, adaptation and self-healing. The fundamental units of living organisms are cells; each cell contains the gene of the organism. In most biological systems a gene is a sequence of four nitrogen bases joined together in a chain. The names of the nitrogen bases (Adenine, Cytosine, Guanine, and Thymine) are usually shortened to A, C, G, and T. A chain of any number of A, C, G, and T bases in any order are known as a DNA. Thus, genes contain information encoded as sequences of A, C, G, and T bases. This information, called the genetic code, is decoded by special structures within the cells of an organism to determine the function of a cell. In recent years there has been significant growth of interest in exploiting the principles of biological processes to create powerful methodologies known as biologically-inspired approaches for solving computational problems.
This paper provides an overview of some of the work done so far in incorporating two very important characteristics of living organisms-self-replication and self-healing-in digital systems. It also proposes a new approach for designing self-healing systems. The concept of self-healing known as fault-tolerance to digital system designers is well known but the same is in general not true for self-replication. This paper is organized as follows. Section 2 discusses the classification of biologically-inspired systems and a model that has been proposed for such systems. Section 3 focuses on some earlier efforts in extending biological concepts to digital system design. Section 4 discusses the work done so far in imitating self-replication in silicon-based systems. Section 5 concentrates on how self-healing can be introduced in two-dimensional silicon structures. An architecture for implementing self-healing digital systems based on the concepts of human immune system, is proposed in Section 6. Section 7 contains the conclusions and suggestions for future work.
Section snippets
POE model
Sipper et al. [1] proposed a model known as the POE model to classify biologically-inspired systems as one of the following: Phylogenetic, Ontogenetic and Epigenetic. Fig. 1 shows the model. A phylogenetic system imitates the processes involved in the evolution of organisms through time. The process of evolution is based on alteration of genetic information through the mechanisms of crossover and mutation. Both of these contribute to the diversity of species; this diversity is indispensable for
Embryonics
A biologically inspired approach that utilizes the ontogenetic paradigm of the POE model has been proposed for designing arbitrary digital circuits by Menge et al. [9] and Marchal et al. [10]. This approach is called embryonics (embryology and electronics). Since living organisms are carbon-based, it is not possible to extend directly the concepts behind some of the mechanisms used by living organisms to digital circuits which are in general silicon-based. Thus, the objective of embryonics has
Self-replication
The possibility of a digital system creating copies of itself was first explored by Von Neumann. He proposed the idea of Cellular Automata (CA) to show that a universal computer, whose computational complexity is equivalent to that of a universal Turing machine [13], can be embedded in a CA. A CA consists of an n-dimensional (in general n is 1 or 2 but rarely 3) array of cells, each of which can be in one of a finite number of k possible states. Each cell is connected to m surrounding
Self-healing
As mentioned earlier one of the key features of a biological system is its ability to self-heal. This allows regrowth of a healthy cell at the site of a damaged cell, thus providing robustness to living organisms. Obviously true self-healing is possible only in carbon-based biological systems not in silicon-based digital systems. Mange et al. [10] have shown that if an FPGA system embryonic array has spare cells, then a damaged cell can be replaced by a healthy spare one. All cells in the array
Human-immune system inspired self-healing
The immune system consists of white blood cells called lymphocytes that detect the antigens and destroy them [3]. There are millions of lymphocytes in a human body that are distributed throughout the body, and there is no centralized control. The immune system recognizes specific antigens using a certain subset of lymphocytes, called B-cells [3], [19]. There is another subset of lymphocytes called killer T-cells, which help the B-cells in detecting and eliminating the antigens. The B-cell locks
Functional cell
A functional cell implements a logic function of three input variables and transfers its output to three other adjacent functional cells. The block diagram of the functional cell is shown in Fig. 6; it is a modified version of the functional cell proposed in Ref. [18]. It is composed of a 6-bit control register, tri-state buffers and a logic block. The contents of the control register in a functional cell may be considered as the genetic code of the functional cell. The code identifies the
Router cell
A router cell, as indicated earlier, is used to transfer the output of an internal cell to the input of another cell. The design of the router cell is shown in Fig. 11. It is composed of a buffer, a 3-to-8 decoder, and a programmable control register. The buffer output, identified as XYZ, corresponds to the contents of the control register and is fed to the decoder. The output of the decoder activates the appropriate output line. The content of the control register activates the output line
Spare cell
A spare cell is similar to a functional cell in its structure. Any available spare cell located in the NORTH or SOUTH or EAST or WEST of a functional cell can be selected as its spare. The control register in a spare cell, pre-selected to replace a functional cell, is enabled if the functional cell generates an error signal. The control register in the spare cell is then loaded with the contents of the control register of the faulty functional cell. In the human immune system a T-cell kills an
Conclusion
This paper presented a general discussion of how two important characteristics of biological organisms-self-propagation and self-healing-can be utilized in digital system design. As far as the authors are aware of currently there is no formal technique available for generating an automata capable of self-replication in a finite two-dimensional array.
True self-healing is possible only in carbon-based biological systems, not in silicon-based digital systems. However, self-diagnosis of damaged
References (26)
Self-reproduction in cellular automata
Physica
(1984)A phylogenetic, ontogenetic, and epigenetic view of bio-inspired hardware systems
IEEE Trans. Evol. Comput.
(1997)Phylogeny, ontogeny, and epigenesis: three sources of biological inspiration for softening hardware
- A. Somayaji, S. Hofmeyr, S. Forrest, Principles of a Computer Immune System, 1997, New Security Paradigms Workshop,...
- et al.
Evolution and learning in autonomous robotic agents
- T. Higuchi et al., Hardware Evolution at Gate and Function Levels, Proceedings Biologically Inspired Autonomous...
Automated synthesis of analog electrical circuits by means of genetic programming
IEEE Transactions on Evolutionary Computation
(1997)Neural Networks
(1994)Embryonics: a new family of coarse-grained Field-Programmable Gate Array with self-repair and self-producing properties