1. A method for generating a Concrete Model of a computing utility comprising the steps of: receiving, by a computer system, as input an infrastructure-independent Service Environment Model of a service environment, said Service Environment Model describing a set of requirements for an initial desired state of said service environment; receiving, by a computer system, as input an Infrastructure Model describing both hardware and software resources and an organization of said resources in the computing utility infrastructure, said Infrastructure Model representing knowledge encapsulated in a knowledge subsystem, wherein said knowledge subsystem comprises a set of objects used to represent resource instances and relationships, configure resources and relationships, query their state, and query their configuration capabilities and constraints; and generating, by a computer system, provisioning actions to reach a state that satisfies the set of requirements specified in the Service Environment Model, wherein the generating step comprises steps of: merging, by a computer system, the Service Environment Model with the Infrastructure Model to generate the Concrete Model, said Concrete Model describing a structure to implement on the computing utility infrastructure in order to reach the desired state as expressed in the Service Environment Model and being mappable to said knowledge subsystem, said generating comprising steps of: executing, by a computer system, a plurality of refinement steps, each refinement step comprising: selecting a node; wherein nodes represent resources and requirements on a state of the resources; and wherein edges represent relationships between the resources; and replacing the selected node with a sub graph structure to obtain an intermediary model which is an input to a subsequent refinement step; iteratively refining the intermediary models produced by each replacing step by repeating the steps of selecting and replacing until a resulting intermediary model is determined to be mappable to the knowledge subsystem, wherein the resulting intermediary model is determined to be mappable when every node in the resulting intermediary model that represents a resource is mappable to the knowledge subsystem; halting the refining when no further refinements can be made; and mapping the resulting intermediary model to the knowledge subsystem.