Although Microsoft seems to have had an off-and-on relationship with the Unified Modeling Language, the company made plain at its recent Professional Developers Conference in Los Angeles that Microsoft has a strategy for delivering modeling technology to developers and supporting UML.
Some Microsoft developers have told me that internally UML has been referred to as the “Unwanted Modeling Language.” However, with Microsoft’s increased focus on modeling and developer demand for UML support, Microsoft found it just too much to ignore. Despite having its own modeling technology in its new “Oslo” modeling software-including a new modeling language known as “M,” a new modeling tool called Quadrant and a repository-Microsoft also said it will support UML in its Visual Studio tool set and via Oslo itself.
Grady Booch, co-creator of UML and chief scientist for software engineering in IBM Research, told eWEEK, “I’m very happy with the fact Microsoft has finally seen the light and has joined what has become mainstream.” Booch added that he is “delighted Microsoft is back in the modeling fold” and described Microsoft’s support for UML as, “Like a cherry on top of the whipped cream on a sundae.”
Booch created UML in collaboration with Ivar Jacobson and James Rumbaugh. “When Jim, Ivar and I started UML, Microsoft was the first company we approached, and it was a no-brainer for them,” Booch said. “They said yes, they would support it; and they did influence it.” However, days before the group approached the OMG (Object Management Group) to push UML for standardization, Microsoft said it could not support it. But the UML group pushed on with the support of companies such as Hewlett-Packard and Texas Instruments, Booch said.
Then, at the North America TechEd Developers conference in Orlando in June 2008, Microsoft Chairman Bill Gates, in his last public address as a day-to-day Microsoft leader, dropped word that Microsoft would be supporting UML.
Microsoft rejoined the OMG in September and pledged further support for UML. However, for a while, Microsoft sought to pursue a strategy around Software Factories and DSLs (domain-specific languages) that appeared antithetical to UML.
“Now things have come around; they’ve got some good guys working on their modeling technology like Steve Cook and Don Box,” Booch said. Steve Cook is a Microsoft software architect and the company’s representative to the OMG. Don Box is a Microsoft distinguished engineer working on the Oslo technology, particularly the “M” language.
Microsofts UML Strategy
Cook jumped right into his role as Microsoft’s point man at the OMG. He has blogged judiciously about Microsoft’s modeling strategy and about UML since September.
Said Cook in an Oct. 7 post about UML and DSLs:
“So is UML really contradictory to DSLs? Do they really represent different philosophies? I don’t think so. After all, UML is just a set of domain-specific languages. If you want to model use cases, or state transition diagrams, what other DSLs would you use?“
Cook added that “Software architecture is all about tradeoffs, and there’s obviously one here. On the one hand UML is relatively standard, so that costs of implementation, documentation, training, deployment etc can be amortized across multiple installations. On the other hand, it may not match your target problem very well. There are plenty of domains that UML does not encompass. That is why the OMG has branched out into business modeling.”
Moreover, Cook said:
“The UML-oriented approach to DSLs is ‘profiles’-adding extra data to UML models so that they appear to target more specialized domains than the original UML definitions do. A frequent question about the DSL approach is the danger of proliferation of different approaches to the same problem, and I think that’s a valid concern. On the other hand, the UML+profile approach can end up with cumbersome solutions to essentially simple problems.“
Booch said “the UML standard focuses on the metamodel and less on the graphical representation.” He said the fact that UML has been adapted to different verticals and that things such as Executable UML have been developed “is a mark of the maturity of UML.”
Meanwhile, although Microsoft is pledging support for UML, it is also taking the UML to task.
Said Cook in a post Nov. 2:
“But UML is supposed to be able to map to multiple languages. UML class diagrams ought to be able to map accurately to programs in VB.Net, Java, C#, C++, possibly as well as JavaScript, COBOL, and Python. Similarly, UML sequence diagrams linked to those class diagrams ought to be able to visualize execution traces for all of these programs, and component models ought to be able to represent ports implemented by interfaces on those class diagrams.Today, such an accurate mapping can’t be done without bending the rules. But let’s be hopeful and assume that it becomes possible. In such a world, what are the semantics of UML? There must be some; otherwise all we can say about UML is that it is a language of shapes and lines which can be used for anything.“
For his part, Robert Wahbe, corporate vice president of Microsoft’s Connected Systems Division, said Microsoft’s M language and UML are not competitive but complementary because M is a textual language and UML, with its many diagrams, is more graphical. However, UML is taught in schools and developers who have worked in software modeling are more likely to be familiar with UML, leading to the user demand Microsoft has seen for the technology.
So is UML the Unwanted Modeling Language or simply one more in a series of technologies Microsoft knows it has to support and make nice with? I’d say it is way more the latter and that Microsoft is serious about interoperability.
Perhaps developers will want UML more than Microsoft anticipated. We shall see. Microsoft is famous for bringing complex things to the masses. And I think the final release of Oslo will show why.
What do you think?