PDC: Microsoft puts modelling into concrete terms with "Oslo"
Microsoft's vision of domain-specific modelling is being spelled out in a little more detail in announcements at PDC 2008. The core of the Oslo modelling strategy consists of the M modelling language, the Quadrant graphical design surface, and a repository based on a database for models.
The M language, one of whose main authors is Don Box, allows the definition of data models and their own domain-specific languages (DSL). The syntax of M consists of three base languages: MSchema for declaring data structures, MGraph for describing values of instances of these structures, and MGrammar for defining dedicated languages that are automatically converted into the syntax of MSchema and MGraph.
The trend within Microsoft to move away from XML is discernible here too because, in distinction to the company's previous approaches to domain-specific modelling, M is not an XML-based format: its braces and its use of a semicolon as a line delimiter make it a member of the C language family. In terms of the XML world, MSchema corresponds to XSD, MGraph to XML, and MGrammar to XSLT. M permits only data definition: control structures are not provided for.
M belongs in the model-driven architectures product category. Microsoft plans in future to publish a series of domain-specific modelling languages, designed to shorten application development time radically in selected domains by converting a concise DSL into a more complex target language. Specific mention was made of MService for services and workflows, MWeb for ASP.NET, and MEntity for ORM modelling with the ADO.NET Entity Framework. Besides MService, Microsoft showed the conversion to XML and SQL.
A demonstrated example using MService to produce a Windows Workflow Foundation via Windows Communication Foundation (WCF) services managed to reduce the number of lines required to be written by the developer himself from around 160 to a quarter of that, without sacrificing control or debugging options. Douglas Purdy, Microsoft's "Oslo" Product Manager, said his boss had demanded that he achieve a tenfold reduction.
M at present consists of the definition of the text format as well as associated command-line based compilers. Microsoft will make the language specification of M accessible as part of the Open Specification Promise (OSP), in the hope that other companies will offer languages and tools for M as well. The only tools Microsoft offers at the moment for working with M are a simple editor called "IntelliPad", and the "Quadrant" graphical design surface. Integration into Visual Studio is not yet available. M projects are stored in a repository, implemented as a database in Microsoft SQL Server.
According to the initial announcement at Microsoft's SOA Conference in October 2007, "Oslo" is to become a comprehensive service-oriented architecture (SOA) platform. The PDC has made it clear that the name "Oslo" now only relates to modelling. The provision and linkage of services over a service bus are now contained in Windows Azure and the promised .NET-based application server codenamed Dublin.
The fact that the Microsoft spokesman mentioned "Oslo" only very briefly during his PDC keynote speech shows that it is still at a very early stage of production. "Oslo is a very early pre-alpha version, and even the name M is still a codename", explained Purdy. An overlap can be seen between "Oslo" and the Microsoft DSL Tools that have been available since 2005. Martin Fowler, the well known author, gives an initial assessment of "Oslo" in comparison with existing approaches. (Dr. Holger Schwichtenberg) /