Patent ID: 8392469

Claim:
A method implemented at least in part by a computer, the method comprising: obtaining a first data structure that includes a structural model, the structural model including a definition of an interface of an application, the interface being exposed to entities outside of the application, the structural model further including relationships between different entities of the application, the relationships including a dependency indicating that a first entity and a second entity are not allowed to coexist on a single machine, the structural model containing rules that other models, including a behavioral model, that are associated with the structural model are not allowed to violate; obtaining a second data structure that includes the behavioral model, the behavioral model indicating dynamic characteristics of the application and including a plurality of models, the plurality of models including a deployment model, a desired configuration model, a capacity model, a maintenance model, and a health model, each of the plurality of models being different from others of the plurality of models such that a change in the respective model does not impact the others of the plurality of models, the structural model and the behavioral model being accessible via a model interface that is operable to parse the structural model and the behavioral model to enable access to elements of the structural model and the behavioral model; receiving an instruction regarding managing the application, the instruction regarding at least one operation, the at least one operation including at least one of installing the application, removing the application, configuring the application, maintaining settings of the application, fixing corruption of the application, determining health of the application, bringing the application in and out of service, or determining a capacity of the application; and using the structural model and one or more other models, which are selected from the plurality of models based on the at least one operation, to generate actions that when executed manage the application in accordance with the instruction, the actions including applicability conditions and a script that is passed to a referenced provider and contents associated with the script, the script comprising at least one of update information that is passed to an update agent, a raw command line that is extended via a text manipulator provider, or a multi-step automation routine.