A method predicts performance of a system that includes a plurality of interconnected
components defining at least one data flow path. The method references a workload
specification for the system. The method models the system using one or more component
models. Each component model represents selected one or more of the components.
Each component model is arranged in like relationship to the data flow path as
the selected one or more of the components represented by the component model.
Each component model is (a) a constraint upon the workload specification input
to that component model or (b) a transformer of the workload specification input
to that component model so as to result in one or more output workload specifications
that are input workload specifications to subsequent component models along the
data flow path or (c) both a constraint and a transformer. At least one of the
component models is a constraint. At least some of the component models along the
data flow path operate on the workload specification. In one preferred form, operating
on the workload specification involves arranging the component models in a hierarchy
corresponding to the data flow path; using the specified workload specification
as input to the topmost component model in the hierarchy; and applying one or more
of the component models to its input workload specification, starting with the
topmost component model and then component models at progressively lower levels
in the hierarchy. Output workload specification at one level is input workload
specification at the next lower level. If the component model comprises a constraint,
the method evaluates whether the input workload specification satisfies or violates
the constraint. If the component model comprises a workload specification transform,
the method modifies the input workload specification so as to produce one or more
output workload specifications.