1. A data processing apparatus for automated blueprint assembly, the data processing apparatus including: a micro-blueprint assembler configured to receive a request for automated blueprint assembly for assembling an application, the request specifying at least one feature; a model database configured to store model data, the model data including a plurality of classes arranged in a hierarchy with relational information, the model data including class properties for at least a portion of the plurality of classes; a micro-blueprint database configured to store a plurality of micro-blueprints, each micro-blueprint corresponding to a functional component of a stack element or service tier, the functional component being annotated with one or more classes of the plurality of classes and at least one required capability and available capability, the micro-blueprint assembler configured to generate at least one application blueprint based on the model data and the plurality of micro-blueprints according to the request.