A user-friendly web-based tool for Rules as Code written by Jason Morris of Lexpedite Legal Technologies Ltd..
Blocks + law = Blawx
Click on the thumbnail below for a recent video demonstration of how Blawx is used.
Rules as Code is the idea that if you write rules in a programming language at the same time you write them in a natural language, you end up with better rules, and you make it easier for people to automate implementations of those rules.
I believe:
- The best tools for doing knowledge representation of laws are declarative logic programming languages.
- Rules as Code requires tools that make it easy for non-programmers to do legal knowledge representation.
- Tools for Rules as Code must be accessible, and transparent, which means they need to be open source.
Blawx is an open source, user-friendly, web-based declarative logic knowledge representation tool designed specifically for encoding, testing and using rules.
It is implemented as a set of applications.
It provides:
- a web server that stores your Blawx encodings and gives access to them and the reasoner over a RESTful API, based on Django
- a visual development environment based on Google's Blockly to write, edit, and test your encodings
- a reasoner based on SWI-Prolog and s(CASP) that will answer questions and explain the answers
- Open Source
- Easy to Learn
- Designed Specifically for Rules as Code
- Publish Code as an API
- Explainability
- Hypothetical reasoning
- User-friendly Scenario Explorer
Blawx is the only open source Rules as Code programming environment with a user-friendly scenario explorer, explanations for answers, and hypothetical reasoning.
The easiest way to try Blawx is to go to dev.blawx.com. I try to keep a recent version running there for people to play with.
If you would like to try running Blawx locally, install docker for your platform, and then run
docker run lexpedite/blawx
Blawx will then be available at (http://localhost:8000)[http://localhost:8000].
Check out INSTALL.md for more details.
Extensive documentation is available from inside the application by clicking "Help" in the left navigation menu. You can also view the documentation on the live demo site.
No. Blawx is functional, but it is not production-quality software. It is intended for educational and experimental purposes.
If you have issues or concerns with the package, please open an Issue in the GitHub Repository. Contributions to the code and documentation are welcome. Please contribute responsibly.