Make sure you check out the video content on Oslo available on

First Look at Quadrant – Oslo’s Modeling Tool

First Look at M – Oslo’s Modeling Language

Oslo is the codename for Microsoft’s Modeling Platform. The end goal of Oslo is to increase productivity by promoting the use of model-driven applications.

Oslo is composed of three pieces: a Tool, a Language, and a Repository. In this blog post, I will share some features and screen shots of the tool and language.

The Tool for Oslo is called Quadrant. Quadrant is a universal modeling UI with robust features. The main windows is called a workspace. You can have multiple workspaces open at any given time. Single windows open inside a workspace are called a workpad.

Below is a picture of Quadrant with a workpad open in the workspace.

(Click picture to enlarge)

Quadrant has a top level ribbon bar much like Word. This is shown below.

(Click picture to enlarge)

In the bottom left of the main Quadrant windows, you have an Explorer button and Search Box.

The Explorer window expands as items are selected with the sub-results displayed to the right. A hand with 5 fingers shows how to select items. Scrolling is identified by a mini-scroll bar to the right of the hand. To add new items to the workspace, move to the left icon of the items you want to add. The hand will turn to 3 fingers. Hold the left mouse and drag the items to the workspace. You can also drag-and-drop from the top ribbon bar as shown below.

Many models will have relationships to each other. In these cases, available fields from other models will be show in a populated drop down as seen below.

This should give you a high level overview of the look at feel of Quadrant.

The second key component of Oslo is M – the new Modeling Language. To code in M you use an awesome, lightweight tool called Intellipad. Intellipad with a completed model are shown below.

(Click picture to enlarge)

Looking a little like Wordpad, do not be fooled. This is full featured, complete with red underlines for real time validation.

Going to the M Mode menu on the top toolbar, generating actual SQL based on your model is only a click away. Below, is the same model with a side by side view of the model and the SQL to generate that model inside SQL Server.

(Click picture to enlarge)

Running this model would produce these results inside SQL Server.

One of the core concepts that make up Oslo is the idea to define models using Domain-Specific Language (DSL). In fact, using M you can create you own DSL! Below, you can see how I created a AllMyPets DSL to track the name of my pets.

The third piece of Oslo is the Repository. This repository is a SQL 2008 Database. Using a database as the repository allows for easy access to the stored data and a way to share it. Security, backups, and scaling are all included using SQL Server. This will not be covered in any more detail in this blog post.

Make sure you check out these other Oslo Resources:
Oslo – PDC-08 CSD Bits Review

MSDN Oslo Dev Center

Models Remixed