Automated assembly of machine control software, reusable software components