Patent ID: 6957415

Claim:
A method for executing code using a software self-assembly system, comprising: constructing at least one machine using computer software, said at least one machine comprising at least one bonding site and at least one submachine part, said submachine part consisting of a component selected from a data storage means, an actuating means containing executable code and a control means, wherein each of said at least one bonding site comprises an identifier key; translating an external stimulus into a machine using an information manager, said machine comprising at least one bonding site and at least one submachine part, said submachine part consisting of a component selected from a data storage means, an actuating means and a control means, wherein each of said at least one bonding site comprises an identifier key; identifying said bonding sites with a status selected from available and unavailable; establishing matches between complementary identifier keys; posting a make-bond event between said machines with complementary identifier keys, said complementary identifier keys associated with bonding sites with a status of available; forming a bond between bonding sites associated with said matching complementary identifier keys; and activating code execution in said actuating means.