ComputingComputer ScienceSystems EngineeringOperating SystemsSoftware EngineeringSystems ProgrammingSoftware ConstructionSoftware DesignSoftware EvolutionSoftware MaintenanceSoftware ModelingSoftware ReuseSoftware Co-evolutionSoftware Lifecycle Management
Software needs to grow up and become responsible for itself and its own future by participating in its own installation and customization, maintaining its own health, and adapting itself to new circumstances, new users, and new uses. To create such software will require us to change some of our underlying assumptions about how we write programs. A promising approach seems to be to separate software that does the work (allopoietic)from software that keeps the system alive (autopoietic).
25
Martin Gardner · Scientific American · 1970 · 1.6K citations
Robustness in bacterial chemotaxis
Uri Alon, Michael G. Surette, Naama Barkai et al. · Nature · 1999 · 1.2K citations
Life Sciences, Biology, Microbiology +12
David Ungar, Randall B. Smith · 1987 · 909 citations
David Hovemeyer, William Pugh · 2004 · 775 citations