The Hidden Complexities in Fachlichkeit

Language 1: Medical Algorithms

The first project is the DSL we developed with Voluntis. It is described extensively in the SOSYM paper. The language is used by doctors and other healthcare professionals to describe diagnostics and medication algorithms. These algorithms are at the core of so-called companion apps that run on phones and help patients go through treatments by monitoring side-effects and recommending behaviors or medications.

Language 2: Salary/Tax Calculation

The second language lives in the space of salary and wage calculation: it is used to calculate things like income tax, deductions for employees who have a company car, or the Solidaritätszuschlag, a particular tax introduced as part of Germany’s reunification in the 90s. Each of the calculations can essentially be expressed in a few dozen lines of code and a few value lookups in tables. The details of the calculations and the values in the lookup tables are governed by law and other “external” regulations.

Take-Away Points

Here is the crucial observation: the complexity in the salary/tax domain does not lie in the calculations themselves. Instead it hides behind a set of “non-functional” requirements. I am putting “non-functional” in quotes because these are non-functional requirements that are not technically motivated (like performance, scalability or data privacy). They are an inherent part of the domain, but they are not as apparent like those complex decisions in the medical companion apps.



Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store
Markus Voelter

Markus Voelter


software (language) engineer, science & engineering podcaster, cross-country glider pilot. On medium mostly for the software stuff.