Santa Fe Institute

Information Processing & Computation in Complex Systems

Biologically Inspired Solutions to Computational Problems

The explosive growth of the Internet has created new opportunities and risks by increasing the number of contacts between separately administered computing resources. Widespread networking and mobility has blurred many traditional computer system distinctions, including those between operating system and application, network and computer, user and administrator, and program and data. An increasing number of executable codes, including applets, agents, viruses, email attachments, and download-able software, are escaping the confines of their original systems and spreading through communications networks. These programs coexist and co-evolve with us in our world, not always to good effect.  Computers are routinely disabled by network-borne infections, browsers crash due to unforeseen interactions between an applet and a language implementation, and applications are broken by operating system upgrades. SFI Professor Stephanie Forrest and colleagues refer to this situation as “computation in the wild”, to capture the fact that software is developed, distributed, stored, and executed in rich and dynamic environments populated by other programs and computers, which collectively form a hardware/software ecosystem. Consequently, Forrest believes that networked computer systems can be better understood, developed, and controlled when viewed from the perspective of living systems, as opposed to the perspective of conventional software and hardware engineering principles.

Taking seriously the analogy between computer systems and living systems requires rethinking several aspects of the computing infrastructure—developing design strategies from biology, constructing software that can survive in the wild, understanding the current software ecosystem, and recognizing that all nontrivial software must evolve. There are deep connections between computation and life, so much so that in some important ways, “living computer systems” are already pervasive, and moreover, such systems are spreading rapidly and will have major impact on human life and society in the future. Such biologically inspired approaches to computation and computer security have led to ideas such as “computational immune systems” and hardware/software that emphasize autonomy, robustness, adaptation, self-repair, redundancy, diversity, and even disposable components. The value of diversity in current hardware and software “monoculture” is becoming mainstream, as evidenced by Microsoft Corporation’s recent announcement that a simple form of diversity termed “address space randomization” will be incorporated into Vista, the next generation of the Windows operating system. Research by Forrest and others at SFI focuses on techniques for promoting computational diversity in the communication and application layers of computer systems as well in lower-level component layers (e.g. instruction sets and memory layouts). Forrest is also pursuing the possibility of using evolutionary computation techniques from biological systems to produce software diversity within a single standard.

Back to Information Processing & Computation in Complex Systems