So, I've been to two talks about Oslo and I still don't completely know what it's supposed to do :)  Long story short, I think this is going to be a little while before it's fully baked, but it does show some promise.  M (the language) sounds slick, and some of what Quadrant (the GUI modeling tool) can do looks really slick (as a data manipulation tool).  Getting the runtime right is going to be the tricky part.

Oslo is Microsoft's modeling-centric environment.  It has a textual language (M) for creating/working with models, a graphical tool for creating/working with models (Quadrant), and a series of runtimes to execute the models (eventually WCF/WF/IIS/"Dublin").  I haven't seen much of the runtimes yet, but from what I can see there's not a whole lot there yet, which I can understand -- a model-driven execution environment is *not* trivial to create.  Right now the runtime part appears to be limited to custom-written ones (over custom models described in a custom language).  MS is at least starting at the right place here -- with the tooling for building and working with the models (M and Quadrant), as well as the repositories.  It's a nice side benefit that these tools are immediately useful for other stuff (building grammars to parse data into C# objects to build small DSLs, like the one Don Box demonstrated in his part of the keynote on Tuesday with Chris Anderson).

Using M to specify a data model is very straight-forward, and defining a syntax for specifying it looks doable (though far from simple -- however, I didn't make the talk focusing on that part, so it may be easier than I think).  Plus, Oslo includes full syntax highlighting for the base languages and custom syntaxes in Intellipad (Intellisense Workpad -- a display surface in Quadrant is a Workpad).  The editor is also able to detect violations of constraints or custom syntax via the standard red-squiggly-line effect.

A couple of other notes from the sessions and the Q&A that followed them:

  • The first Oslo milestone was just a box-and-arrow tool, no textual tool, but the team soon realized that a tool like M was needed to allow people to express themselves in text.  Textual input is important.
  • In Oslo models, matching shapes == matching types
  • Oslo is not intended to solve the expedience mismatch between object model, SQL model, and XML model (it also won't solve world hunger)
  • Though the current toolkit can generate SQL create/inserts from an M model, but there is no SQL differencing -- will use eventually use another tech MS is working on for that
  • A custom function can be defined in M using LINQ syntax that will result be turned into a SQL function when it creates a database.

Also, a little tidbit that Don dropped during the M session:

  • There is a new XAML stack in 4.0 - completely decoupled from WF/WPF (both use this new stack)

In short, it sounds interesting (like almost everything I've heard so far at PDC), but I'm not seeing the short-term benefits.  Long-term?  Could be interesting.  I'll probably review the session videos on these once I get back home to make sure I'm fully understanding this, but if it stays the way I'm seeing it, I'll probably just wait-and-see where MS goes with this.