DMNTK is a set of tools for evaluating, building, and testing decision models. DMNTK is based on the Decision Model and Notation (DMN™) specification, the industry standard led by the Object Management Group (OMG®), the institution behind such standards like UML®, BPMN™ and CORBA®. DMNTK aspires to be performant, reliable and fully compliant with DMN™ specification, decision model evaluator. DMNTK is written in Rust.
Main DMNTK features:
DMNTK ships as a single executable with no dependencies.
Binary version of DMNTK may be - obtained directly from GitHub releases, or - built and installed from source using Cargo.
shell
$ cargo install dmntk
DMNTK provides few examples, ready to play with. To install examples run:
shell
$ dmntk exs
shell
$ cd ./examples/e1
$ dmntk efe e1.ctx e1.feel
3
shell
$ cd ./examples/e2
$ dmntk edm e2.ctx e2.dmn -i "Greeting Message"
"Hello John Doe"
shell
$ cd ./examples/e3
$ dmntk edt e3.ctx e3.dtb
0.15
shell
$ cd ./examples/e2
$ dmntk srv -H 127.0.0.1 -D .
Loaded 1 file(s) from directory: .
dmntk 127.0.0.1:22022
Switch to another terminal window and run:
shell
$ curl -s -d "{\"Full Name\":\"John Doe\"}" -H "Content-Type: application/json" -X POST http://127.0.0.1:22022/evaluate/compliance-level-2-test-0001/Greeting%20Message
{"data":"Hello John Doe"}
More detailed documentation can be found on dmntk.io.
Licensed under either of - MIT license (LICENSE-MIT), or - Apache License, Version 2.0 (LICENSE-APACHE) at your option.
Unless you explicitly state otherwise, all contributions intentionally submitted for inclusion in the work by you, shall be dual licensed as above, without any additional terms or conditions.