The sometimes sleepy world of software modeling technology woke up a bit last week when Microsoft announced that it would include the Unified Modeling Language (UML) in a future version of Visual Studio. No less a Microsoft personage than Bill Gates announced the move toward added support for UML in what he called "Visual Studio 10," at the company's TechEd 2008 for Developers in Orlando, Fla.
The move comes after several years in which Microsoft focused most of its modeling efforts on so-called Domain-Specific Languages (DSLs), and downplayed the values of UML.
UML was first forged in the 1990s by Rational Software (now part of IBM). It grew out of a unified combination of three of the popular methods (created independently by Grady Booch, Ivar Jacobson and James Rumbaugh) for software process modeling.
As the name suggests, DSLs involve specialized languages -- as opposed to general-purpose ones -- aimed at specific problems. In effect, developers can create their own language for their own purpose, but in specific areas, such as test case creation or network device programming. (Taken that way, even SQL could be described as a DSL.) Microsoft built a tool kit allowing users to create their own DSLs.
Microsoft has not wholly dismissed UML over the years. Like some others, it gives more credit to UML as a useful form of notation than as an able modeling language. For a number of years Microsoft supported Rational's Rose modeler running within Visual Studio. Some of the problems Microsoft has worked to solve, especially interaction modeling of the hardware on which applications run, has seemed to lend itself to the domain-specific approach.
In the original Visual Studio Team System offering, Microsoft supported UML behavioral modeling and use case diagrams with code generation and reverse engineering via its Visio for Enterprise Architects.
But its all-important Visual Studio Team System (VSTS) Edition for Software Architects did not natively support these diagram types, and it was not apparent that the company aggressively pursued third-party support to fill the gap.
Since the advent of VSTS, most of the modeling news out of Microsoft has related to DSLs. At TechEd, Microsoft's Norman Guandaugno, director of product marketing for VSTS, said the next release of VSTS, code-named Rosario, will include UML in it Architects edition. Microsoft has yet to divulge any information concerning a ship date for the next version of VSTS.
Richard Soley, head of UML standards steward Object Management Group (OMG), welcomed Microsoft's move.
"Bill Gates' announcement about Visual Studio is a win-win for customers who want to integrate multiple approaches with the ease of use of Visual Studio," Soley commented. "We're glad that Microsoft has indicated support for UML and delighted to see broader use of the standard."
Soley further said developers want flexibility and ease of use, and those characteristics come both from standards like UML notation and innovative approaches like domain-specific languages.
Noted software technologist Ivar Jacobson, one of the original "Three Amigos" responsible for UML, said the problem of transforming representation between specific domains is not trivial.
"With DSLs, the problem is you need to have underlying semantics in common. You have a serious transformation problem across domains," said Jacobson, head of Ivar Jacobson International. "UML has a profile that allows you to have specific language constructs, but it has the same underlying model."
With DSLs, common semantics are very difficult to achieve.
Standing as a backdrop to Microsoft's renewed unified modeling interest is Oslo, a repository and "modeling environment" intended to expand Microsoft developers' successes in the area of service-oriented architecture. A Community Technology Preview of Oslo is expected at Microsoft's Professional Developers Conference in September.