Session

From Ubiquitous Language to Domain Specific language

In Domain Driven Design developers and domain experts use a shared (“ubiquitous”) language to build a model. Then software is implemented, using the model as a guide. In the implementation the model is formalised by using a general purpose computer language. That language is no longer readable by most domain experts.

A domain specific language (DSL) is a formalisation of the ubiquitous language, that is still readable by the domain experts. It can be used to validate the model and to produce the final software for the end-user. This has a lot of benefits, especially when the model changes frequently.

When do the benefits of using a DSL outweigh the costs? We'll use a model to estimate that for your domain.

Then we'll build a DSL from an example domain model. We'll look at structure, types, behaviour, syntax and semantics. We'll build an editor to work with the language and validate the model. And we'll show how end-user software is generated from that model. In this hands-on we'll walk through the whole process, from domain concepts to a working DSL, but the emphasis will be on creating the DSL.

We'll show several tools of the trade: grammar based, like Xtext, or projectional, like JetBrains MPS.

Federico Tomassetti

Language Engineering Architect

Turin, Italy

Please note that Sessionize is not responsible for the accuracy or validity of the data provided by speakers. If you suspect this profile to be fake or spam, please let us know.

Jump to top