Article: Writing A Texual DSL Using 'OSLO'
Microsoft unveiled the building blocks of their “OSLO” vision during the PDC event in Los Angeles in October. As the article explains
Oslo has three main components:
- A modeling language M for textual DSLs
- Quadrant a design surface for graphical DSLs
- A relational database repository that stores these models.
The textual language development consists of is a three core languages, technically two that any given developer can author in:
- MGrammar: defines grammars for Syntax Directed Translation.
- MSchema: Is a language that defines schemas for a Semantic Model, that, model-aware runtimes can use.
- MGraph: represents an object graph of a translation of a given textual input against a parser defined using MGrammar.
This article is an attempt to try and use the MGrammar language to write our own language, a DSL, for expressing dates in natural language using the OSLO tool chain.
Oslo and DDD
Do you know of any examples because from what I've seen this approach is a bit of a red herring. Not saying its not possible but are you saying completely do away with a normal object-oriented domain model and do everything in Oslo?
Re: Oslo and DDD
Now there is a plethora of such tiny domain models scattered across the applications thats consumed by different pieces in the application. At the most basic level OSLO tries to solve the problem of configuration at a platform level (model assisted). Now, when we take this notion to the next level where the application runtime is aware of these models as a whole, you get a different class of applications that is model aware. This is not to say that no object-oriented development is required, as one still needs to create the application runtime. OSLO gives a standard way to define these models and store/retrieve them.
John Krewson, Steve Ropa and Matt Badgley Nov 24, 2014