Tuesday, March 06, 2007

Loosely coupled life and the evolution of software

Natural selection has selected for designs that facilitate adaptation - and natural selection ...
A Toast to Evolvability and Its Promise of Surprise - New York Times

.... In their recently published book, “The Plausibility of Life,” Dr. Kirschner and Dr. John C. Gerhart of the University of California, Berkeley, offer a fresh look at the origins of novelty. They argue that many of the basic components and systems of the body possess the quality of what they call “evolvability” — that is, the components can be altered without wreaking havoc on the parts and systems that connect to them, and can even produce a reasonably functional organ or body part in their modified configuration. For example, if a genetic mutation ends up lengthening a limb bone, said Dr. Kirschner, the other parts that attach to and interact with that bone needn’t also be genetically altered in order to yield a perfectly serviceable limb. The nerves, muscles, blood vessels, ligaments and skin are all inherently plastic and adaptable enough to stretch and accommodate the longer bone during embryogenesis and thus, as a team, develop into a notably, even globally, transformed limb with just a single mutation at its base. And if, with that lengthened leg, the lucky recipient gets a jump on its competitors, well, g’day to you, baby kangaroo.

Dr. Kirschner also observes that cells and bodies are extremely modular, and parts can be moved around with ease. A relatively simple molecular switch that in one setting allows a cell to respond to sugar can, in a different context, help guide the maturation of a nerve cell. In each case, the activation of the switch initiates a tumbling cascade of complex events with a very distinctive outcome, yet the switch itself is just your basic on-off protein device. By all appearances, evolution has flipped and shuffled and retrofitted and duct-taped together a comparatively small set of starter parts to build a dazzling variety of botanic and bestial bodies.

Living organisms are "loosely coupled" from the macro to micro levels, enabling adaptation at many levels. Arguably the invention of sentience is the taking this "loose coupling" to another qualitative level ...

There are lessons, obviously, for software. Object-oriented programming was supposed to facilitate this kind of modular extensibility, but it did not completely succeed. So-called "web 2.0" mashups [1] and even service-oriented architectures are another stab at building change-tolerant software. I think we'll make progress on this, but it will take some time to learn all the lessons of evolved systems.

[1] I want credit for my age-old technique of turning usenet into a blog by way of tagging.

No comments: