1. A computer implemented method for generating constraints associated with one or more software programs intended for use in a specified data processing environment, wherein said method comprises the steps of: extracting metadata pertaining to said one or more programs from at least one database; selectively processing said extracted metadata to generate a set of constraints that affect the use of said one or more programs in said specified environment, wherein said processing includes transforming said extracted metadata to provide said set of constraints in a prespecified constraint language; detecting a proposed action of a user that is associated with said one or more programs; and determining whether said proposed action would violate any constraint contained in said set.