tisdag 28 oktober 2008

What is "M"?

After the first session on Oslo some of the details behind what Oslo and what M is became clearer. But not by much I have to say. It is still slightly hard to see what the grand vision is, when is it applicable to use "M" and when should I "code as usual"?



Lets start by going through what Oslo is:


  • "M" - the modelling language for creating DSLs (Domain Specific Languages)

  • "Quadrant" - the visual modelling tool for working with models & DSLs

  • Repository - a sql server where all the models (and data for models) go

Ok, still doesn't really give me an understanding of what it is. What it is not is:



  • it is NOT - a new object oriented language

  • it is NOT - a replacement for T-SQL

Primarilly it is used for modelling data, working with the data model on a conceptual level, without having to worry about the implementation specifics. It is a high-high-level abstraction . It is to c# what c# is to the CLR. That's about how high-level it is.


So, with the assumption that it is used for modelling data it feels a little better, within grasp so to speak. But that is not the full truth, M is for modelling any domain, and domains ar not limited to industry verticals or that type of domain and the entity representation for that, but any domain can be modelled. Such as WCF services :). Now this is where it gets tricky, do I model my WCF services in "M"? Yes, you can. Microsoft has created a MGrammar specifically for that. And there will be other areas that can be described using "M": ASP.NET, WPF and so on... get it?

Inga kommentarer:

Skicka en kommentar