Universal constructor
A Universal Constructor is a machine which within some physical or abstract environment is able to construct all environmentally possible constructions. The notion originated with John von Neumann, providing part of his solution to the problem of self-replication. It now has wide application to emerging technologies and uses. [ref: NASA, etc.]
The notion of universal construction is hampered in the face of garden of eden configurations. Hence, not all possible configurations are constructible, though any that are constructible are constructible by a universal constructor. As with universal computation, a strange loop is involved.
Examples of such machines do not exist, except as mathematical abstractions.
Von Neumann's explication of a universal constructor were developed in 1951. See Von Neumann Universal Constructor.
In 1968, Edgar F. Codd devised an 8-state 5-neighbor cellular automaton that he showed to be a universal computer-constructor.
In 1973, John Devore modified Codd's work and reduced the size of the self-reproducing machine.