RDN Express Blog

Blog archive

Architecting Oslo

From all accounts, Microsoft has put a lot of work into the Architecture Edition of Visual Studio (VS) 2010 Team System. Application modeling is an integral part of the application lifecycle with new features such Sequence Diagram Reverse Engineering and the Architect Explorer for analyzing the relationships between modeling artifacts. The upcoming release also adds support for five UML diagrams, beyond the UML support in Visio.

With VS 2010 Beta 1 around the corner -- most estimates put Beta 1 in the Tech-Ed timeframe -- how does "Oslo," the new model-driven development platform previewed at the Professional Developers Conference, fit with the app modeling tools in VS 2010 Architecture Edition and the existing DSL Toolkit?

Earlier this month, Microsoft refreshed its January "Oslo" community technology preview, fixing some DLLs. The Oslo SDK January 2009 CTP offered bug fixes and added more features related to the "M" language (MGraph, MSchema and MGrammar). At MIX last week, the Oslo team released the source code to MUrl, an M-based textual DSL and runtime for HTTP services.

In a February RDN Express blog, "M Is for Re-Modeling," I asked about the problems Oslo is trying to solve. I was happy to hear from Kris Horrocks, Microsoft's senior product manager for the developer platform, who offered insight into the company's view of model-driven development and how Oslo fits into that vision.

RDN: What's new in the January CTP?
Horrocks: We have taken a lot of time since PDC to really stabilize this preview and then we've done a fair number of modifications and updates to the "M" programming language based on the community review we've had so far. There is actually a list of all the specific language constructs that are now supported and so forth. The other part that is updated in the CTP is within our repository. There's a greater number of out of the box models already in the repository compared to what was there at PDC.

Is "M" considered one language or multiple languages?
We're in the process of transitioning to talk about it as one language. Some of the feedback that we've gotten from PDC was that trying to talk about it as three different languages was unnecessarily complex. So at PDC we were referring to MGraph, MGrammar and MSchema and what we have chosen to do moving forward is to really just refer to those as three capabilities of the "M" language. And we found the technical reality is...that those three capabilities are merging to all be available through a common language.

Have you made any other changes since PDC?
It is mostly stability, language enhancements and additional content in a repository. There are also improvements in our Quadrant development tool, as well. ("Quadrant" was included in the VPC distributed to PDC attendees. However, Microsoft has not released "Quadrant" in any of the CTPs available for download on MSDN.)

How is Quadrant different than the graphical DSL tools that are in Visual Studio?
It is technically a separate shell. We are working in close concert with our Visual Studio team...to understand what the experience needs to be for our customers who are doing some modeling in the DSL Toolkit and some in Oslo.

Is Oslo expected to be part of VS 2010?
Yeah. I think a great way to think about it is -- are you familiar with the project we used to refer to as WinFx? So there was a while when we were referring to WinFx as a codename that basically became Windows Communication Foundation, Workflow Foundation and Presentation Foundation. And then as we got closer to actually shipping, we made some decisions about which part of our existing developer platform to release those in and in that case, it was the .NET Framework.

We fully expect the Olso capabilities to undergo a similar process where today we refer to these three capabilities that are provided by the repository -- the repository, the language, the quadrant -- as Oslo, but as we get closer to shipping our customers should expect that these capabilities will flow into their existing development platform and tools.

And that timeframe is the VS 2010 timeframe?
Well, it depends. Right now we are still getting feedback. One of the things with Oslo that we are trying to do is trying to be very early with our engagement with the community. We want to make sure that we get all the feedback that we possibly can about all of these components. And then based on their feedback, we'll chose the right ship vehicle...

Read the rest of the Q&A here. Are you testing "Oslo"? What are your thoughts on Microsoft's approach to domain modeling and application development? Comment below or drop me a line at [email protected].

Posted by Kathleen Richards on 03/24/2009


comments powered by Disqus

Featured

  • Uno Platform Wants Microsoft to Improve .NET WebAssembly in Two Ways

    Uno Platform, a third-party dev tooling specialist that caters to .NET developers, published a report on the state of WebAssembly, addressing some shortcomings in the .NET implementation it would like to see Microsoft address.

  • Random Neighborhoods Regression Using C#

    Dr. James McCaffrey from Microsoft Research presents a complete end-to-end demonstration of the random neighborhoods regression technique, where the goal is to predict a single numeric value. Compared to other ML regression techniques, advantages are that it can handle both large and small datasets, and the results are highly interpretable.

  • As Some Orgs Restrict DeepSeek AI Usage, Microsoft Offers Models and Dev Guidance

    While some organizations are restricting employee usage of the new open source DeepSeek AI from a Chinese company due to data collection concerns, Microsoft has taken a different approach.

  • Useful New-ish Features in .NET/C#

    We often hear about the big new features in .NET or C#, but what about all of those lesser known, but useful new features? How exactly do you use constructs like collection indices and ranges, date features, and pattern matching?

  • TypeScript 5.8 Beta Speeds Program Loads, Updates

    "TypeScript 5.8 introduces a number of optimizations that can both improve the time to build up a program, and also to update a program based on a file change in either --watch mode or editor scenarios."

Subscribe on YouTube