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.
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.
How Enterprises Are Attacking the IT Security EnterpriseTo learn more about what organizations are doing to tackle attacks and threats we surveyed a group of 300 IT and infosec professionals to find out what their biggest IT security challenges are and what they're doing to defend against today's threats. Download the report to see what they're saying.
IT Strategies to Conquer the CloudChances are your organization is adopting cloud computing in one way or another -- or in multiple ways. Understanding the skills you need and how cloud affects IT operations and networking will help you adapt.