17. A system for automating the application of constraints to one or more design objects in a circuit design created using an electronic design automation tool, wherein the one or more design objects physical circuit objects in a circuit being designed in the electronic design automation tool, comprising: a template type that includes instructions stored in a storage device to register associated template instance generation program code stored in the storage device with, means for managing and to register associated template instance validation program code stored in the storage device with, managing means; a template instance that is stored in the storage device and that identifies a constraint set that includes multiple constraints and that identifies associations between the multiple constraints in the constraint set and the one or more design objects; wherein the template instance includes an association with the template type: managing means for, using the association between the template instance and the template type to invoke the template instance violation program code to run a template validation process to a change in a constraint identified by the template instance or to a change in an object associated by the template instance with an identified constraint, and invoking the template generation program code to run a template instance recovery process in response to the invoked validation process returning a failure.
17. A system for automating the application of constraints to one or more design objects in a circuit design created using an electronic design automation tool, wherein the one or more design objects physical circuit objects in a circuit being designed in the electronic design automation tool, comprising: a template type that includes instructions stored in a storage device to register associated template instance generation program code stored in the storage device with, means for managing and to register associated template instance validation program code stored in the storage device with, managing means; a template instance that is stored in the storage device and that identifies a constraint set that includes multiple constraints and that identifies associations between the multiple constraints in the constraint set and the one or more design objects; wherein the template instance includes an association with the template type: managing means for, using the association between the template instance and the template type to invoke the template instance violation program code to run a template validation process to a change in a constraint identified by the template instance or to a change in an object associated by the template instance with an identified constraint, and invoking the template generation program code to run a template instance recovery process in response to the invoked validation process returning a failure. 19. The system of claim 17 , wherein the template instance includes an instance name, a template type identifier that specifies the template instance's type, and a design object identifier that specifies the design object.