240 likes | 251 Views
This paper explores a programming model inspired by biological cells and their ability to self-heal. It discusses the use of simple chemical diffusion models and state changes based on sensed chemicals, mimicking the behavior of biological cells. The model allows for asymmetric cell division and can be applied to self-healing systems. Related work and other biologically inspired programming models are also discussed.
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
Diffusion – Local Communication Cells are aware of surroundings by sensing chemicals emitted by other cells 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
Related Work • Amorphous Computing • Engineering of emergent order: to identify the engineering principles and languages that can be used to observe, control, organize, and exploit the behavior of programmable multitudes (MIT) • Growing Point Language • Origami Shape Language • Chemical Abstract Machine • Santa Fe Swarm Simulator Selvin George
Origami Shape Language – (1)(Radhika Nagpal’s PhD Defense) Selvin George
Origami Shape Language – (2) Selvin George
Origami Shape Language – (3) Selvin George
Origami Shape Language – (4) Selvin George
Origami Shape Language – (5) Selvin George
Origami Shape Language – (6) Selvin George
Origami Shape Language – (7) Selvin George
Origami Shape Language – (8) Selvin George
Swarm.org(Santa Fe – Project Swarm) • advance the state-of-the-art in multi agent based simulation through the continued advancement of the Swarm Simulation System and support of the Swarm user community • Demos • Sorting Ant • Market Pricing Selvin George