Microsoft and the 'Unwanted Modeling Language' - Page 2

Download the authoritative guide: How to Develop an IT Security 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?