Engineering and verifying requirements for programmable self-assembling nanomachines | IEEE Conference Publication | IEEE Xplore