Professional Documents
Culture Documents
DSL - Payroll Summary
DSL - Payroll Summary
DSL - Payroll Summary
Concepts
Domain-specific language (DSL) -- expressing the calculation logic at the core of their
payroll systems
Business programmers -- experts in the intricacies of the payroll domain and its governing
laws and regulations (LaR), but not in software development
Summary
The desired DSL to be developed for payroll applications at DATEV faces challenges
including: 1. high complexity in terms of the core domain (e.g. laws and regulations) and
infrastructure dependencies; 2. hard for testing, getting immediate feedback, and
implementing build process; 3. not accessible to non-expert programmer end users; 4.
difficult to integrate with existing architectures and build pipelines while keeping deployment
options.
The target DSL ( separating the domain and technical concerns) brings DATEV with benefits
including: 1. keeping track with evolving law, 2. developing new and innovative products
faster, and 3). running those on a wide variety of platforms.
An evaluation framework is established to evaluate the target DSL in the scope of complexity
reduction, quality of the final product, and application-development performance.
Three criticisms
All tools used to develop the DSL including JetBrains MPS language work-bench, and MPS
Extensions repository are open source, whereas the final payroll DSL is not for research
purpose but for business.
Even though the three-layer separation enables both business programmers and
infrastructure developers to be able to focus on their own implementation concerns, a
system level debugging requires a long-term feedback from end users to the system
engineers layer by layer.
It still takes a few more years to to re-implement the overall domain functionality with the
DSL(from 15% to 100%), but the scope of the functionality may expand.