Decision Model and Notation Toolkit

Crates.io MIT licensed Apache 2.0 licensed build tests Code coverage

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:

shell $ cargo install dmntk

Check available commands:

shell $ dmntk --help

Overview

DMNTK may be used to:

and last but not least:

Examples

DMNTK provides examples ready to play with.

To install the examples run:

$ dmntk exs

Evaluate FEEL expression

text $ cd ./examples/e1 $ dmntk efe e1.ctx e1.feel 3

Evaluate DMN model

text $ cd ./examples/e2 $ dmntk edm e2.ctx e2.dmn "Hello John Doe"

Evaluate decision table

text $ cd ./examples/e3 $ dmntk edt e3.ctx e3.dtb 0.15

Run as a service

text $ 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:

text $ 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.