Biological Analogies:


Code Reuse

The local program consist of two parts. The first part is the local rules that encode the axioms and other primitives. This part forms the majority of the local program and remains fixed accross all processors and all target shapes The second part is derived from the global shape program and consists of the sequence in which the primitives are called. Hence the final shape is encoded in a very small section of the dna of each processor. The majority of dna encodes the capability of the processor.

This gives us one possible explanation of how large sections of the DNA can remain the same accross different species, if the majority of the dna is simply devoted to primitive operations. Furtherone could see how  simple mutations in the sequence could create whole new structures (extra fingers, wings) whereas mutations in the primitives could doom the embryo.

side note - this depends on the fact that the logic of the primitives can be encoded separate from the arguments. for example the logic of axiom1 can be encoded without explicitly specifying which two gradient chemicals will be used, or at least encoded in a way that the logic occurs only once, but may accept multiple gradients as inputs.


Regions and Modularity

The idea of restricting local rules to act only within a region has an interesting application to code reuse. If the regions have impassable bounderies and do not overlap then the same code (or dna) with the same gradients (protiens) can be used to create multiple structures. Add to this the idea of scale independence and one could engineer a hand pattern, simply by using the same code in regions of different sizes and this program would be easily modified (or mutated) to produce extra fingers.
 


Similarities with GPL

Comparison may highlight what kinds of global languages / descriptions are appropriate when trying to engineer / understand local behavior.

D'Arcy Thompson