Programming Methodology for Biologically-Inspired Self-Assembling Systems