types of assembly ...

Coded Assemnbly (folding)

Self Replication from Random Parts

Growing Machines

Tools for Designing Programmatic Self Assembling Systems