1. A computer implemented method in a data processing system for software deployment, the method comprising: selecting a topology pattern from a plurality of topology patterns to form a selected topology pattern, wherein the selected topology pattern describes an arrangement of software and hardware devices; receiving augments to the selected topology pattern to form an augmented topology pattern; and transforming the augmented topology pattern into a set of deployable scripts, wherein the set of deployable scripts is used for the software deployment.