Architectural Considerations for
Self-replicating Manufacturing Systems
J. Storrs Hall, PhD.*
Institute for Molecular Manufacturing,
123 Fremont Ave., Los Altos, CA 94022
Web page: http://www.imm.org/HallCV.html
This is a draft paper for the
Foresight Conference on Molecular Nanotechnology.
The final version has been submitted
for publication in the special Conference issue of Nanotechnology.
To achieve the levels of productivity that are one of the desirable prospects of a molecular manufacturing technology, the techniques of self-reproduction in mechanical systems are a major requirement. Although the basic ideas and high-level descriptions were introduced by von Neumann in the 1940's, no detailed design in a mechanically realistic regime ("the kinematic model") has been done. In this paper I formulate a body of systems analysis to that end, and propose a higher-level architecture somewhat different than those heretofore seen, as a result.
Without the productivity provided by self-replication, molecular manufacturing, specifically robotic mechanosynthesis, would be limited to microscopic amounts of direct product. Self-replicating systems thus hold the key to molecular engineering for structural materials, smart materials, the application of molecular manufacturing to power systems, user interfaces, general manufacturing and recycling, and so forth.
The cellular machinery of life seems to be an existence proof for the concept of self-replication. Indeed, many proposed paths to nanotechnology involve using it directly. However, it is limited in types and specificity of reactions as compared with mechanosynthesis, and thus in the speed, energy density, and material properties of its outputs.
Alternatively, one could select from the existing productive machinery of the industrial base, augmented with robotics to close a cycle in which factories build parts, which other factories build into robots, which build factories and mine raw materials. This is the approach of the 1980 NASA Summer Study (Frietas ). This is clearly a useful avenue of inquiry; but the proposed system is very complex and is based on bulk manufacturing techniques.
It seems likely that there are simpler and more direct architectures for self-reproducing machines, ones dealing in eutactic mechanosynthesis, rigid diamondoid structures, stored-program computers, and so forth. There is, however, a really remarkable lack of even one detailed design in what von Neumann called the "kinematic model". (see Friedman (1996) vis a vis Burke (1966)). (There is no lack of designs in various cellular automata, and other "artificial life" schemes, but those have all abstracted far enough away from the problems of real-world construction that they are not directly relevant to the the design of actual manufacturing systems.)
Note that in the following I will adopt the terminology of Sipper (1997), who distinguishes reproduction, involving the exchange of genetic information and other variation strategies to allow for evolution, and replication, which does not and can be a completely planned, deterministic procedure. I will be concerned only with replication.
Self-replicating Systems: Analysis
Consider a system composed of a population of replicating machines.
Each machine consists of control and one or more "operating units" capable
of doing primitive assembly operations (e.g. mechanochemical deposition
reactions). Let us define the following:
p(t) -- population at time t
g -- generation time (seconds to replicate)
a -- "alacrity" primitive assembly operations
s -- size in primitive operations to construct
n -- number of primitive operating units
Then and .
There are some interesting implications of even so simple a model.
First, if a replicator based on a single universal constructor is redesigned
to have to cooperating constructors so it builds twice as fast, but in
doing so it is made twice as complex, the growth rate is unchanged. On
the other hand, suppose the architecture is enhanced by adding constructors
that are special-purpose and thus both simpler and faster. As long as all
units can be kept busy, na increases faster than s, decreasing
g. Therefore there is no use for raw parallelism in a replicator,
but specialization (the assembly line) can be a viable optimization technique.
Or, factoring out g to obtain the time in generations,
Which has a minimum at
Or, in other words, divert to direct construction when the total size of
all replicators (s 2k) reaches 69% of the size
of the task to be done. (In practice, needing an integral number of generations,
evaluate TT at the floor and ceiling of the indicated
Assuming that the replicators can be diverted at any point to perform
at full efficiency on some task of size ST, the total time to finish
the task can be given as a function of the number of generations allowed
to complete before the diversion:
Let us consider tradeoffs between architectures at various levels of complexity. To highlight the phenomena of interest, I will describe systems at the extremes of a spectrum. Suppose we have plans for two possible replicating systems, one simple and one complex. The simple one consists of a robot arm and a controller which is just a receiver for broadcast instructions (such as described by Merkle (1996)). The complex one consists of ~100 molecular mills that are assemply lines for gears, pulleys, shafts, bearings, motors, struts, pipes, self-fastening joints, and so forth; its architecture also includes conveyors and general-purpose manipulators for putting parts together.
Drexler's nanomanipulator arm (Drexler 1992, p. 400 et seq) is 4x106 atoms without base or gripper or working tip (or motors). With the addition of motive means, a controller, and some mechanism for acquiring tools for mechanosynthesis, it seems very unlikely that a simple system could be built at less than 1x107 atoms. The arm will need a precision of approximately 1x104 steps across its working envelope to build itself and controller by direct-in-place deposition reactions. Let us assume that it takes an average of 1x104 steps per deposition, including the time to discard and refresh tools. Let us assume that it can receive 1x106 instructions per second, and can take one step per instruction.
One could design a faster arm, e.g. with internal controllers, but it would be more complex, and we are delineating an extreme of the design space here. Similarly, one could probably get by with fewer steps across the envelope, but the simplest way to achieve positional stability is to gear the arm down until the step size is small compared to other sources of error.
The simple system must execute 1x1011 steps to reproduce itself, and can do so in 1x105 seconds (about 28 hours). In order for it to reach the capability to produce macroscopic products, which we will arbitrarily define as the ability to do 1x1020 deposition reactions per second, it must have a population of 1x1018 (each individual can do 1x102), which implies 60 generations, about 69 days.
An offhand, intuitive comparison with existing industrial systems suggests that it should be possible to build special-purpose "molecular mill" mechanisms for the primitive operations that are ten times less complex than a robot arm (there are of course many such primitive operations in a given industrial machine). If we assume that stations in such a machine can be ten nanometers apart, with 1x106 atoms per station, and that internal conveyor speeds can be 10 m/s, a mill capable of building a 1e4-atom part would contain 1x1010 atoms (1x106 parts) and would produce 1x109 parts per second, or its own parts-count equivalent in a millisecond. (This is somewhat faster than the "exemplar system" of Drexler, but again we are seeking an extreme).
Suppose such systems could be built from 100 kinds of parts, and assume that we must double the complexity of the system to allow for external superstructure and fully pipelined parts assembly. Then the complex system as a whole consists of 2x1012 atoms and could reproduce itself in 2 milliseconds. Since it produces at a rate of 1x1015 atoms per second already, it needs only 17 generations, or 34 milliseconds, to reach macroscopic capability.
Iterated Design Bootstrapping
Given a single "hand built" simple system, we could:
- Build a complex system immediately atom by atom. This would take 2x1010 seconds (over 600 years).
Reproduce simple systems until, 69 days later, one has macroscopic capability.
Simply assume that building the first complex system is the goal, and employ
the formula above; it gives an optimum of 17 generations. This results
in a first, reproductive, phase of 472 hours, resulting in 131072 assemblers,
which build the complex system in a second phase of 42 hours, for a total
of 21 and a half days.
This has implications with respect to an optimal overall approach to bootstrapping replicators. Suppose we have a series of designs, each some small factor, say 5.8, more complex, and some small factor, say 2, faster to replicate, than the previous. Then we optimally run each design 2 generations and build one unit of the next design. As long as we have a series of new designs whose size and speed improve at this rate, we can build the entire series in a fixed, constant amount of time no matter how many designs are in the series. (It's the sum of an arbitrarily long series of exponentially decreasing terms. Perhaps we should call such a scheme "Zeno's Factory".)
For example, with the appropriate series of designs starting from the simple system above, the asymptotic limit is a week and a half. (About 100 hours for design 1 to build design 2, followed by 50 hours for design 2 to build design 3, plus 25 hours for design 3 to build design 4, etc.) Note that this sequence runs through systems with a generation time similar to the "complex system" at about the 25th successive design. Attempts to push the sequence much further will founder on physical constraints, such as the ability to provide materials, energy, and instructions in a timely fashion. Well before then we will run into the problem of not having the requisite designs. Since all the designs need to be ready essentially at once, construction time is to all intents and purposes limited by the time it takes to design the all the replicators in the series.
This sequence has implications for the architecture of replicating systems. Since each replicator will build others of its own type for only a few generations and then build something else, a design which is optimized to allow the unitized assembler to build another exactly like itself is not optimal for the process as a whole. Similarly, a design which follows the logic of bacteria, floating autonomously in a nutrient solution, is likely not optimal.
A more efficient scheme, given the desiderata above, is to have the entire population in a common eutactic environment, and remain physically attached to each other and a substrate. The major new concern for the architecture in this approach is logistics: distributing raw materials (and information) in a controlled way, and building the infrastructure which does so and incidentally forms a framework for the ultimate product. Given such an infrastructure, productive units need not be individually closed with respect to self-replication.
This significantly relaxes the constraints on the design of any unit
in a beneficial way. Current practice in solid free-form fabrication
(see, e.g., Jurrens 1993) suggests that machines of moderate complexity
should be considered capable of making parts smaller than themselves, but
not machines their own size. This suggests a two-phase architecture
parts factories (general or special purpose -- parts accretion by mechanochemical deposition reactions is clearly a variant of solid freeform fabrication)
motile construction units (again general or special purpose; an early breakdown
might be transport and assembly) which build infrastructure, more construction
units, and more factories, from parts
Any manufacturing system can be described by a directed graph, where each
operating unit is represented by a vertex and the inputs and outputs are
considered to flow along the edges. For the analysis of self-replicating
systems, we must add a secondary type of edge, in addition to the ordinary
product edges, which indicates that the product, instead of forming an
input to its terminal vertex, is an instance of the operating unit the
terminal vertex represents. We will call these secondary edges capital
Each system will in general have exogenous product edges, representing
the inputs to the system as a whole, and if it is to be useful, egressive
product edges as well. Any real-world self-replicating system will
have these inputs and outputs as well; that is to say, we do not consider
a system to be non-self-replicating because it obtains raw materials, energy,
or indeed control from the outside world. Instead,
Definition 1. A system is self replicating if each vertex
is the terminus of an endogenous capital edge.
Note that the functions of transport as well as assembly can be represented
by explicit vertices, which means that models such as von Neumann's kinematic
model of an assembly robot floating in a sea of parts can be described
as self-replicating in our sense:
Figure 1. A simplified von Neumann model. Capital
edges are represented in red.
Note that the constructor vertex in this diagram has a self-loop capital
edge. We call such vertices self-replicating kernels. Note
that a system does not necessarily have to have such a kernel, but if one
can be designed, it often simplifies the rest of the system. Note
also that the schema conflates instances of mechanisms; it does not distinguish
between units in parent and offspring systems. However, it is permissible
to duplicate vertices to distinguish applications of the same unit, as
in the case where the constructor used a different set of inputs to make
different products; there would be separate copies of the constructor vertex
with different connections.
Design Methodologies Unhelpful
In a standard top-down design methodology, a critical part of the specifications for a machine is its capabilities; to build a manufacturing system, for example, it is useful to know what it must manufacture. For a self-replicating system, however, the product is the system itself, the specifics of which are not known until the design is completed. Therefore the design process must be somewhat ad hoc.
In an attempt to ameliorate this situation, theoretical studies of self-replication often opt for a "universal constructor". This concept is derived by extension from "universal computer", and in the non-physical world of the cellular automaton it does seem reasonable to posit a mechanism which can produce any pattern of states in the cell space of the model. However, the use of the term in the physical world has given rise to confusion and controversy. Thus we will use instead the concept of self-replicating kernel as above, and the more explicit methodology of the producer/consumer diagrams.
Following the architecture above, we will split the notion of the general-purpose constructor into the tandem of parts fabricator and parts assembler. The parts fabricator:
The parts assembler, on the other hand:
- has a work envelope smaller than (e.g. probably within) itself
- operates with atomic precision
- makes parts which are single rigid connected objects with no internal configurational degrees of freedom (there may be an exception in the case of springs)
- it remains to be seen to what extent it will be necessary or possible to create strained structures. In general they are to be avoided as requiring additional manipulative mechanism. However, it may be possible to produce structures with dislocations (e.g. Lohmer dislocations as in the Merkle cylinder, in order to produce a desired surface configuration) by essentially chemical means, by virtue of the pattern of deposition reactions
- has a work envelope larger than itself
- does not necessarily operate with atomic precision. This probably means that although its mechanism addresses positions on a scale of angstroms, the stiffness required in placement is not such as to guarantee that the effector remains within an angstrom of the addressed point with extremely high reliability, as is the case with the mechano- chemical effector
- assembles parts into mechanisms which have multiple internal degrees of freedom
will be capable of exerting mechanical force to tension springs, snap snaps,
and otherwise move the constructed system across energy barriers
There are a number of factors which motivate this architecture. First, it greatly simplifies the design of the fabricator for the object it builds to be rigid. This allows the fabricator to address reaction points on the surface of the partial object without concern for whether the object has undergone a configurational change. It relieves the fabrication design process from the necessity of scaffolding, its provision and subsequent removal, simplifying the process and making it easier to maintain a eutactic environment.
These specifications argue for a parallel robotic configuration in the case of the fabricator and a serial one in the case of the assembler. Parallel linkages, such as the Stewart platform, offer increased stiffness at the cost of decreased range, whereas serial linkages, such as an anthropic-style arm, have maximal range but low stiffness. (Note that the parallel / serial distinction is not universally useful; an X-Y table is parallel if it rides on orthogonal actuators each of which allows free motion in the other's direction, but serial if it consists of an X-table mounted on a Y-table.)
A low-precision arm can nevertheless construct objects with atomic precision by the use of guides and jigs, just as a human draftsman can draw a straight line using a ruler. Clearly, the envisioned tasks will often employ such jigs. However, the fact that the system is operating at the atomic suggests another technique. It is commonplace in biochemistry for the parts of an object (e.g. a virus) to self-assemble. We can make use of the same phenomenon.
In general, a part held at the effector of an arm will occupy a probabilistic cloud of space whose shape depends on the specific stiffnesses and degrees of freedom of the arm. If there is within the cloud an energetically favored configuration, the part will seek the configuration without additional manipulation.
The most obvious construction of such a situation consists of a part whose shape fits a complementary cavity at the desired position. The arm need only hold the part against the cavity, and let go. More elaborately, the arm can constrain some degrees of freedom of the part but allow others to follow the pathways designed into the configuration. For example, the arm holds a bolt up to a threaded hole. The bolt is not driven, but allowed to rotate freely. With the proper fit, the bolt will screw itself in.
This phenomenon can be combined with a number of techniques involving the inclusion of jigs and guides in the shapes of parts, to produce assembly procedures that involve in the most part moving an object to the right place and letting go, instead of the complex manipulation involved in the assembly of macroscopic mechanisms.
In cases where self-assembly implies a lower energy barrier to self-disassembly than is desirable, a compound sequence can be used. For example, mating parts of a frame will hold together during assembly but a self-inserting bolt will produce a significantly stronger one.
Figure 2. An interleaved joint between two struts will
assemble easily and offer some strength due to van der Waals forces at
the interface, but a bolt will increase its strength. In this design,
the bolt is simply a threaded cylinder with no head. The fully-inserted
position is the bottom of a potential well.
Other phenomena of interest include self-assisted half-assembly.
A bolt as in the above example might have a resistance to movement that
increased with the surface area in contact, but with a self-insertion force
that was essentially constant (i.e. proportional to the derivative of area
in contact). In this case the self-insertion would bog down
at some point. The assembler arm could apply mechanical force to
the bolt to increase the energy gradient (but would still need only push
and not turn).
A final advantage to self-assisted assembly is that it simplifies the
programming of (and/or volume of external instructions transmitted to)
the system. For a system which ultimately comes to be composed of
a very large number of robotic units, this can be a non-trivial consideration.
Power and Control
Given the rapid progress to date in the study of the electrical properties
of nanotubes and molecular switches, it is reasonable to expect that it
will be possible to build conductors and switches into the material of
rigid parts even if the synthesis is entirely hydrocarbon. It is
desirable to have a capability for such "printed circuits" even if it means
extending the chemistry of the synthesizer. The alternatives include
mechanical demultiplexers of acoustic pressure signals (Merkle, private
communication). With a modest circuit capability it is possible to
embed an electrical demultiplexer into the structural parts of the assembly
robot. This leaves the construction of the logic in the domain of
the parts synthesizer, which is outside the innermost self-replication
loop, a desideratum. Alternatively, an electromechanical distributor,
a combination of a relay and the rotary unit in a ball-point pen, can act
as demultiplexer with only one moving part.
Figure 3. Rotor for an electro-mechanical distributor. It mates (face down) with a substrate with an identical surface, in a well which constrains it to a single rotational degree of freedom. The lands are slightly wider than the gaps, so it does not mesh with the substrate, but always rides on top. This produces the uncharged PES seen below. Embedded charges produce the charged PES in interaction with drivable electrodes in the well wall.
Figure 4. Potential energy surfaces for the distributor (as a function of rotational angle). With uncharged electrodes it will remain at (a) due to the upper blue PES (a function of its shape and van der Waals forces). An incoming pulse charges the electrodes and adds the red PES with the result of the overall lower blue one. The black line at (b) indicates the region where the conductive path for switching lines up, allowing current to flow to the appropriate output wire. When the input pulse ends, the rotor relaxes to (c) where the next pulse should induce the negative of the red PES to advance the rotor.
Figure 5. A two-phase electrostatic stepper, the core of the
Figure 6. A high-reduction differential-drive gearmotor.
The one pictured would have a reduction ratio of 52, but it is possible
to get reductions of over 1000 with reasonable tooth numbers.
For driving the arms and so forth it is necessary to have a high-torque
drive, and the easiest way to do this with rigid parts is a gearmotor.
Macroscopic high-reduction gearmotors often have flexible splines or multiple
stages, which are undesirable for fabrication or assembly respectively.
The design shown is capable of extremely high ratios, consists of a small
number of rigid parts, and can be assembled starting with the case simply
by putting the parts in their places. The top internal gear is cut
away to show the structure; in practice it would constitute a cap which
mates with a spindle extending from the center of the bottom casing.
The Assembly Robot
The essential burden of the foregoing is that is is now straightforward
to design a parts-assembly robot that is, except for its motility, well
within current well-understood practice of parts-assembly robots.
Given a framework to move in that provides precise positioning and traction,
as described below, the problem of motion control is relatively modest.
The design depicted is probably overkill, and a more effecient version
is likely to emerge from further investigation. The salient features
are its ability to engage, move, and turn in the framework, and the fact
that it has two manipulators. Development of more careful designs
with self-assisted assembly and a judicious selection of jugs and clamps
may obviate the duplication and permit a one-armed design.
Figure 7. A motile parts-assembly robot. The outward clamps
in the rear engage the struts of the framework. Early generations
of robot have no on-board control but obey signals transmitted across the
The Parts Synthesizer
The parts synthesizer uses basically the same motor and control structures as the assembly robot but arranged to the effect of more precise (but thereby slower and shorter) positioning capability. In theory, a 4-position (2-phase) stepper as above with a 50-to-1 reduction driving a 2-nm pitch lead screw (i.e. 1 nm lands and 1-nm grooves) can position a slider with a precision of 0.01 nm (0.1 angstrom). This is sufficient for mechanosynthesis, and the parts can be assembled correctly by a manipulator with 25-to-50 times grosser precision.
My proposed design for a fabricator, seen below, is based loosely on a conventional milling machine. The long motion axes are all driven by lead screws, and the motions of the wrist to orient the working tip are by high-reduction-ratio steppers with short working radii.
A problem that does not appear to have been addressed heretofore is that of starting the deposition process. My proposal is "starting blocks", which would be small blocks of diamondoid material provided as raw material (just as would be working tips). The table (y in the figure below) would be tesselated with cavities of an appropriate shape to bind the starting blocks reliably. Once the part was fabricated, it would be removed from the table by the application of mechanical force by an assembly robot. The assembly robots would also position the starting blocks oroginally and provide the synthesizer with a stream of working tips in early versions. (Note that self-assisted assembly, together with appropriate jigs and limit stops, allow the robot to place the tool precisely in the synthesizer's manipulator.)
Figure 8. Parts synthesizer. An openwork truss can have a high stiffness-to-mass ratio, and can be easily assembled from smaller parts. In this design, there are three axes of motion (x, y, z) consisting of sliding dadoes driven by lead screws. There are three axes of orientation at the wrist (b) for the mechanosynthetic active tip (c). The y-slider table extends beyond the frame in the y direction (in and out of the page) but is not required to have high stiffness at its ends.
Figure 9. A more detailed view of the wrist assembly. Orange indicates motor/bearings (only one motor is required per DOF, so one of the pitch-axis joints can be an unpowered bearing). Preliminary studies indicate that the bend in the toolholder allows a greater range of access to the typical object under construction than a straight one would.
A System Architecture
The bootstrap configuration is a small framework, one assembly robot,
and a pile of parts. The robot builds parts fabricator and other
robots and extends the framework. Later robots, and framework nodes
made from parts from the fabricator instead of the bootstrap stock, have
onboard computers. Ultimately the framework is a distributed control
system coordinating the activities of large numbers of robots, as well
as the physical infrastructure for the target product.
At each stage in its development, the system maintains the "self-replicating
system" property. Note in the diagram below that as the system expands,
it builds machinery which takes new inputs and transforms it into the old
inputs. (Somewhat contradictorily, in the case of physical inputs
the move is to the simpler and more numerous, whereas the control inputs
move toward the more condensed and complex.)
As the system matures, it will be possible to discard the bootstrap.
A mature version of this design, oddly enough, does not have a self-replicating
kernel, but a two-vertex loop of assembly lines which build robots which
build assembly lines.
Figure 10. System diagram for the bootstrap path of a
self-replicating manufacturing system. Each subsystem in a
blue line (as well as the entire system) meets the self-replicating system
Figure 11. The framework. Ultimately the framework
is a distributed control system coordinating the activities of large numbers
of robots, as well as the physical infrastructure for the target product.
Summary and Conclusions
I have done a systems analysis for self-replicating manufacturing systems. There are several results of this analysis that have implications for their design. First, replicators do not benefit from raw internal parallelism but do benefit from concurrency of effort involving specialization and pipelining. Given the enormous range of possible replicator designs, the optimal pathway from a given (microscopic) replicator to a given (macroscopic) product generally involves a series of increasingly complex replicators. The optimal procedure for replicators of any fixed design to build a given product is to replicate until the quantity of replicators is 69% of the quantity of desired product, and then divert to building the product.
Therefore, it is desirable to design a replicator with the understanding that it will reproduce itself only for a few generations, and then build something else. Furthermore, it is crucial to design replicators that can cooperate in the construction of objects larger and more complex than themselves. I have outlined a system that embodies these desiderata.
Finally, considerations encountered in the design of the present system have convinced the author that, given a precursor or bootstrap technology (e.g. self-assembly from biomolecules) that can produce usable parts, the first thing to be built from the parts should be a parts-assembly mechanism and not a parts-fabrication mechanism. A parts-assembly robot constitutes a self-replicating kernel in an environment of parts, and a growth path that maintains the self-replicating system property (i.e. that each vertex of its diagram is the terminus of an endogenous capital edge) appears to work best.
I would like to thank K. Eric Drexler and Ralph Merkle for discussions
leading to this work. Any errors or misinterpretations are of course my
Burks, A. W., ed. (1966): Urbana: University of Illinois Press. Theory
of Self-Reproducing Automata [by] John von Neumann
Drexler, K.E., (1992): New York: Wiley. Nanosystems: Molecular Machinery,
Manufacturing, and Computation
Freitas, R. and William P. Gilbreath. (1980): NASA CP 2255. NTIS
Order No. N83-15348. Advanced Automation for Space Missions
Friedman, G. (1996): The Assembler: NSS/MMSG Newsletter, 4
No. 4 Fourth Quarter. The Space Studies Institute View on Self-Replication
Jurrens, Kevin (1993): NISTIR 5335, National Institute of Standards
and Technology, Gaithersburg, MD. An Assessment of the State-of-the-Art
in Rapid Prototyping Systems for Mechanical Parts
Mason, Matthew and J, Kenneth Salisbury (1985): MIT Press. Robot Hands
and the Mechanics of Manipulation
Merkle, Ralph C. (1992) JBIS 45, pp 407-413. Self Replicating Systems and
Merkle, Ralph C. (1996) Nanotechnology 7 pages 210-215.
Design considerations for an assembler
Moore, Edward F. (1961) Proc. Symp. Math. Problems in the Biological
Sciences, NYC. Machine Models of Self-reproduction
- Sipper, M., E. Sanchez, D. Mange, M. Tomassini, A. Pérez-Uribe,
and A. Stauffer. (1997) IEEE Transactions on Evolutionary Computation
, Vol. 1, No. 1, pages 83-97, April 1997. A Phylogenetic, Ontogenetic,
and Epigenetic View of Bio-Inspired Hardware Systems