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: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:
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?
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: