Desmond File

Blog archive

Oslo: Making Models

Microsoft is working overtime to change the way you write software. That message might have gotten lost in all the news about Windows Azure, Windows 7, and all the .NET 4.0 and Visual Studio advances at the Microsoft 2008 Professional Developers Conference (PDC) last month. But one look at the messaging and tooling coming out of the "Oslo" project makes this fact crystal-clear.

We spoke at PDC with Burley Kawasaki, director of product management in the Connected Systems Division at Microsoft. He's in charge of managing the Oslo project, which is comprised of the "M" modeling language, the "Quadrant" visual modeling tool and the Oslo repository. These tools, currently in community technology preview (CTP), allow developers to create their own domain specific languages (DSLs) that are tuned to address a specific set of issues or requirements. Just as important, Oslo encourages developers to further abstract their thinking, building application behaviors based on configurable models that can be reused and reshaped.

To hear Kawasaki tell it, Oslo is just the latest -- albeit, most significant -- move in what has been a years-long trend at Microsoft toward model-driven development.

"We benefit from the fact that the core .NET platform has been getting much more model-driven over the last three-plus years. If you think about things like Silverlight or WPF, they are very model-driven. The presentation layer isn't specified as code, it's specified as XAML, and it's configurable so if I change the definition of the XAML file, it changes the presentation of my application," Kawasaki explained.

"The same is true for Web services. If I change the configuration metadata on a WCF-based service, it can change the behavior of the service. Or ASP.NET with the latest MVC extensions -- very model-driven. The whole structure of your application now is really a set of models, so as a platform it is getting much more model-driven," he concluded.

Microsoft developers seem attentive to Microsoft's modeling mantra. The Lap Around Oslo presentation at PDC, hosted by Microsoft Product Unit Manager Douglas Purdy, was packed with developers anxious to get familiar with the new tooling. Based on the response I saw at the presentation, the Oslo tooling was well-received.

Have you worked with the Oslo CTP? What are your impressions of the M modeling language and Quadrant visual editor? What works and what still needs work? E-mail me at [email protected]. And let me know if you think Microsoft's modeling push can really help dev shops better build and manage their applications.

Posted by Michael Desmond on 11/11/2008


comments powered by Disqus

Featured

  • Copilot Engineering in the Cloud with Azure and GitHub

    Who better to lead a full-day deep dive into this tech than two experts from GitHub, which introduced the original "AI pair programmer" and spawned the ubiquitous Copilot moniker?

  • 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?

Subscribe on YouTube

Upcoming Training Events