Shedding more light on its Oslo vision for model-based software development, Microsoft this week elaborated on plans to preview Oslo technologies, offering codenames and citing the company's DSL (Domain Specific Languages) concept as a lynchpin of the platform.
A Community Technology Preview of Oslo is due at the Microsoft Professional Developers Conference in Los Angeles on October 27. Featured in the CTP will be a declarative modeling language now being identified by the codename, "M," as well as software modeling tool codenamed "Quadrant.
A repository for integration between models also will be part of the CTP. User feedback on the CTP will help determine the overall roadmap for Oslo technologies, said Robert Wahbe, Microsoft corporate vice president of the company's Connected Systems Division, during an interview this week.
With Oslo, Microsoft seeks to provide another layer of abstraction for developers and make development easier; models become the applications. Business analysts also could make changes to models. For example, an analyst could change an application that requires two managers' approvals for lunch expenses exceeding US$100 to requiring these approvals for a $50 lunch, Wahbe said.
"It's easier in many cases to look at a model and see what it's trying to do rather than look at hundreds of thousands of lines of code," Wahbe said.
With the M language, ISVs and developers could build textual DSLs, he said. A DSL enables a developer to write down intent in a way that is close to how a developer is thinking about a problem, Wahbe said. M also can be used to build data models.
"The idea of DSLs has been around. What we're trying to do with Oslo is make it easier for mainstream developers to use models in general," Wahbe said. Microsoft, as an ISV itself, will use DSLs for building domains for activities like workflow and databases.
"[The] notion is that M is excellent at building these DSLs in an easy way," Wahbe said. "In turn, once you have that DSL, what it does is it lets you produce something that the platform can execute directly."
A model is translated to XAML, which can be executed by the platform. Oslo also can work with multiple runtimes from platforms like Java if developers customize the Oslo tools.
Quadrant, meanwhile, provides a way to author models visually. "The way to think about it is M lets you build textual DSLs and Quadrant lets you build visual DSLs," Wahbe said.
Oslo will be featured as part of the Visual Studio product family; the company has not yet announced which version would include Oslo. While Oslo at first glance might appear to be minimizing the role of the developer by raising the level of abstraction, Microsoft believes it is just a natural step in the evolution of software development that does not put developers' jobs at risk, Wahbe said.
"Developers can deliver higher quality applications faster," he said.
With Oslo, Microsoft has "definitely raised the bar," said analyst Nick Gall, vice president of the enterprise architecture team at Gartner.
"The Oslo approach to modeling is a refreshing new approach. That said, it is ambitious," Gall said.
"Any attempt to do really do model-driven architecture is ambitious. We've been trying to do executable models for 25-plus years, and all to date have failed," such as with CASE (Computer Aided Software Engineering) and Object Modeling Group efforts, said Gall.
Microsoft is attacking the two core issues of modeling: translating from models into executable code and the functional aspect of an application, in which functional models must accommodate non-functional aspects of an application such as security and systems management, Gall said. Microsoft has not yet completed the integration with non-functional models, he said.
Oslo integrates with existing applications, according to Microsoft. It brings together a connected view of models and builds on existing investments on top of the Microsoft platform. Microsoft also is working with ISVs on solutions built using Oslo, including line-of-business applications and DSLs, the company said.