The Unified Modeling Language was created in 1996 by fusing the modeling languages of three top OO development methods: the Booch method, OMT -the Object Modeling Technique method, by Jim Rumbaugh et al- and OOSE -the Object-Oriented Software Engineering method, by Ivar Jacobson-. UML has become the de facto standard for specifying, constructing, visualizing, and documenting the artifacts of a software-intensive system. It is used in an increasing number of different domains, some of which are completely unrelated to software engineering. UML is actively promoted by an impressive consortium of worldwide industries and academia and is supported by more than one hundred professional software tools whose primary goal is to facilitate the use of the language.
Since 1998, the Unified Modeling Language (UML) conference has gained in popularity and has become an important worldwide event. Every year, several hundreds of top researchers, practitioners and industry leaders from all over the world attend the conference in order to present the results of their research to the community, exchange opinions and advance the standard.
Last October (20-24), the International Conference on the Unified Modeling Language (UML) was successfully held in San Francisco where about 300 participants from all over the world met for the sixth time.
This year, about 30 high-quality technical papers were presented which greatly contributed to the use and advance of UML, while focusing on understanding how to:
Nine attractive workshops were organized in which participants could interact, exchange opinions and share ideas in order to advance the state of the art in various areas of research around the use of the UML. During the workshops, the participants focused on how to:
Well-known experts, such as Bran Selic from IBM Rational, and others presented exciting half-day tutorials on advanced topics and techniques related to UML:
The conference also featured fascinating invited talks by Jean Bézivin from the University of Nantes (France), Nicolas Rouquette from NASA’s Jet Propulsion Lab (USA) and Martin Fowler from ThoughtWorks (USA). Jean Bézivin entertained us for about 90 minutes on the "Model Driven Architecture (MDA): From Hype to Hope and Reality". In his talk, Prof. Bézivin argued that future versions of UML should offer support for aspects. Furthermore, he advocated for a much simpler form of the UML specification because developers were not paid for reading, writing or interpreting the specification but for actually developing systems. Nicolas Rouquette made an excellent reality check and tried to show how UML and MDA would help solve numerous problems of integrating heterogeneous architectural styles to build software-intensive systems. Finally, Martin Fowler gave an excellent talk in which he provocatively and intentionally debated on what the whole point of UML was about, what UML really is from his point of view, what it is not, what it should be used for and where the UML community should go to provide better support for developers.
The conference had two very entertaining panel discussions. The first one moderated by Marko Boger (from Gentleware) aimed at debating over the new major 2.0 revision of UML that will be released in the first quarter of 2004. The panelists were people directly involved in the revision of the upcoming UML version, UML 2.0. The common consensus in the audience seemed to be that the UML 2.0 contained too many changes, and that practitioners will undoubtedly have a hard time using it. The downside is that the UML specification has doubled in size from about 700 hundred pages to more than 1200 pages that are now split into four documents: the UML 2.0 Infrastructure, the UML 2.0 Superstructure, the UML 2.0 Object Constraint Language (OCL) and the UML 2.0 Diagram Interchange. Cris Kobryn admitted that although UML 2.0 was a big advance, they had gone two steps forward and one backward. Cris further argued that in the future the step backward would slightly disappear, but for now UML 2.0 should be regarded as UML±± until all inconsistencies and issues have been resolved.
In the second panel discussion led by Bran Selic, the participants were invited to share their ideas of what a good modeling language should look like. The panel was composed of Steve Mellor, Jean Bézivin, Bernhard Rumpe, Cris Kobryn, and Steve Cook. Jean Bézivin argued that a good modeling language should offer support for separation of concerns. Steve Cook from Microsoft Corp. mentioned that it would be wiser to focus on what a good modeling tool should look like instead of on the modeling language, because in the end, a modeling language is of no worth without tool support. It could be that Steve Cook hinted at what Microsoft was up to in the upcoming months. According to Steve a good modeling tool should provide:
Cris Kobryn enumerated some of the qualities a good modeling language should offer:
Near the end of the panel, Stuart Kent from Microsoft Corp. triggered a little discussion about how modeling languages and programming languages are similar or different. In his opinion, a modeling language is a programming language. Others argued that modeling languages still lacked proper execution semantics which make them still different from true programming languages.
In summary, there is still no clear consensus as to what benefits UML 2.0 and MDA will bring to the community of developers. Another question is whether the standard is going forward or backward. My gut feeling is that developers should first stick with the stable version, UML 1.5. Don’t move to UML 2.0 yet! In theory, the benefits of UML 2.0 are supposed to be obvious, but it seems that the experts have failed to show the advantages and to focus on the practicality aspect of UML. For instance, it is not at all straightforward to quickly find information in the specification. In the future, it will be imperative to provide developers with outstanding documentation support for UML. Two different groups of people could be distinguished: those who firmly believe in the advent of UML 2.0 and MDA (world of theory), and those who remain extremely skeptical until they see concrete proofs of the benefits of the new standards (real world developers). 2004 will witness the rebirth of UML and the birth of MDA. Many people think that UML and MDA will reach their maturity no sooner than year 2006. Let's wait and see what unfolds...