Federico Tomassetti

Federico Tomassetti

Independent Software Architect
· Twitter · LinkedIn · Blog · Company Website ·
· From Ubiquitous Language to Domain Specific language


Federico Tomassetti is an independent Software Architect specialized in Language Engineering. He builds languages, editors, parsers, compilers, and interpreters. After getting his PhD he has worked in Italy, Germany, Ireland, and France. He worked for small companies and large ones like TripAdvisor and Groupon. Currently he works remotely with companies from all over the world.

From Ubiquitous Language to Domain Specific language (Lab)
by Herman Peeren, Federico Tomassetti

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.

Join the mailing list

for updates about the DDD Europe Conference and workshops