dmntk 0.0.47

DMNTK | Decision Model and Notation Toolkit
dmntk-0.0.47 is not a library.
Visit the last successful build: dmntk-0.0.20

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™) 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:

  • Evaluation of DMN models as a service.
  • Evaluation of decision tables.
  • Evaluation of FEEL expressions.
  • Parsing and validating DMN models.
  • Parsing and recognizing decision tables.
  • Parsing and validating FEEL expressions.
  • Testing DMN models.
  • Testing decision tables.
  • Testing FEEL expressions.
  • Exporting DMN decision models to HTML.
  • Exporting decision tables to HTML.
  • Exporting FEEL expressions to HTML.

Installation

DMNTK ships as a single executable with no dependencies.

Binary version of DMNTK may be

Installing DMNTK using Cargo:

$ cargo install dmntk

Getting started

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 -i "Greeting Message"
"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 -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:

$ 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"}

Documentation

DMNTK documentation can be found on dmntk.io.

License

Licensed under either of MIT license (LICENSE-MIT) or Apache License, Version 2.0 (LICENSE-APACHE) at your option.

Contribution

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.