The Unified Modeling Language (UML) has settled comfortably into its role of pulling together the technologies enterprises use to visually model software. With 70% of software development houses using UML as of last year, recent developments have focused more on fine-tuning and expanding capabilities than breaking new ground.
All of this develops as former UML nay-sayer Microsoft prepares to add UML to its modeling toolbox in the upcoming Visual Studio 2010 release.
UML hit the scene in 1997 as part of an effort to tie together concepts from the variety of object-oriented diagramming approaches that existed at the time. James Rumbaugh, Grady Booch and Ivar Jacobson, collectively known as the Three Amigos, each had a popular approach. They came together at Rational Software to author UML 1.0.
Before long OMG took UML under its stewardship and a 2.0 version was released in 2005. With UML 2.0, enhancements mostly focused on utilities for embedded systems design, Model Driven Architecture and code generation.
Now the language has come to include 14 diagram types and a growing set of profiles.
Profile developed for defense architecture frameworks
In October, OMG released the Unified Profile for DoDAF/MODAF (UPDM) specification. An example of how far UML has come from pure software modeling, UPDM provides a visual model to map out military weapons systems integrations.
News of UPDM got some in the industry wondering if The Open Group Architecture Framework (TOGAF) would be next in line for its own profile of UML.
"Not right now," said Andrew Watson, VP and technical director at OMG. "TOGAF is more general than MoDAF and DoDAF. It is more a recipe book for building enterprise architectures."
But while TOGAF may be too general a framework to justify a unique profile, Watson said UML can be used alongside it. TOGAF helps architects get their plans down on paper, but a modeling tool helps architects to visualize beyond the pencil and paper.
UML itself can be put to use in a variety of situations. Some have used its activity diagrams to model business processes. Watson said UML is not likely to become popular for its BPM capabilities considering the traction seen with the other major item under the OMG umbrella: Business Process Modeling Notation (BPMN).
"Telling business users that they must use UML for all their business process modeling wouldn't cut it," Watson said. "UML's activity diagrams were developed around the needs of people developing software. Tools should be specific."
But UML is not perfect and even Watson said there are currently working groups at the OMG attempting to "re-factor" some of its core complexities. Some critics say the proliferation of profiles like SysML and SoaML began too early and that the core language still needs a great deal of work.
Profiles can create complication, allow specification
"There's a proliferation of profiles, conspicuously SoaML," said Cris Kobryn founder and CEO of Pivot Point Technology, which trains architects in UML. "But people are having trouble with the parent language. Before you extend a language you should master the basic language."
Kobryn worked with Rational and chaired international teams of users and vendors to specify UML 1.1 and 2.0 along with SysML.
"In the case of UML 2.0, we learned a lot from what was wrong with UML 1.0," Kobryn said. "But the people who continued it didn't continue with the layering."
Given the size and complexity of UML and all it can be used for, Kobryn said the language needs to be layered to solve a perceived interoperability problem. It is still very difficult to export a class diagram with any reliability, he said.
Tool vendors will tell a different story, however. Altova, vendor of the UModel tool for UML, SysML and BPMN, focuses on the importance of code generation and the need for modeling in any complex enterprise design process.
"SysML sort of became a sub-genre in the embedded systems or hardware systems-based world," said David McGahey, UModel product manager at Altova. "It helps capture requirements in a much more detailed and physical way than UML in general does."
Watson at OMG mentioned that it would be difficult to do any sort of major overhaul on UML given its wide use in software development today. McGahey said computer science programs are even starting to teach the language. It may be that advancements will continue to surface through new profiles, task-specified tooling and gradual updates to the language.
Microsoft supports UML for first time
The inclusion of UML in Visual Studio 2010 is perhaps an indication of the language's maturity, but Microsoft intends it to be a complement to domain specific languages (DSLs) and not a replacement.
"The idea behind domain specific languages is providing tooling that allows you to describe your problem domain with as little ceremony as possible," said Cameron Skinner, Visual Studio product unit manager at Microsoft. "But when you need to communicate that beyond your enterprise, you then need a common way of describing things. That's where UML comes in."
Microsoft built its UML offering on top Visual Studio's existing DSL Toolkit. This may provide a more standardized sort of interoperability than users are used to—at least while within the Microsoft product realm.
Skinner said Microsoft will continue to develop UML support throughout its application lifecycle management offerings.