⚠ This is a developer preview, pre-alpha, and not ready for production use ⚠
BooleRules is a rule engine with its main focus on the computation on and verification of very large rule sets describing extreme variant spaces like encountered e.g. in product or software configuration. Its input language is the Pragmatic Rule Language (PRL) and its mathematical backbone is the logic library LogicNG.
The BooleRules ecosystem is developed by BooleWorks, a German company specialised on the application of logic for product configuration and variant management.
In this repository you find
- prl-compiler: The definition and compiler for the PRL
- server: The BooleRules web application where all algorithms are implemented
- showcase: A small GUI for demonstrating BooleRules functionality
- proto: The ProtoBuf definitions for BooleRules
- test-files: Some test files
- intellij-plugin: An IntelliJ plugin for the PRL
- tree-sitter-grammar: A treesitter grammar for the PRL
The easiest way to run BooleRules is using Docker Compose (which is part of every normal Docker Desktop installation).
Just open a terminal in this folder, run docker compose up
and then open localhost:3000
from your browser.
If you just want to play around a little bit, then open one of the provided rule files e.g. automotive.prl. Once loaded, you can try the different algorithms on the left hand side. For some algorithms you need to provide additional data. We have some small example requests for the automotive example in the folder requests:
bom_req.csv
: an example BOM (bill of materials) position for the "Position Validity" algorithmcoverage_req.csv
: an example coverage request for the "Maximum Testcoverage" algorithmoptimization_req.csv
: an example optimization request for the "Configuration Optimization" algorithmreconfiguration_req.csv
: an example reconfiguration request for the "Re-Configuration" algorithm
BooleRules development is funded by the SofDCar project: