Skip to content

This project allows loading and visualizing DMN (Decision Model and Notation) files through a web interface. It supports the evaluation of rules defined in FEEL (Friendly Enough Expression Language) based on input JSON files.

License

Notifications You must be signed in to change notification settings

ibanlegi/eval-dmn

Repository files navigation

Project Evaluation and Visualization of DMN Models

Licence 3 Informatique - Modules Conception Application Internet (CAI) / Technologie Orientée Objet (TOO)

Université de Pau et des Pays de l'Adour

December 2023

Table of Contents

  1. Objective
  2. Working Folder
  3. Edit a DMN Diagram
  4. Using the Application
  5. Tools and Extensions Used

Note : The project documentation is written in French.

Objective

This project allows loading and visualizing DMN (Decision Model and Notation) files through a web interface. It supports the evaluation of rules defined in FEEL (Friendly Enough Expression Language) based on input JSON files.

Working Folder

A working folder has been created :

Edit a DMN Diagram

You can edit your own diagrams via bpmn.io.
Create your test files in JSON format.

Project Overview

The project can be viewed and tested by following the link below:
Evaluation DMN

Using the Application

The project is ready to use, and all the files have been compiled correctly. You can try it directly by opening index.html and using the (.dmn and .json) files provided in the ./test_files folder. Files that generate errors and allow for testing if they are correctly detected are also present.

The user must load (via drag and drop or through the file explorer) the DMN file into the “Visualized DMN File” area and the JSON file into the “JSON File” area.
The JSON file must provide input data corresponding to the input data of the DMN diagram.
The name of an input variable must match the name of the input expression in the column of the table processing the input data.

Once the files are provided, the user can visualize the diagram and evaluate it (using the button).
During the evaluation, a FEEL expression is generated from the diagram in the method fileDmn.handlingFeelinExpression(), and its syntax is as follows :

if((var1 in conditions1) and (var2 in conditions2)) then output1 else "Error"

For example, for the AgeClassification table, the expression is :

if ((age in <13)) then "Child" else if ((age in [13..65))) then "Adult" else if ((age in >=65)) then "Senior" else "Error"

Tools and Extensions Used

This project relies on several tools and extensions that made the development process smoother and more efficient:

December 2023

About

This project allows loading and visualizing DMN (Decision Model and Notation) files through a web interface. It supports the evaluation of rules defined in FEEL (Friendly Enough Expression Language) based on input JSON files.

Topics

Resources

License

Stars

Watchers

Forks