Domain-Driven Design Europe 2024 – Organised by Aardling (https://aardling.eu/)
https://dddeurope.com
https://newsletter.dddeurope.com/
Tweets by ddd_eu
https://be.linkedin.com/company/domain-driven-design-europe
The ubiquitous language is a cornerstone of domain-driven design in that it drives the software structure of an application. In my work I go a step further and formalise the ubiquitous language into a domain-specific (programming) language that empowers subject matter experts to directly program (or configure) a software system. In both cases it is crucial to understand a domain really well in terms of the relevant abstractions and their relationships. The process of achieving this is called domain analysis.
In this session I provide concrete guidelines on how to run a successful domain analysis. I discuss practices for collecting information about the domain, for finding the right abstractions, and for validating that the language is able to cover the domain well.
The session is based on the book “How to Understand Almost Anything” by Markus Völter.
About Markus Völter:
Markus works as a language engineer, bridging the gap from industry and business domains to software systems. He analyses domains, designs user-friendly languages and supporting analyses, and implements language tools and IDEs, architects efficient and reliable backends based on interpreters and generators. He also works on formalisms and meta-tools for language engineering.
For 20 years, Markus has consulted, coached and developed in a wide range of industries, including finance, automotive, health, science and IT. He has published numerous papers in peer-reviewed conferences and journals, has written several books on the subject and spoken at many industry conferences world-wide. Markus has a diploma in technical physics from FH Ravensburg-Weingarten and a PhD in computer science from TU Delft. Reach him via http://voelter.de
2 Comments
First, I guess.
Experience does not give you expertise (sadly).
The thing with DSLs is that a) it's yet another thing you have to learn (and teach) and b) at some point they always fall short. And then the people left with the inferior expressiveness are the ones who cannot change it. And if you believe that language shapes your thoughts …
Perhaps we're better off leaving them with the language they already know well, that's mature, and evolves the same for everyone (more or less).
I use Scenario Hunting to quickly run and test the abstractions.