oslo

October 28, 2009 oslo

“Oslo” at the 2009 PDC

Lars Corneliussen, my friend and Oslo” consigliere, has posted a nice update on what he’s guessing Oslo” might or might not be: Updates on what Oslo is and Quadrant not is (September 2009). The fact that he has to guess points to just how early we are in the development cycle. For our latest thoughts, I recommend the PDC 2009, where you should attend all of the following talks:

June 29, 2009 oslo

MGraph Visualizer Plug-in for Intellipad!

MGraph Visualizer Plug-in for Intellipad!
June 23, 2009 oslo

Need a visualization of “M” in your programs?

If you want to display M” languages or values, Ceyhun Ciper from sixpairs.com has got you covered with the MGraph Object Model Display Library for WPF. It’s as simple as this:

May 27, 2009 oslo

“‘Oslo’, the May CTP and You” at the PDX Code Camp

I’ll be speaking at the Portland Code Camp on Saturday, May 30th, just as the May CTP of Oslo” is hot off the presses:

As you may or may not know, Oslo” is also a place. However, we’re not going to talk about that. Instead, Chris Sells, a member of the technical staff on the Microsoft Oslo” team, is going to give you a quick intro to Oslo,” including M” and Quadrant, taking you end-to-end on a few real-world-ish examples and then wave his hands furiously about the rest, begging you to give it a try and complain loudly and often so we can get it right before we ship v1.0.

May 26, 2009 oslo

Oslo May 2009 CTP Available Now

The May 2009 CTP of Oslo” available on the Developer Center contains a new unified setup, an Intellipad with an integrated DSL authoring mode, the UML domain and the CLR domain, a slimmed-down SDK with the samples and the documents available on the DevCenter, a unified tool set for the M” language and, the one that folks have been most anticipating, Quadrant.

For more details about what’s new, check out the letter from Kraig and Kent and the release notes. Also, in the coming weeks and months, Kraig and Kent have a pipeline of content for the DevCenter to keep you informed about how we’re using Oslo” and how you can use it better. If you’ve got suggestions, please use the Connect site and don’t hesitate to post your questions on the forum.

May 12, 2009 oslo

“Olso”: Hot or Not?

A coupla weeks ago, I did two days with of meeting, greeting, talking and interviewing at a Dutch company in The Netherlands named Sioux. They do a conference with the politically incorrect name of Hot or Not, which includes an even more politically incorrect picture of two women as part of their advertising, one lovely and one… less so. They have done this conference 12 times before (I was lucky number 13, just like Bilbo) and the goal is to have someone known for a particular technology come and give a talk, e.g. Alan Cox on Linux, and then rate the technology as Hot” or Not.” Since they couldn’t get someone good for Oslo, they had to settle for me.

May 7, 2009 oslo

James Clark Getting Involved in M

James Clark, the father of the world’s fastest XML
April 1, 2009 oslo

Run your house with Oslo!

Kris Horrocks in our marketing team is using Oslo to run his house via X10
March 14, 2009 oslo

Intro to Oslo in Dutch

My Dutch is a little rusty, but RJs Intro to Oslo screencast looks great to me. Good work, RJ.

March 12, 2009 oslo

Preview of Doug’s “M” RESTful Services Talk at Mix

Preview of Doug’s “M” RESTful Services Talk at Mix

Scott Hanselman got a preview of the talk that Doug is giving at Mix this year on RESTful services using M”, took some screen shots and did a nice write-up. Worth a quick look-over even if you’re coming to the talk (which will be a hoot — I’ll be carrying Doug’s bags on this one : ).

March 12, 2009 oslo

BizTalk Application Deployment DSL

March 6, 2009 oslo

OsloTool: GUI for the command line Oslo tools

Bryan Sumter has posted a GUI app he built to run the Oslo command line tools for him:

March 5, 2009 oslo

Self-Modifying DSL from Savas

Leave it to Savas to invent a self-modifying DSL in MGrammar
March 4, 2009 oslo

January 2009 “Oslo” SDK Refresh

The Oslo” team heard you! There was some regression in the quality of the bits” in the Jan CTP from the PDC CTP that affected you guys in our 3-pane mode for grammar editing in Intellipad (aka the bits are worse than they used to be). It was just a sample, but it’s so so useful, that language developers are using the hell out of it, which means they’re running into performance and robustness issues” (which means it was slow and crashed) and we’ve fixed the worst ones in the January 2009 Oslo” SDK Refresh.

