Microsoft Reveals Oslo Tools
- By Kathleen Richards
- 10/14/08
As Microsoft readies pre-release bits for its Professional Developers Conference
later this month, the company's Connected Services division Friday announced
key components of its "Oslo" modeling platform.
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.
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.