Objects in nature

At first glance there seems to be no credible connection between computer programs and the functioning of the human body, but, upon closer examination the parallels are ubiquitous. Besides the many examples shown in "How God Makes God" and "Lingo Sorcery", take a look at this following example of object oriented design as explained in the March 1996 edition of Scientific American (Budding Vesicles in Living Cells by James E. Rothman and Lelio Orci).

 


Figure A - Biological objects passing messages to each other


The human cell is divided into a number of departments enclosed by membranes (organelles). Each of these departments have a specific role to play. For instance, one department called the endoplasmic reticulum produces many of the cell's necessary proteins. These proteins are then sent to another department called the Golgi apparatus where they are modified and shipped to another department, or, sent outside to go on to a department in another cell somewhere else in the body.

The transfer of the molecular messages (because this is what these proteins are) is arranged by a process known as budding vesicles (see fig A). A molecule inside a cell department will attach itself to the membrane wall and cause that section of the wall to bulge. With the help of other molecules, the bulging increases until it forms a little bubble on the outside of the membrane. Within this bubble are attracted certain specific molecules (messages) which are to be despatched.

The bubble on the outside then nips itself off from the membrane, enclosing the designated molecules. This vesicle then transports its cargo of molecules to a target membrane to which it attaches itself through 'address' molecules on the surface. When the vesicle sticks to the target surface, new molecules come into play which open up the membrane between the interior of the target and the bubble to allow the molecule contents of the bubble to escape into the new department where their molecular messages can be relayed to that department's machinery.


This is only one of the many incredible ways in which nature has been using object-oriented programming techniques for millions of years.

The shape of a molecule can be modeled in a computer memory as a sequence of 1's and 0's. If the shape changes, the 'shape' of the sequence of 1's and 0's also changes. In other words, a molecular shape can be accurately represented as a string of bits.

Messages in Lingo, or any other computer language, are also represented as a sequence of 1's and 0's in a computer. This provides a common link to think of messages and molecules as synonymous vectors of communication in object oriented frameworks.

Using this way of looking at things, it becomes possible to think about the functions of a human cell (as it forms, changes and combines a variety of molecular shapes) in terms of programming constructs. From this view point the human cell acts in an identical way to a digital computer: acting upon and processing strings of information.

This paradigm can then lead to quite a different way of looking at biological structures and, conversely, looking at object-oriented systems.

If you look at the human body as an object oriented system, it is readily apparent that all activity originates in cells. Inside the human cell there is a hive of chemical activity as molecular messages are created, modified, processed and passed around from section to section.

Cells also send to and receive messages from each other, prompting further chemical interactions and activity within the cells. All this activity is initiated and coordinated by information contained on the genome.

If you abstract out the system of communicating cells within a biological system, you can then compare it with the abstraction of the system of communicating computers on the Internet. Using a paradigm shift to switch between the two systems provides an unique way to compare them.

The most striking observation is the relatively small amount of message content in biological systems which trigger large amounts of activity in target cells. It is as if the genome contains a wealth of programming elements and the messages trigger large scale reorganization of the elements to create programming structures on the fly (similar to the way in which Lingo objects can create and restructure each other from elements in the cast of a Director movie - as explained in chapter 14 of Lingo Sorcery).

In comparing the Internet with biological systems it immediately becomes obvious how advantageous it could be to focus on the client side rather than the server side. It also highlights the role that CD-ROMs can play in Intranet systems - remembering that a CD-ROM is similar in information size to a genome. Communicating cells in a biological system using the genome as a store of programming constructs (and software objects) map across perfectly to an Intranet system where each of the computers in the system can refer to the content of a common CD-ROM.

When you click onto this paradigm it is truly an exciting vision.

Now you shouldn't need much convincing that the design of the human biological system is a masterpiece of system programming. As computer programmers, we might be wise to look to this system for a few tips; some of the techniques that nature uses are truly breathtaking.

[Index]
[Next - Object oriented thinking]
[Back - Paradigms and Morphing]


Peter Small August 1996

Email: peter@petersmall.com

Version 1.00

©Copyright 1996 Peter Small