Communications of the ACM
Programmable self-assembly: constructing global shape using biologically-inspired local interactions and origami mathematics
Topology based automation of distributed applications management
WOSP '04 Proceedings of the 4th international workshop on Software and performance
Review and analysis of synthetic diversity for breaking monocultures
Proceedings of the 2004 ACM workshop on Rapid malcode
A biological programming model for self-healing
Proceedings of the 2003 ACM workshop on Survivable and self-regenerative systems: in association with 10th ACM Conference on Computer and Communications Security
Self-Management: The Solution to Complexity or Just Another Problem?
IEEE Distributed Systems Online
Dealing with failures during failure recovery of distributed systems
DEAS '05 Proceedings of the 2005 workshop on Design and evolution of autonomic application software
Adaptive integration of third-party web services
DEAS '05 Proceedings of the 2005 workshop on Design and evolution of autonomic application software
A commensalistic software system
Companion to the 21st ACM SIGPLAN symposium on Object-oriented programming systems, languages, and applications
Designing multi-layers self-adaptive complex applications
Fourth international workshop on Software quality assurance: in conjunction with the 6th ESEC/FSE joint meeting
Time-bounded adaptation for automotive system software
Proceedings of the 30th international conference on Software engineering
Towards autonomic service-oriented applications
International Journal of Autonomic Computing
Ensuring interoperable service-oriented systems through engineered self-healing
Proceedings of the the 7th joint meeting of the European software engineering conference and the ACM SIGSOFT symposium on The foundations of software engineering
A self-healing distributed pervasive health system
International Journal of Web Engineering and Technology
Test-and-adapt: An approach for improving service interchangeability
ACM Transactions on Software Engineering and Methodology (TOSEM) - Testing, debugging, and error handling, formal methods, lifecycle concerns, evolution and maintenance
Hi-index | 0.00 |
There is an increasing need for software systems to be able to adapt to changing conditions of resource variability, component malfunction and malicious intrusion. Such self-healing systems can prove extremely useful in situations where continuous service is critical or manual repair is not feasible. Human efforts to engineer self-healing systems have had limited success, but nature has developed extraordinary mechanisms for robustness and self-healing over billions of years. Nature's programs are encoded in DNA and exhibit remarkable density and expressiveness. We argue that the software engineering community can learn a great deal about building systems from the broader concepts surrounding biological cell programs and the strategies they use to robustly accomplish complex tasks such as development, healing and regeneration. We present a cell-based programming model inspired from biology and speculate on biologically inspired strategies for producing robust, scalable and self-healing software systems.