Decision Model and Notation Toolkit
Overview
DMNTK is a set of tools for building, testing and evaluating decision models.
DMNTK is based on the Decision Model and Notation (DMN™), the industry standard led by the Object Management Group (OMG®), the institution behind such standards like UML®, BPMN™ and CORBA®.
DMNTK is written in Rust, a programming language that empowers building reliable and efficient software.
DMNTK aims to be fully compliant with DMN™ specification.
Installation
Install DMNTK using cargo
:
$ cargo install dmntk
Check available commands:
$ dmntk --help
Overview
DMNTK may be used to:
- parse
FEEL
expressions, - parse
DMN
models, - parse decision tables,
- evaluate
FEEL
expressions, - evaluate
DMN
models, - evaluate decision tables,
- test
FEEL
expressions, - test
DMN
models, - test decision tables,
and last but not least:
- to evaluate
DMN
models as a service.
Examples
DMNTK provides examples ready to play with.
To install the examples run:
$ dmntk exs
Evaluate FEEL
expression
$ cd ./examples/e1
$ dmntk efe e1.ctx e1.feel
3
Evaluate DMN
model
$ cd ./examples/e2
$ dmntk edm e2.ctx e2.dmn
"Hello John Doe"
Evaluate decision table
$ cd ./examples/e3
$ dmntk edt e3.ctx e3.dtb
0.15
Run as a service
$ cd ./examples/e2
$ dmntk srv -D .
Loaded 1 file(s) from directory: .
dmntk 0.0.0.0:22022
Switch to another terminal window and run:
$ curl -s -d '{"Full Name":"John Doe"}' -H "Content-Type: application/json" -X POST http://0.0.0.0:22022/evaluate/compliance-level-2-test-0001/Greeting%20Message
{"data":"Hello John Doe"}
License
Licensed under either of
at your option.
Contribution
All contributions intentionally submitted for inclusion in the work by you, shall be dual licensed as above, without any additional terms or conditions.