Last Updated: February 8, 1999
There are many thoughts on modeling software performance and equally as many models for doing so. Often, each model only addresses performance from one particular view of the software under study. An interesting variation on this is the hierarchical performance model which is essentially a "model of models" where several models each take a different view at a different level of the software. Typically, at each level we would use a distinct performance model to best capture the essence at what is happening there. An inherent problem with this form of hierarchical modeling is the semantic differences between the models used at each layer. If each model were written using the UML establishing the relation of the models and doing the analysis would be simpler because of the common terms of each layer’s representation.
download the zipped version
I have found two books on UML to be indespensible during my work.
Fowler, M. and Scott, K., UML Distilled: Applying the Standard Object Modeling Language, Addison-Wesley, 1997.
This is an excellent introduction to UML. It really put it into context with good examples. It is short but gives good coverage of the subject.
Booch, G., Rumbaugh, J. and Jacobson, I., The Unified Modeling Language User Guide, Addison-Wesley, 1999.
Much more in depth and thorough coverage than the UML Distilled book.
Of course, a great source for information on UML is Rational Software. They have a CD-ROM with an evaluation version of Rational Rose, their tool that implements UML, that they will send you but be prepared to get plenty of junk mail from them.