November 11, 2008 oslo

MSchema and Decorator Tables

The one where Shawn Wildermuth explores the MSchema syntax that looks like inheritance but isn’t (since inheritance has no meaning in a structurally type language).

November 11, 2008 oslo

Vim Support for MGrammar

November 6, 2008 conference

The DSL DevCon

I’m thinking it’s time for another DevCon. I know it’s been a while since the last one (in fact, I hear there was some kind of petition to have another one? : ), so we’re long past due.

This one will be on all things data-driven, model-based and/or DSL enhanced. I’m thinking March or April of 2009.  Who’s interested?

November 6, 2008 oslo

Big, Juicy Video on M from Jon Flanders

Jon Flanders from pluralsight has posted a 39 minute screencast video introducing M to .NET developers. Enjoy!
November 6, 2008 oslo

Oslo: Using Mg to Define a To-Do Language

Justin Bailey has built a little language in MGrammer to create tasks and even better, he’s provided a very tutorial on how he did it. Following along with him would make a great way to learn the basics of Mg. Plus, I love his conclusions:

Mg is clearly a powerful technology for defining languages. The above is a trivial use, but already we have bypassed most simple file parsing techniques. Quoted strings and balanced parentheses are the bane of non-parsing techniques and it appears that Mg will be placing those abilities within reach of most .NET developers.”

Good work, Justin!

November 3, 2008 oslo

Aaron Skonnard on “Oslo”

Aaron Skonnard of pluralsight has provided a very nice overview of Oslo,” including the major pieces and most importantly, why you care. Enjoy!
November 2, 2008 oslo

Oslo Week One Wrap-Up

Oh my lord above. I have been working towards last week for about 3.5 years altogether. It started with an incubation in the Connected Systems Division (CSD — the folks that own WF, WCF, BizTalk, etc) doing work to see if modeling was a feasible way to build applications and we just announced the work so far along these lines at the PDC last week. It’s called Oslo” and here are the top places you should look to get up to speed on it:

Microsoft Oslo” Resources

But don’t take my work on Oslo.” Check out what the world is saying (in no particular order — honest!).

The World’s Take on Oslo”

Whew. We just announced Oslo” last week and it’s crazy how much there is on it already. Enjoy!

October 27, 2008 osloeditorial

The Oslo Developer Center: Letter from the Editors

Welcome to the Oslo” Developer Center, your one-stop shop for all things Oslo.” Do you need to learn how M works (or what the heck it is?)? Do you want to sprinkle some of that repository stuff into your SQL Server? Do you need a quick video tutorial on the Oslo” SDK tools? Then you’ve come to the right place!

This DevCenter is a bi-directional communication channel between the Oslo” product team and you, our customers. We have all kinds of things we want to tell you about Oslo and all manner of ways for us to tell it to you, e.g. articles, videos, screencasts, samples, tools, etc. But more important than that, we want to hear from you, so we’ve set up a forum for you to ask questions and a Connect site for you to report bugs. And, if you blog about Oslo, you’re very likely to get noticed and featured on the home page. Or, if you do post about Oslo or find something Olso-related that you think deserves mention and we haven’t found it yet, then don’t hesitate to tell us! Finally, if that doesn’t make you happy, you should feel free to send your email directly to the site’s editors, Chris Sells and Kent Sharkey. We’re here for you!

What is Oslo?”

And to kick this conversation off, we’d like to provide the 10,000 foot introduction to Oslo”. Oslo” is the code name for our platform for model-driven applications. The goal of Oslo” is to provide a 10x productivity gain by making model-driven applications mainstream. At the core of this platform are domain-specific models, language and tools:

  • A language, M, for authoring domains textually
  • A tool, Quadrant, for authoring domains visually
  • A Repository for managing domain models
  • A library of pre-built domain models and languages

Together, these components will make it more efficient for a team to develop, implement, and maintain applications and services.

What is M”?

M” is a new declarative language that provides developers with an approachable, textual format for authoring models and DSLs for those models. The M” language consists of three parts: MGraph, MSchema and MGrammar. MGraph is used to write down values in a graph structure similar to syntaxes like JSON. MSchema builds on MGraph by providing a structural type system, extent declarations for storing values, and computed values, which are queries over values and extents. MGrammar is used to describe a domain-specific language in terms of token and syntax rules, which are then used to parse text into an MGraph.

What is Quadrant”?

Quadrant is a real-time editor over a SQL database. Updates in Quadrant are automatically propagated to the database. Views over the same data are automatically refreshed when those data changes are made to the database. This is technically possible because Quadrant is built on an innovative dataflow technology. Quadrant’s user experience is reflective of the experience in Office tools.

Quadrant is available to PDC attendees on the VPC, but not yet available for download. We hope to get Quadrant into a future Oslo CTP soon!

What is the Repository?

The Oslo” repository delivers a platform to manage application metadata. The Oslo” repository provides a common set of features to enable data-driven applications to leverage a platform investment made by Microsoft.

The Oslo” repository builds naturally upon the SQL Server database and provides optimizations for storing and sharing models — by providing a thin layer on top of the existing DBMS engine, this enables customers to easily leverage the existing SQL Server database ecosystem (e.g. tools, reporting, BI, etc). The repository is designed for extensibility, and supports common tasks such as impact analysis and access control. The repository manages end-to-end system models across the lifecycle, including support for both design and run-time views of application metadata. Pre-built models will be delivered as a starting point for building your full application, and with extensibility points so that your models can be augmented as needed.

Call to Action!

See for yourself. Download and install the Microsoft Oslo” SDK. It contains lots of goodies, including:

  • Compilers and tools
    • The M” compiler (m.exe)
    • The MGrammar compiler (mg.exe)
    • A tool to parse files based on a .mgx, and output an M” or XAML file (mgx.exe)
    • A tool to load M” content into a SQL database (mx.exe)
    • Visual Studio language integration for M”
    • Intellipad, a text editor with MSchema and MGrammar integration (ipad.exe)
    • MSBuild integration for the M” compiler
    • M” Add-in for Excel 2007
  • Documentation
    • Oslo Overview
    • M” in a Nutshell
    • M” Language Specification
    • MGrammar in a Nutshell
    • MGrammar Language Specification
    • Intellipad Primer
    • Help content for M”, Models, and the Repository
  • The Oslo and Dublin models
  • Samples
    • M Models: Northwind DBMS, WMI schemas (subset), enumeration and relationship patterns, and query examples
    • MParserDemo, a sample that demonstrates using the M” framework
    • Samples for M” Language Specification
    • MGrammar samples
    • Intellipad samples

And then, once you’ve dug through all of that, come here for more and to post your bugs and questions. We’re working to keep the content up to date and fresh, so they’ll always be something new for you at the Oslo DevCenter.

XXOO, Chris Sells & Kent Sharkey


← Newer Entries Older Entries →