A modeling system permits developers of applications for distributed
computer system, such as those used in server data centers or Internet
data centers (IDCs), to architect their hardware and software in an
abstract manner. The modeling system defines a set of components that
represent abstract functional operations of the application that will
eventually be physically implemented by one or more computers and one or
more software programs executing on the computers. Associated with the
model components is a schema that dictates how the functional operations
are to be specified. From the model components, the developers can create
logical, scale-independent models of the applications that may be
implemented by the distributed computer system. The application is
scale-independent in that the application is invariant in respect to the
number of computers and software programs that my eventually be used to
implement it. The application may subsequently be converted to a physical
blueprint that specifies the number and type of hardware/software
resources and the physical layout of the distributed computer system.