You have to uninstall the three things that are called Oslo” before you install and there are no new features or other changes — this is just to make the 3-pane mode better.

February 16, 2009 oslo

Martin Fowler on DSL Migration

Martin, who has recently agreed to be the keynote speaker for the DSL DevCon, has a nice piece on DSL migration strategies.

While Oslo has no direct support for the incremental migration strategy to migrate DSL documents forward, we absolutely provide the tools for building it yourself. We do have very nice support for model-based migration, which keeps a parser around for each version of the DSL and produces the same underlying semantic model (which we call MGraph).

February 2, 2009 oslo

Stephen Forte: Oslo Confessions of a .NET Programm

Stephen’s been turning himself into an Oslo programmer:

Telerik is building some cool Oslo utilities and I am in the middle of designing them. As I was talking to Chris about some of the specs the other day, he asked me: What are you using to keep track of the metadata of your application in your design process?” I was like: Pen, paper, whiteboard, Word and Excel.” He said why are you not using Oslo? Then it struck me, I was in .NET programmer mode. So last decade. While I am using Visual Studio 2008, WPF, SQL Server 2008 and the Oslo SDK to build an application for Oslo, I was not using Oslo to help build the application.”

January 30, 2009 oslo

Bill Gibson on Domain Modeling

Bill Gibson is an architect on the Oslo team and is in charge of our M coding conventions and modeling patterns documents. He’s started blogging recently and has a nice post about domain modeling in Oslo. He’s a good guy to hit up with questions about how to model various constructs in M or just modeling questions in general. He’s been doing this modeling thing forever

January 27, 2009 oslo

Agilitrain: Model Driven Development with Oslo

Holy cow — another Oslo course, this one from Agilitrain:

Microsoft’s Oslo is trying to change the way that software is designed, developed and delivered. They are introducing a platform for building real, scalable and manageable model-driven applications. Being an early adopter of this platform will prepare you for our changing world.

This course will show you how to build models and domain specific languages and use them all at runtime using the Repository to create great applications for your users.”

January 25, 2009 oslo

All Technology Has Downsides

Rocky makes some good points in his recent piece on DSLs (DSLs — fun, cool, but maybe a bad idea? ) — basically, who’s going to learn the DSL when the folks that know it move on? That’s one potential downside of the proliferation of DSLs and I could give you more.

However, all technologies come with these downsides, e.g.

January 18, 2009 oslo

Dan Vanderboom: Why Oslo Is Important

I couldn’t have said it better myself. Very much worth the read. Enjoy.
January 16, 2009 oslo

SE Radio: Oslo with Don and Doug

Episode 123 of Software Engineering Radio is all about Oslo:

In this episode we discuss Microsoft’s OSLO platform with Doug Purdy and Don Box. We briefly discuss what OSLO is in general and then look at the various components of OSLO. We also look at how OSLO fits in with the general Microsoft strategy and how it compares to other DSL/Model-driven approaches. We then look at language modularization and composition and discuss the similarities with XML and Smalltalk. Finally, we discuss possible integrations of OSLO with other MD* approaches and technologies.”

January 13, 2009 oslo

MGraph: Taste Great, Less Filling

Lars Corneliussen has a fun post entitled Microsoft Oslo” MGraph - the next XML? He concludes by comparing JSON, XML and MGraph to represent the same data:

  • JSON: 661 characters
  • XML: 1065 characters
  • MGraph: 590 characters
January 12, 2009 oslo

I’m speaking at VSone in Munich, Feb 11-12

I’m giving two talks on model-driven development at VSone in Germany in Feb this year: the keynote and a dive into Oslo. If you’re in the neighborhood or are looking for a party spot, drop on by!

I’m even going for an extra few days to see the sights — hopefully it won’t be too cold. I’m from the Midwest and all, but when it’s cold there, we stay home. I want to go out! Any suggestions for what I should oughta see?

January 9, 2009 oslo

Oslo Tool: SQL schema -> MSchema

Kristofer Andersson is designing and implementing an airline reservation in the open air. In the process, he ported his models to M, but not by writing them by hand, but by writing a tool to convert existing SQL schema to M
January 8, 2009 oslo

Dealing with the Visual Studio 2010 expiration in the WCF and WF 4.0, “Oslo”, & “Dublin” PDC08 Virtual Machine

