120 likes | 229 Vues
This work explores a biologically inspired programming model designed for self-healing systems, drawing from natural processes and cellular automata. The model reflects how biological cells sense their surroundings and communicate via chemical diffusion. It highlights concepts such as redundancy, decentralized processes, and self-awareness. The study provides insights into implementing these principles in programming, targeting efficient system recovery and resilience. Learnings from nature's engineering solutions are emphasized, encouraging the application of biological strategies to technological challenges.
E N D
A Biologically Inspired Programming Modelfor Self-Healing Systems David Evans Computer Science Lance Davidson Biology Selvin George Computer Science U N I V E R S I T Y O F V I R G I N I A Selvin George
Self Healing in Nature Selvin George
Diffusion – Local Communication Cells are aware of surroundings by sensing chemicals emitted by other cells Selvin George
Nature’s Programs – Observations • Aware • Of self • Of environment • Redundant • Decentralized • Expressive • Human program – 3 billion base pairs (~250MB) • Two human programs differ by about 0.5MB (< 1% of Windows 2000) Selvin George
Our Programming Model • Similar to cellular automata • Simple chemical diffusion model • Correspondence to biological cells • Genes turn on and off state changes • Emit different chemicals depending on state • Change state based on sensed chemicals • Cells can divide asymmetrically Selvin George
state s1 { emits (a, 0.1) transitions (0 <= a <= 0.375) -> (s2, s2) axis; -> (s1); } state s2 { emits (a, 0.1) transitions (0 <= a <= 0.375) -> (s3, s3) normal-X; -> (s2); } state s3 { emits (a, 0.1) transitions (0 <= a <= 0.375) -> (s1, s1) normal-Y; -> (s3); } Blastula Program s1 a s2 a s3 a Selvin George
Self-Healing Blastula state s1 { emits (a, 0.1) transitions (0 <= a <= 0.375) -> (s2, s2) axis; -> (s1); } state s2 { emits (a, 0.1) transitions (0 <= a <= 0.375) -> (s3, s3) normal-X; -> (s2); } state s3 { emits (a, 0.1) transitions (0 <= a <= 0.375) -> (s1, s1) normal-Y; -> (s3); } Kill Cell Selvin George
Distributed Wireless File ServiceFile Distribution and Update Server inhibit replicate Selvin George
Distributed Wireless File ServiceFile Distribution and Update Selvin George
DWFS Simulation Purple Nodes – store File 1 Concentric Circles – Inhibit/Replicate Green Circle – File Request White Circle – Server Response Selvin George
Mantra • Biology has killed trillions of organisms over millions of years to solve complex engineering problems • Engineers should be able to learn from these solutions • Simulator available: http://swarm.cs.virginia.edu/cellsim Selvin George