Self-Healing Protocols Project home page
Project Description
The goal of this research project is to develop protocol implementations with inherent self-healing functionality. We wish to obtain intrinsically robust protocol implementations where errors can occur in the "core" protocol implementation as well as in the detection and correction part. The software must be able to detect and replace misbehaving software parts at run time, while continuing to provide the service, although perhaps less efficiently during the transitory repair phase.
In todays protocols, these activities are mostly handled manually, where network managers monitor the network for anomalous performance or react on user complaints about service disruptions. Resilient and self-healing protocols would enable safe automated installation of new protocols, protocol upgrade, run-time customization of protocols to adapt to different network situations, distributed protocol implementations in sensor networks and using small and potentially unreliable components like spray computers, but also at the application level where management protocols must provide continuous and resilient network services.
This project is funded by the Swiss National Science Foundation (SNF).
Approach
We are currently looking for bio-inspired methods to obtain self-healing properties for software modules. Biological systems are inherently robust to external perturbation and to failure of its constituent parts. At the molecular level in cells, biochemical reaction networks are responsible for maintaining the various cellular functions by autocatalytic reactions.
Currently, we explore how to build autocatalytic computer programs. We hope that the resulting software will show similar emergent self-healing properties like in biological systems. The basic idea is to group instructions in autocatalytic sets that constantly rewrite themselves. After successful execution of a certain operation, the operation replicates itself. Like this, successful operations are able to survive whereas defective operations are eventually replaced by the growing population of correct ones.
We are using the Fraglets language as a tool to carry out initial experiments. Fraglets implements a chemical reaction model where computations are carried out by having code and data "react" with each other.
People
Thomas Meyer |
Christian Tschudin |
Lidia Yamamoto |
Publications
Thomas Meyer, Christian Tschudin:
"Robust Network Services with Distributed Code Rewriting" |
|
Thomas Meyer, Christian Tschudin: |
|
Thomas Meyer:
"On Chemical and Self-Healing Networking Protocols" |
|
Thomas Meyer, Christian Tschudin:
"Competition and Cooperation of Self-Healing Software" |
|
Thomas Meyer, Christian Tschudin:
"Self-Organizing Code-Level Redundancy for Networking Protocols" | |
Lidia Yamamoto, Thomas Meyer:
"Biochemically-Inspired Emergent Computation" |
|
Christian Tschudin, Thomas Meyer:
"Programming by Equilibria" |
|
Thomas Meyer, Christian Tschudin:
"Chemical Networking Protocols" |
|
Thomas Meyer, Lidia Yamamoto, Wolfgang Banzhaf, Christian Tschudin:
"Elongation Control in an Algorithmic Chemistry" |
|
Thomas Meyer, Lidia Yamamoto, Christian Tschudin:
"A Self-Healing Multipath Routing Protocol" |
|
Thomas Meyer, Daniel Schreckling, Christian Tschudin, Lidia Yamamoto:
"Robustness to Code and Data Deletion in Autocatalytic Quines" |
|
Thomas Meyer, Lidia Yamamoto, Christian Tschudin:
"An Artificial Chemistry for Networking" |
|
Lidia Yamamoto, Daniel Schreckling, Thomas Meyer:
"Self-Replicating and Self-Modifying Programs in Fraglets" |
Page updated: 2011-03-27, Computer Networks Group [cn.cs.unibas.ch]