/logicforge

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.

Primary LanguagePythonMIT LicenseMIT

LogicForge

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.

Rule Engine

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.

Rule Parser

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.

Rule Engine Core

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.

DMN 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.

DMN Parser

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.

DMN Engine Core

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.

CEP 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.

CEP Parser

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.

CEP Engine Core

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.

Getting Started

To use LogicForge, you can download the latest release from the releases page and follow the installation instructions in the README file.

Contributing

If you would like to contribute to LogicForge, please read the contributing guidelines and submit a pull request.

License

LogicForge is licensed under the MIT License.