LogicForge is a simplified system that allows users to define, execute, and manage business rules and complex events in a declarative and efficient way. It provides a rule engine, a DMN engine, and a CEP engine that can handle various types of logic and data.
The rule engine component of LogicForge can evaluate and execute rules based on facts and data. It consists of a rule parser and a rule engine core.
The rule parser is a subcomponent that can parse rules written in a domain-specific language (DSL) and convert them into executable objects. It consists of a lexer, a parser, and a compiler.
The rule engine core is a subcomponent that can manage and execute the rules using a forward-chaining algorithm. It consists of a working memory, an agenda, a rule base, and an inference engine.
The DMN engine component of LogicForge can evaluate and execute decision models based on the Decision Model and Notation (DMN) standard. It consists of a DMN parser and a DMN engine core.
The DMN parser is a subcomponent that can parse decision models written in XML or JSON and convert them into executable objects. It consists of an XML/JSON reader, a model builder, and a model compiler.
The DMN engine core is a subcomponent that can manage and execute the decision models using a dependency graph algorithm. It consists of a context, a decision graph, a decision base, and an evaluation engine.
The CEP engine component of LogicForge can detect and respond to complex events based on streams of data. It consists of a CEP parser and a CEP engine core.
The CEP parser is a subcomponent that can parse complex event patterns written in a DSL and convert them into executable objects. It consists of a lexer, a parser, and a compiler.
The CEP engine core is a subcomponent that can manage and execute the complex event patterns using a pattern matching algorithm. It consists of an event buffer, a pattern matcher, and an action executor.
To use LogicForge, you can download the latest release from the releases page and follow the installation instructions in the README file.
If you would like to contribute to LogicForge, please read the contributing guidelines and submit a pull request.
LogicForge is licensed under the MIT License.