1. A computer implemented method comprising: selecting a first software program and a second software program by placing a first icon on a graphical display screen in a prespecified relationship with a second icon on said display screen; extracting first metadata from at least one database, wherein the first metadata describe a first set of constraints that apply to installation of the first software program on a data processing system; extracting second metadata from the at least one database, wherein the second metadata describe a second set of constraints that apply to installation of the second software program on the data processing system; generating a third set of constraints from the first metadata and the second metadata, wherein the third set of constraints comprise an intersection of the first set of constraints and the second set of constraints; determining whether installation of both the first program and the second program on the data processing system violates any constraint contained in the third set of constraints; and storing the third set of constraints in a tooling mechanism configured to perform extracting the first metadata, extracting the second metadata, generating the third set of constraints, and determining whether installation violates any constraint.
9. The method of claim 1 , wherein the first software program and the second software program interact with one another.