Just as architects and musicians need architectural drawings or music scores to be written using standard notations that everyone agrees on and understands, developers need a single, common, widely usable modeling language for the development of software systems. The UML has been proposed as this standard and has received the support of academic and industry heavyweights. The Unified Modeling L…