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 (but probably not 100% up to date) 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
- Automatically-generated Expert Systems
As of v1.3.16-alpha, Blawx is the only open source Rules as Code programming environment with automatic chatbot-style expert systems, explanations for answers, and hypothetical reasoning.
The easiest way to try Blawx is to go to www.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, check out INSTALL.md for instructions.
Extensive documentation, including the Blawx Beginner's Guide and several examples, is available from inside the application by clicking "Help" in the coding interface. You can also view the documentation on the live demo site.
No. Blawx is functional, but it is not production-quality software. It is a proof of concept that is intended to motivate investment in similar technologies in the future by demonstrating what they are capable of.
If you have issues or concerns with the package, please open an Issue here in the GitHub Repository. Contributions to the code and documentation are welcome. Please contribute responsibly.