8. jDMN: Translation
8
How did we built it?
Syntax-Driven Translation Schematas (SDTS)
Based on Knuth’s attributed grammars
Synthesized attributes
Inherited Attributes
Expr1 → Expr2 + Term { Expr1.value = Expr2.value + Term.value }
Expr → Term { Expr.value = Term.value }
Term1 → Term2 * Factor { Term1.value = Term2.value * Factor.value }
Term → Factor { Term.value = Factor.value }
Factor → "(" Expr ") { Factor.value = Expr.value }
Factor → integer { Factor.value = strToInt(integer.str) }
9. jDMN: Translation
9
Advantages include
Performance: we have seen runtimes 4-10 times faster than
previous engine execution in complex decision tests
Stability: given that we now control the code generation, we are
able to resolve issues without relying on the vendor
Functionality: the fact that we control the code generation
means that we are also able to enable more advanced
functionality for DMN/Java models
10. Code Optimisation – Model Level
10
AWS Lambda
gRPC / protobuf
Users
Message Bus
AWS Stack