Commentary
Microsoft Talks Models Without Mentioning The U-Word
Microsoft talked a lot about software modeling this week, but it never mentioned the U word, that is, Unified Modeling Language, also known as UML. That may be because Microsoft has always said UML is too complex. Or maybe it's because UML underlies its competitors' best modeling efforts.Microsoft talked a lot about software modeling this week, but it never mentioned the U word, that is, Unified Modeling Language, also known as UML. That may be because Microsoft has always said UML is too complex. Or maybe it's because UML underlies its competitors' best modeling efforts.So where does Microsoft stand on UML? Is it going to ignore it, as it's largely succeeded in doing so far? Or is it going to create a UML-look-alike for Windows, as it's done with other technologies in the past?
UML was created through the efforts of the Tres Amigos, James Rumbaugh, Grady Booch, and Ivar Jacobson, so called for their endless ability to argue over the finer points of modeling. Each had founded a camp with its own strengths. That they came up with UML at the behest of Rational Software was a great accomplishment.
More Windows Insights
White Papers
- Mobile BI: Actionable Intelligence for the Agile Enterprise
- Creating the Enterprise-Class Tablet Environment - by Yankee Group
Reports
More >>Webcasts
- Maximize ROI with Database Consolidation onto Private Clouds
- The ABC's of Cloud Computing in the Midmarket
But it also was a complex, graphical notation for software modeling, and because of that, precise enough for generating code from the model. That code can serve as the backbone of an object-oriented system that developers fill out manually. UML models are part of the tooling offered today by IBM, Telelogic, Borland's Together products, and Compuware. So what's Microsoft going to do, invent a new set of modeling notations for its own tools? Burley Kawasaki, director of product management for Microsoft's Connected Systems Division, says no, Microsoft won't produce a modeling language to compete with UML. But it won't adopt UML as its primary notation, either.
It's going to take a different approach, one that furthers simplicity in modeling, Kawasaki says. Models capture information about a software system in their visual designs, then store that information in a repository. Microsoft will try to allow different graphical representations to be used in the design, but capture the information into similar terms and data for the repository, regardless of the design's notation.
"What we're trying to do is separate the visual annotation from what gets stored in the repository. We think we should be neutral on the visualization," Kawasaki said in an interview.
That could have several advantages, as long as the translation from graphical element to data stored in the repository can be accomplished with a degree of uniformity across model types. Microsoft may provide a simple, baseline modeling representation, then rely on third parties to build more sophisticated offerings on top of it. Either way, it wants the information captured by the models to become exchangeable in the repository. And it wants its developer customers to be happy with the results.
If it can do the job proficiently, then a variety of choices will be available, including the UML modeling techniques of the competing camp. Kawasaki says under such an approach, Microsoft or a Microsoft partner could map UML notation to the intermediate data language of the Microsoft repository. If the state of the art can be pushed to that point, UML diagrams once intended for Java systems may get used in the building of .Net systems. It seems obvious to me that the .Net's Common Language Infrastructure provides the analogy for what Microsoft is doing here. When it comes to programming languages, you can develop an application in Visual Basic, C#, or C++, and they will be converted at runtime to a common intermediate byte code. One application can be built using all three languages and, at runtime, merge their separate parts into a common byte code stream.
Microsoft has made it work for programming languages. It might work for modeling languages, too. Or maybe Microsoft will just spend a long time trying to catch up to UML.
Related Reading
| To upload an avatar photo, first complete your Disqus profile. | View the list of supported HTML tags you can use to style comments. | Please read our commenting policy. | |
|
|
T-Shirt Giveaway: Each week we're selecting one great comment from our readers. The author of the comment will receive an InformaitonWeek Community t-shirt. So get posting! |
Subscribe to RSSResource Links
This Week's Issue
Technology Whitepapers
- Mobile BI: Actionable Intelligence for the Agile Enterprise
- Creating the Enterprise-Class Tablet Environment - by Yankee Group
- How To Regain IT Control In An Increasingly Mobile World - by BlackBerry
- The BlackBerry PlayBook tablet's Good Bones - by BlackBerry
- Red Alert: Why Tablet Security Matters - by BlackBerry
Featured Resource
This technical brief dives deep into migration recommendations and explains how to plan thoroughly, adopt a phased approach and who to ask for help.
Read Now