If you’ve been using the WCF and WF 4.0, Oslo”, & Dublin” PDC08 Virtual Machine provided on the PDC08 Goods Disk, you’ve probably noticed that Visual Studio 2010 within the VPC expired at the end of December and you are presented the following message The evaluation period for Visual Studio Trial Edition has ended”.  Below are details on how you can export your data and get the image working again.

The work around involves creating a new differencing disk and new virtual machine configuration file and then disabling the clock synchronization between the host and guest OS.  In the end you will have a fresh virtual machine that believes it is 10/10/2008 and the clock will only increment when the machine is running.

January 6, 2009 oslo

The First “Oslo” Training Course!

Pluralsight has a two-day course of Oslo” available on 3/30 in Kirkland:

Since the release of .NET 3.0, Microsoft has been actively engaged in an internal initiative to unify their services and modeling technologies. The result is a new modeling platform — codename Oslo”. To summarize, Oslo” makes it possible to move from a world where models describe the application to a world where models are the application. The technology to deliver this new set of capabilities will be delivered through future versions of BizTalk Server, System Center, Visual Studio, .NET Services and the .NET Framework. Come get a first look” at this ambitious effort and see what’s available today!

January 5, 2009 oslo

What is all the fuss about how you can write DSLs in Lisp?

I found an interesting post on domain-specific languages and Lisp from June of 2007. It has this to say about designing a DSL:

There are three approaches to designing programming language syntax. The first is to develop a good understanding of programming language grammars and parsers and then carefully construct a grammar that can be parsed by an LALR(1), or LL(k) parser. The second approach is to `wing it’ and make up some ad-hoc syntax involving curly braces, semicolons, and other random punctuation. The third approach is to `punt’ and use the parser at hand.”

December 30, 2008 oslo

Martin Fowler: DslExceptionalism

I love what Martin has to say on the topic of designing DSLs:

DSLs are seen as a small and simple subset of general purpose programming thinking. As a result people think that what’s true for general purpose languages is also true for DSLs (with the implication that DSLs are too small to be worth thinking much about).

I’m increasingly of the opposite conclusion. The rules for DSLs are different to the rules for general purpose languages - and this applies on multiple dimensions.”

December 30, 2008 oslo

Spirited Discusson of Oslo on stackoverflow.com

Joel Spolsky and friends have started a developer question/answer board and they’ve started to get some Oslo traffic. Jump on in; the water’s fine.
December 30, 2008 oslo

Jon Flanders Builds XLANG in MGrammar

December 30, 2008 oslo

Creating a Logo / Turtle Graphics Textual DSL using Oslo MGrammar

Jason Hogg has posted a very cool Oslo DSL and an interpretter for doing Logo Turtle Graphics. He had this to say about MGrammar:

I did the bulk of the work specifying the grammar for this simple version of Logo on the flight back from LA to Seattle - which should give you a sense of how intuitive Mg is - and how productive the Intellipad authoring experience is.

December 30, 2008 oslo

Shawn Wildermuth on Oslo

Shawn’s been doing a bunch of Oslo work on his web site:

December 30, 2008 oslo

Jeffrey Juday Exploring the Oslo Repository

Jeffrey has a nice hands on intro to Oslo focusing on the Repository:

Oslo is Microsoft’s model-driven future. The Repository is one of the many architectural components debuting in the Oslo SDK. M is the Oslo model building language. M is translated to TSQL and the resulting Data Definitions create tables and views in the Oslo Repository.

December 30, 2008 oslo

Erik Stepp provides the question for Oslo’s “42”

I’m just catching up a little after one set of holidays and before another one on Wednesday and I noticed Erik Stepp’s blog post entitled Oslo == 42” in my inbox. In his post, he provides a lovely discussion of what Oslo is and why we built it, giving us a concrete example from his own development life. He got it pretty much dead on. Check it out.
December 22, 2008 oslo

Parsing relative and absolute dates with MGrammar

Dilip Krishnan has built a lovely little date parser that supports absolute dates like
December 22, 2008 oslo

If you liked Zork, you’ll love Spork!

Spork is a sample of an end-to-end application using M and the Repository. It starts by defining a set of M types that describe the data needed for a text adventure along the lines of the famous Infocom game Zork (and hence the corporate bad-café-inspired name). The M instances are generated by running a custom compiler developed with the VBA (Visual Basic for Adventures) MGrammar grammar. We also provide a runtime driven by adventure data loaded into the Repository in multiple versions of the types called AdvRunner.

Follow along with the video or with the ReadMe see Spork in action. Enjoy!

December 10, 2008 oslo

Notation, Notation, Notation!

December 9, 2008 oslo

.NET Rocks! Oslo is Love

COM spread the love between developers of multiple languages.

Oslo spreads the love between domain experts, developers and IT folks.

November 16, 2008 oslo

Mr. Epl on the brain

I’ve been writing my MSDN Magazine pieces introducing Oslo and spending a great deal of time in Mr. Epl mode inside Intellipad. So, at 1:23p on a Sundary afternoon, I’m getting a little loopy, which is manifesting itself as me repeating famous lines from popular culture, only substituting Mr. Epl’s name, e.g.

Mr. Epl, I am your father.”

Oh, Mr. Epl, I can’t pay the rent!” You must pay the rent.” I can’t pay the rent!”

Help me, Mr. Epl. You’re my only hope!”

Mr. Epl, Mr. Epl, it hurts when I do that!” Don’t do that.”

November 15, 2008 oslo

SpankyJ is an Oslo Star!

SpankyJ (Josh Williams) is a star developer on the Oslo team (specifically the MSchema compiler) and he’s been doing some very cool stuff with M.

Firstly, Spanky’s the author of the Mr. Epl tool, which is a Read-Evaluate-Print-Loop program for interacting with M (M-REPL => Mr. Epl — cute, eh? When we used to call M” D”, it used to be Dr. Epl. If we change it to S”, we’ll Senór Epl! : ). Mr. Epl ships with the Oslo SDK, so if you’ve installed it, you can find it in C:\Program Files\Microsoft Oslo SDK 1.0\Bin\Intellipad\Samples\Microsoft.Intellipad.Scripting.M\MREPL.exe or you can execute it directly inside of Intellipad with the MScriptMode mode.

November 13, 2008 oslo

Syntax Coloring for Your Custom Mg Language with Intellipad

November 12, 2008 oslo

Rocky on Oslo

Rockford Lhotka had this to say about Oslo:

The Oslo modeling tools are also interesting, though they are more future-looking. Realistically this idea of model-driven development will require a major shift in how our industry thinks about and approaches software development. Such a massive shift will take many years to occur, regardless of whether the technology is there to enable it. It is admirable that Microsoft is taking such a gamble - building a set of tools and technologies for something that might become acceptable to developers in the murky future. Their gamble will pay off if we collectively decide that the world of 3GL development really is at an end and that we need to move to higher levels of abstraction. Of course we could decide to stick with what has (and hasn’t) worked for 30+ years, in which case modeling tools will go the way of CASE.

But even if some of the really forward-looking modeling ideas never become palatable, many of the things Microsoft is doing to support modeling are immediately useful. Enhancements to Windows Workflow are a prime example, as is the M language. I’ve hard a hard time getting excited about WF, because it has felt like a graphical way to do FORTRAN. But some of the enhancements to WF directly address my primary concerns, and I can see myself getting much more interested in WF in the relatively near future. And the ability of the M language to define other languages (create DSLs), where I can create my own output generator to create whatever I need - now that is really, really cool!

Once I get done with my book and all my fall travel, you can bet I’ll be exploring the use of M to create a specialized language to simplify the creation of CSLA .NET business classes : )”

November 11, 2008 oslo

Designing a language is hard; implementing it shouldn’t be

Frans Bouma has an interesting point: Designing a language is hard, and M won’t change that. And he’s right.

For many domains, a DSL can make expressing what’s important easier so that the developers using the DSLs can communicate between themselves and to a computer with fewer lines of code, making it easier to read, check and maintain. Many (arguably most) domains live without a DSL, instead encoding design decisions into general purpose languages, adding unnecessary ceremony to the essence of what’s being decided, thereby obscuring it.

November 11, 2008 oslo

More Oslo Reactions: What “Oslo” is and is not

Lars Corneliussen (not the wonderful Lars that did a cameo at the Repository & Schemas PDC talk about 8 minutes in) did a nice overview of Oslo
November 11, 2008 oslo

Ted Neward Explores M

When I was an external to Microsoft, I used to see new Microsoft technologies and have several reactions: wonder, awe, lust, hate, confusion, apathy. Really, Microsoft was a harsh mistress that caused all kinds of reactions.

I’ve been heads down for 3.5 years working on Oslo, so seeing other peoples’ opinions from inside of Microsoft is very enlightening. Ted Neward has an Oslo opinion that I enjoyed reading, even if it wasn’t all positive. Thanks, Ted.

November 11, 2008 oslo

News: How modeling will change programming

Burley Kawasaki is a Microsoft marketing person, it’s true, but he also really understands the point of Oslo. Enjoy.
November 11, 2008 oslo

Three-Pane MGrammar Development in Intellipad

Roger Alsing has posted a discussion of how Intellipad’s support for MGrammar development makes writing DSLs easier but showing you what parsers and how as you update the input file and the grammar file itself.

Personally, I’m a huge fan of seeing something work as I type. Think of it as “holistic intellsense.” The SQL generation in Intellipad works the exact same way. I find it a huge help.

November 11, 2008 oslo

Another Oslo MGrammar Sample: WatiN

Torkel Ödegaard has done a very nice, detailed look at created a DSL in MGrammar for the WatiN browser automation library, including a look at the code he used to parse the Abstract Symbol Tree produced by MGrammar to do something useful.
November 11, 2008 oslo

Generating code from M

On the Oslo team, we think of three kinds of models:

  1. Drawings: This is modeling to communicate from human to human, e.g. on a white board or in Visio. An architecture diagram in a design document is an example of such a thing.
  2. Model-Assisted: This is modeling where we’re talking to a computer, most often to generate code, e.g. the .edmx file used by Visual Studio to generate C# data access code.
  3. Model-Driven: Here we’re also communicating from a human to a computer, but instead of doing it at development-time to generate code, the model is actually used at run-time to drive a run-time, e.g. a Workflow definition to drive the Workflow engine.
November 11, 2008 oslo

MisBahaving with M

The M family of languages is meant for all kinds of things, from executable models, e.g. defining a workflow and executing it via the Workflow runtime, to allowing a business person to express something in a language, either visual or textual, that they understand so that it can be communicated as formally as desired to another human. As an example of the latter, Claudio Perrone has implemented a DSL in MGrammar for Behavior-Driven Development.

It is amazing to me how many of these little DSLs have popped in M just since the PDC. Keep em coming!

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 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.”

November 3, 2008 oslo

Aaron Skonnard on “Oslo”

Aaron Skonnard of pluralsight has provided a very nice overview of Oslo,”
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

September 6, 2008 oslo

Oslo Defined

I’ve spent the last 3.5 years of my life working in various roles on a project that is now called Oslo.” Both Don and Doug have posted definitions.

See you at the PDC!

August 1, 2008 oslo

Oslo talks at the PDC

After 3.5 years, my team’s work in Microsoft’s Connected Systems Division will finally see the light of day! Here are the related talks we’re giving at this year’s PDC:

June 13, 2008 oslo

Bill’s Last Review

The last coupla months have been crazy. We’ve been warming up our PDC message with a series of SDR (Software Design Reviews) where we invite folks from the community, influencers, important customers, etc, to come and hear what we think the story is for our new technology before we blow it in front of a live PDC audience. There’s a ton of prep to make sure we’re as polished and as thought through as possible and that we’re presenting as well possible, so there’s been a ton of work on what the story is and how to present it properly. The latter means that I run a little internal training course called Sells University” which is kind of an extreme presentation skills” workshop I run, complete with Sells U hats and t-shirts (the alumni parties are fun : ).

Still we don’t always get it right, which means mining the feedback (loud, enthusiastic and extensive feedback) to see what we can improve for the next time.

December 3, 2007 oslo

12 ways to de-commercialize the holidays

From 12 ways to de-commercialize the holidays:

  1. Yankee Swap
  2. Secret Santa
  3. Un-Secret Santa
  4. Re-gifting
  5. Pool your resources
  6. For children only
  7. Donate in others’ names
  8. Limit spending
  9. Families helping others
  10. Plan family outings
  11. Let the kids rule for one day
  12. Take a trip
August 2, 2007 oslo

eWeek: Microsoft Moves Ahead w/ Software Modeling

I work on the same team as Don and Chris to which this article refers. There’s few actual facts in this piece and some of those are wrong (love Chris like a brother, but he wasn’t on the WCF team : ), but it’s interesting that my little group is making its way into the news.

BTW, as a matter of context, I’m not a big codegen fan (in spite of my previous dealings : ) and it would be a mistake to think of modeling” as fancy codegen,” in spite of what this article implies.

November 6, 2005 oslo

11/10 PND Topic: What does MDD mean to you?

I haven’t been able to hang out at the Portland Nerd Dinners in forever, but it’s on my calendar for 11/10 and my topic is