Oslo will consist of three tools: a visual designer (codenamed "Quadrant"), the modeling language (codenamed "M") for writing text-based DSLs and data models, and a "relational repository" that makes the models available to other .NET tools and components.
Oslo is designed to unify Microsoft's modeling technologies. It is likely to be the successor to the company's modeling tools such as the Web Services Software Factory: Modeling Edition, which offers guidance and code generation in Visual Studio 2005 and Visual Studio 2008.Microsoft's Modeling Platform
"M" modeling language: Allows ISVs and developers to build textual domain-specific languages, compile DSLs to XAML, and map DSL models (schemas) to a database
"Quadrant" visual designer: Editing tool for any graphical models including DSL and UML.
Relational Repository: SQL Server database that integrates models and enables developers to use existing database tools such as Access, Excel, SQL Server Reporting or Analytical Services in addition to "Quadrant."
First announced in October 2007, Oslo will enable .NET developers to more easily create domain-specific languages -- custom mini-languages, often industry- or component-related, that can be used to solve similar problems in a common domain. Microsoft's existing DSL toolkit, which focuses on graphical DSL, first appeared as an extension to Visual Studio 2005 and was baked into the Visual Studio 2008 SDK.
Oslo extends the existing DSL Toolkit; adds support for UML, BPMN and BPEL via a visual designer; and stores the artifacts and conceptual diagrams in a common SQL Server database. The goal is to enhance traditional imperative programming techniques with higher-level models to improve flexibility in terms of extensibility and changing the behavior of the app, as well as to increase transparency and productivity.
"Across the board, we are seeing the platform becoming model-driven," said Robert Wahbe, corporate vice president of Microsoft's Connected Systems division. "And really, this is a pretty natural evolution. Platforms are constantly trying to raise the level of abstraction. We used to program in machine and assembly language. Now we started obviously programming in 3GL, and this is kind of the next logical step of representing pieces of your application as much higher-level models. The way we see it, it is not programming languages or models -- it's programming languages and models."
Although some modeling concepts may be more prevalent today -- the ability to easily create DSLs is part of Ruby on Rails' broad appeal -- the initial response among some developers to more modeling tools in .NET and higher levels of abstraction is lukewarm.
"We've seen model-driven architectures -- an idea from the '70s. It still hasn't managed to produce executable diagrams and so forth," said Stephen Bohlen, an application developer and project manager at New York-based Microdesk. "Why is it going to work this time? What's different? It's not like it hasn't been tried before. I'm interested to see what the answer is."
Data-driven app developer Roger Jennings, a contributing editor to Redmond Developer News' sister publication Visual Studio Magazine and OakLeaf Systems blogger, said that with Oslo, Microsoft is moving to a repository for componentized software. The company's intention is to make the visual designer Quadrant usable by business analysts -- to modify workflows, for example -- but whether that will work is unclear. "My feeling about Oslo is that what they are trying to do is get business analysts involved in the design process, but not necessarily doing the design," Jennings said.
According to Wahbe, the first version of Oslo is definitely targeted at the development community. For business analysts and end users, he said, "What we expect is that those models will be surfaced naturally within their existing toolsets." For example, SharePoint has document approval that "under the covers" is using a model and workflow but that is not directly exposed to the user.
However, he added, "The tool that we've built is very easy to use and we imagine over time analysts and IT using that tool."
Developers can test out Microsoft's early efforts with Oslo soon enough and provide the company with valuable feedback. The delivery vehicle for the final product is undecided, according to Wahbe, but Oslo will be part of the Visual Studio 2010 rollout.
--Jeffrey Schwartz contributed to this article.
Microsoft Boosts Modeling Strategy and Rejoins OMG
Sacha Baron Cohen Detained By Italian Authorities After Crashing Catwalk