dmn-check: A tool to validate DMN filesPublished on 20.04.2018
Published in dmn red6
Since quite some time we at red6 use the camunda implementation of the Decision Model and Notation (DMN) standard. DMN allows you to model decisions in a dedicated format instead of hard wiring them into you code or drop them into a database. This increases the accessibility of the decision definitions and allows your non-programmer co-workers to inspect, understand and modify the decision definitions. Therefore we can enable the person with the domain knowledge to create the decision definitions in the first place to actually implement them in the software system. You can find examples of DMN decision tables at the camunda website.
We have made this transition from hard-wired decision tables in code and implementations in databases to DMN decision tables quite successfully. As we all make errors when learning new things (such as DMN), we want to know about these errors as early as possible. Especially we want to guide non tech-savvy co-workers as smoothly as possible through their journey of learning. However the current tooling for editing DMN decision tables is not great. The editor provided by camunda provides little to none guidance. Therefore we decided to create dmn-check a tool that analyses DMN decision tables. It is a simple maven-plugin that fits neatly into our build process and checks among other things for duplicate rules,conflicting rules, shadowed rulest and the types of expressions. The README in the git repository features detailed description of its features.
If you work with DMN decision tables and want to know about potential bugs even before you run the decision table for the first time: Try dmn-check! It is easy to install as it is now available from maven central. If you encounter any bugs or if you have an idea for a new feature, please fill an issue on github.
Leave a Reply
CommentsKommentare für diesen Eintrag als RSS Feed
If the boxed expression is for a decision node that is not yet defined, click the undefined table to select the type of boxed expression you want to use, such as a boxed literal expression, boxed context expression, decision table, or other DMN boxed expression. Selecting the logic type for a decision node Click the cell for the table header, column header, or parameter field depending on the boxed expression type for which you want to define the data type and click Manage to go to the Data Types page where you can create a custom data type.