DMSS: A Domain Specific Language for Business Processes
DMSS
A Domain Specific Language (DSL) designed to define and execute business processes, automatically generating production ready Java and SQL code from high level specifications.
Watch the demo:
The Challenge
Business process automation often requires translating informal workflow descriptions into working software. This translation step is error-prone, slow, and creates a gap between what domain experts describe and what engineers implement.
The Solution
DMSS bridges this gap by providing a custom language that domain experts can use to formally describe their processes. The DSL compiler then generates:
- Java code: Service layer implementations following clean architecture patterns
- SQL schemas: Database definitions matching the process data model
- Process orchestration: Workflow execution logic derived from the DSL specifications
Technical Implementation
The DSL was built using language engineering techniques including:
- Grammar definition: Formal grammar specifying the syntax of business process descriptions
- Parser and AST: Transforming textual specifications into an Abstract Syntax Tree
- Code generation templates: Transpiling the AST into idiomatic Java and SQL
The result is a system where modifying a business process means editing a declarative specification file, not refactoring application code.
Academic Context
This project was developed as part of my Software Engineering degree at the Universidad de Extremadura, exploring the intersection of model-driven development and domain-specific languages.