A Biological Programming Model for Self-Healing

Selvin George, David Evans and Steven Marchette
First ACM Workshop on Survivable and Self-Regenerative Systems , October 31, 2003.

Biological systems exhibit remarkable adaptation and robustness in the face of widely changing environments. By adopting properties of biological systems, we hope to design systems that operate adequately even in the presence of catastrophic failures and large scale attacks. We describe a programming paradigm based on the actions of biological cells and demonstrate the ability of systems built using our model to survive massive failures. Traditional methods of system design require explicit programming for fault tolerance, which adds substantial costs and complexity to the design, implementation and testing phases. Our approach provides implicit fault tolerance by using simple programs constructed following guiding principles derived from observing nature. We illustrate our model with experiments producing simple structures and apply it to design a distributed wireless file service for ad hoc wireless networks.

Complete Paper (10 pages) [PDF]

Swarm Project Page

CS 655 David Evans - Publications
University of Virginia
Department of Computer Science
David Evans