DMNTK is a set of tools for building, testing and evaluating 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 is written in Rust, a programming language that empowers building reliable and efficient software. DMNTK aspires to be the fastest and fully compliant with DMN™ specification decision model evaluator.
Main DMNTK features:
DMNTK ships as a single executable with no dependencies.
Binary version of DMNTK may be - obtained directly from GitHub releases, - built and installed from source using Cargo.
shell
$ cargo install dmntk
DMNTK provides examples ready to play with.
To install the examples run:
$ dmntk exs
text
$ cd ./examples/e1
$ dmntk efe e1.ctx e1.feel
3
text
$ cd ./examples/e2
$ dmntk edm e2.ctx e2.dmn -i "Greeting Message"
"Hello John Doe"
text
$ cd ./examples/e3
$ dmntk edt e3.ctx e3.dtb
0.15
text
$ 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:
text
$ 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"}
DMNTK 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.