15. A data processing system comprising: a processor; a bus connected to the processor; a memory connected to the bus, wherein the memory stores a set of instructions comprising: program instructions to select 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; program instructions to extract 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; program instructions to extract 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; program instructions to generate 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; program instructions to determine 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 program instructions to store 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.
15. A data processing system comprising: a processor; a bus connected to the processor; a memory connected to the bus, wherein the memory stores a set of instructions comprising: program instructions to select 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; program instructions to extract 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; program instructions to extract 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; program instructions to generate 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; program instructions to determine 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 program instructions to store 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. 17. The data processing system of claim 15 , wherein the set of instructions further comprise: program instructions to extract the first metadata and the second metadata from one or more information trees that specify one or more minimum requirements for use of the first software program and the second software program.