In a series of announcements slated for Tuesday on its Redmond, Wash., campus, Microsoft officials will assert that software modeling is not just for the most expensive tools on the market but for "the average developer" as well.
It might sound prosaic -- software designers have been drawing diagrams of the programs they planned to build for many years. But modern modeling techniques allow code to be generated from the symbols and syntax of the model. Furthermore, it's a two-way street: If a change is made to the model, it's reflected in the code; if a change is made to the code, it's reflected in the model.
That makes for a great deal of more visibility into the software on which businesses depend. And it captures and highlights changes when things go wrong. In many cases, it leads to greater reliability in the software.
"This modeling capability will surface in the products that people know and use today," including Visual Studio development tools, Biztalk Server business process development tools, and the .Net framework, said Steven Martin, director of product management for the Connected Systems Division, in an interview.
Sophisticated modeling in the past has been associated with the Unified Modeling Language models produced by Borland's former Togethersoft tools, now part of a new independent Borland business unit, CodeGear. UML modeling has also been the hallmark of Compuware, Telelogic, and IBM Rational tools.
"In the past a very select group of users has used modeling. Microsoft is going to make modeling mainstream for the average developer," said Martin.
The details of the new capabilities will be provided in an opening keynote by Robert Wahbe, VP of the Connected Systems Division, and Don Ferguson, Microsoft technical fellow.
BizTalk Vesion 6.0 for SOA, Visual Studio 10 and System Center 5.0 will all eventually be equipped with modeling capabilities. "We want to get rid of terms like 'import' and 'export.' We want to have a unified approach to modeling," Martin added.
If achieved, a model of requirements for a new application could be handed off to a software architect, who would diagram out a system. That model would move to a developer who would generate code from the diagram, filling in custom parts. The model would also accompany the new application into production, becoming the document that illustrates how the software works and recording any changes to the code.
"We won't be satisfied until two people in different organizations can work on an application separately and deploy it either to the Web or locally in their own organizations," said Martin.
Microsoft plans to start delivering beta versions of its software with the modeling capabilities in 2008. No date was set when the capabilities would be merged into the existing product lines.