  We consider a solution of automata similar to Population Protocols and
Network Constructors. The automata (or nodes) move passively in a well-mixed
solution and can cooperate by interacting in pairs. Every such interaction may
result in an update of the local states of the nodes. Additionally, the nodes
may also choose to connect to each other in order to start forming some
required structure. We may think of such nodes as the smallest possible
programmable pieces of matter. The model that we introduce here is a more
applied version of Network Constructors, imposing physical (or geometrical)
constraints on the connections. Each node can connect to other nodes only via a
very limited number of local ports, therefore at any given time it has only a
bounded number of neighbors. Connections are always made at unit distance and
are perpendicular to connections of neighboring ports. We show that this
restricted model is still capable of forming very practical 2D or 3D shapes. We
provide direct constructors for some basic shape construction problems. We then
develop new techniques for determining the constructive capabilities of our
model. One of the main novelties of our approach, concerns our attempt to
overcome the inability of such systems to detect termination. In particular, we
exploit the assumptions that the system is well-mixed and has a unique leader,
in order to give terminating protocols that are correct with high probability
(w.h.p.). This allows us to develop terminating subroutines that can be
sequentially composed to form larger modular protocols. One of our main results
is a terminating protocol counting the size $n$ of the system w.h.p.. We then
use this protocol as a subroutine in order to develop our universal
constructors, establishing that the nodes can self-organize w.h.p. into
arbitrarily complex shapes while still detecting termination of the
construction.
