Shall I go o? to South America? Shall I put out in my ship to sea? Or get in my cage and be lions and tigers? Or { shall I be only Me? A. A. Milne, When We Were Very Young The Uni?ed Modeling Language (UML) is a language for specifying, visu- ising, constructing anddocumenting the artifacts of softwaresystems. The UML originated from the wave of object-oriented analysis and design methods (OOA & D) that appeared in the early 1980's and 1990's. It's formation came about in direct response to a call for a standard OOA & D method by the Object Management Group (OMG) in 1996/7. Since then, the UML has arguably become the lingua franca of the software engineeringcommunity-itisrareto ?ndanewCASE tool,softwareengineering text, course or method that does not support UML in some way. This success canbe attributed to many factors.The mostimportant ofthese hasbeen UML's capitalizationofageneralmoveinthesoftwareindustrytowardsopenstandards. This has demonstrated that industry is more interested in a common, standa- ised modelling approach than in the particular philosophies that distinguished the earlier approaches to OOA & D. In addition, the UML standard has clearly bene?ted from its association with the OMG, which has provided an excellent open forum for its development. Currently, the OMG/UML standard is at v- sion1.4.However,atthetimeofwriting,UMLisonthevergeofalengthyperiod of major review and revision, which will result in version 2.0.