Saturday, November 01, 2008

Last week at PDC 2008, OSLO was announced as the new platform for model driven development. OSLO is composed of a language called ‘M’, a tool called ‘Quadrant’ and a repository. After the announcement of OSLO I spoke to several people asking me my opinion about the difference and/or overlap between OSLO and the Microsoft DSL Tools, which is the current toolset for building visual DSL’s. Obviously, at that moment wasn’t very clear for a lot of people including me. After some more discussing and thinking I have things more clear:

In the session of Douglas Purdy and Vijaye Raji, called ‘A lap about OSLO’, Douglas mentioned three types of modeling (models). First, we have ‘drawings’ which are primarily used to communicate with others. Perfect tools for creating drawings are whiteboard or tools like Visio. Second, we have ‘Model Assisted’ models which are used to understand or manipulate code (or other artifacts). Last, we have ‘model driven’ where models are directly executed by a runtime and drive runtime behavior of applications.

Obviously, OSLO is all about ‘Model Driven’ and driving runtime behavior. When looking at the new Team Architect (UML) diagrams in VS 2010 CTP we can see that DSL Tools fit perfectly in the ‘Model Assisted’ world. All new diagrams in Team Architect are build on the DSL Tools and especially in combination with (future) technology, often referred to as ‘designer bus’, DSL Tools are very powerful in scenarios where artifact generation is involved.

So, currently each platform supports a different approach. Possibly there are some overlaps and only Microsoft can tell how both platforms evolve, coexists and/or eventually (partially) integrate?

In the meantime, I will start experimenting with OSLO and definitely continue to work with the DSL Tools to get the best of both worlds!