360 likes | 456 Views
Self-Healing Structures Using Cell Induction. Selvin George. Mickey lived a carefree life…. Until one fateful day…. Oh Poor Mickey… Write you a better program I must!. Understanding Nature’s System Model. Large number of un-reliable cells No unique ID, global position etc.,
E N D
Self-Healing StructuresUsing Cell Induction Selvin George CS851: Bio-Inspired Computing
Mickey lived a carefree life… CS851: Bio-Inspired Computing
Until one fateful day… Oh Poor Mickey… Write you a better program I must! CS851: Bio-Inspired Computing
Understanding Nature’s System Model • Large number of un-reliable cells • No unique ID, global position etc., • No global communication • Physics and Chemistry • No gravity, simple chemical reactions • Single Program on each cell …Swarm Programming CS851: Bio-Inspired Computing
Understanding Nature’sCell Model • Awareness of Environment • Sense chemicals on cell walls • Cell Actions • Cell Division • State Change • Emit chemicals to neighbors cell walls • Diffuse chemicals over a short range • Simple forces to model cell displacement • Chemicals can nullify each other • (A, 1) + (B, 0.5) -> (A, 0.5) + (salt, 0.5) CS851: Bio-Inspired Computing
Devise a betterProgramming Model • A can induce B by short range diffusion of chemicals • A and C can induce B by emitting chemicals across their cell walls • Induced Cell can perform actions dependent upon the direction of induction B A A B C C C A B C C CS851: Bio-Inspired Computing
A alive < 1 B alive > 0 alive < 1 & A > 1 Example – Sphere Program state A { emits (alive, 1) diffuses (A, 10) transitions (alive < 1) from any direction -> (A, B) in same direction; -> (A); } state B { emits (alive, 1) transitions (alive < 1) from any direction & (A > 1) -> (B, B) in same direction; (alive > 0) from any direction -> (B); -> (A); } CS851: Bio-Inspired Computing
Sphere Development - 1 CS851: Bio-Inspired Computing
Sphere Development - 2 CS851: Bio-Inspired Computing
Sphere Development - 3 CS851: Bio-Inspired Computing
Sphere Development - 4 CS851: Bio-Inspired Computing
Sphere : Damage (66%) CS851: Bio-Inspired Computing
Sphere Healing - 1 CS851: Bio-Inspired Computing
Sphere Healing - 2 CS851: Bio-Inspired Computing
Sphere Healing - 3 CS851: Bio-Inspired Computing
Sphere Healing - 4 CS851: Bio-Inspired Computing
Performance of Sphere Program CS851: Bio-Inspired Computing
Meanwhile … Ahem! How is my program going? CS851: Bio-Inspired Computing
A Quick look Mesh Program state corner { emits (A, 5), (alive, 1) in all directions transitions (alive < 1) from any direction -> (corner, segment) in same direction; -> (corner); } state segment { emits (alive, 1) in all directions transitions (A > 0) from any direction & (alive > 0) from opposite direction -> (segment) emits (A - 1) in all directions; (A > 0) from any direction -> (segment, segment) in opposite direction emits (A - 1) in opposite direction; (A = 0) -> (corner); } CS851: Bio-Inspired Computing
Mesh – Developed CS851: Bio-Inspired Computing
Mesh – Damaged CS851: Bio-Inspired Computing
Mesh – Healed CS851: Bio-Inspired Computing
The Mickey Skeleton CS851: Bio-Inspired Computing
Mickey : Development – 1 CS851: Bio-Inspired Computing
Mickey : Development – 2 CS851: Bio-Inspired Computing
Mickey : Development – 3 CS851: Bio-Inspired Computing
Mickey : Development – 4 CS851: Bio-Inspired Computing
Mickey : Injured CS851: Bio-Inspired Computing
Mickey : Healing – 1 CS851: Bio-Inspired Computing
Mickey : Healing – 2 CS851: Bio-Inspired Computing
Mickey : Healing – 3 CS851: Bio-Inspired Computing
Mickey : Healing – 4 CS851: Bio-Inspired Computing
Applications: Distributed Wireless File Service • File Replication • Node possessing file emits inhibit (shorter-range) and replicate • Node receiving replicate but not inhibit replicate the file • File Request/Response • Node requests a file • Typically one server responds. CS851: Bio-Inspired Computing
Conclusions • Nature’s programs can heal and regenerate lost components • System designers can learn principles of robustness from nature’s programs • Simplify the task of programming robust systems • Cell Based Programming • Cell Induction CS851: Bio-Inspired Computing
All’s well that ends well CS851: Bio-Inspired Computing
Questions and Answers CS851: Bio-Inspired Computing