1. A method comprising: generating an object-oriented specification of a system design; generating a nested-list data structure based on said object-oriented specification; inputting said nested-list data structure as a source code program to an evolutionary programming engine; and generating a decomposition of said system based on an output source code program of said evolutionary programming engine.