The first approaches to object-oriented modeling appeared by the second half of the 1970s, but not much happened for more than a decade, so there were still barely more than a handful of modeling languages at the end of the 1980s. It was the early 1990s that witnessed an ever-growing market in competing object-oriented methods so that potential users found it increasingly difficult to identify any single method that suited their needs. This phenomenon came to be known as the “method wars.” Towards the end of 1994 two of the “big” players, Grady Booch and Jim Rumbaugh, decided to join forces by integrating their respective approaches, the Booch method and OMT (Object Modeling Technique). In late 1995, Ivar Jacobson became a member of this team merging in his OOSE method (Object-Oriented Software Engineering). The efforts of the “three amigos” aimed at overcoming unnecessary differences between the individual approaches and also improving each of them by creating a common, standardized modeling language that could serve as an industry standard. The result was the release of the Unified Modeling Language (UML), version 0.9, in June 1996. The UML partners, an industry consortium, performed further work on UML. This led to the versions 1.0 and 1.1 being introduced in 1997. The latter was adopted by the OMG (Object Management Group) in the same year. The current version is 1.5 (OMG, 2003) but a major upgrade to 2.0 is in preparation (Björkander & Kobryn, 2003).