Source code for KRE
Perl JavaScript GAP KRL Java Ruby Other
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
Apache2
Kynetx
Log/Log4perl
bin
etc
extras
lib
ops
parser
runtime_test
t
widgets
.gitignore
ChangeLog
INSTALLATION
Kynetx.pm
LICENSE
README.md
TODO
startup-krl.pl
startup.pl remove Weather, Location, Facebook, Google modules and dependencies; … Aug 17, 2015

README.md

Historical Note (301 - Permanent Redirect)

The code in this repository is no longer being maintained. We have rebuilt the rules engine as a Node.js application. The new version of the engine is available from this repository.

The easiest way to get started with the new engine is to use this Quickstart.

Kinetic Rules Engine (KRE)

The Kinetic Rules Engine (KRE), a open-source, cloud-based rule processing system. All of the properties listed above are present in any KRE system.

KRE is a container for persistent compute objects or picos. Each KRE instance hosts a number of picos.

Picos ececute a rule-based programming langauge called KRL.

  • KRL is a rule-based language.
  • KRL primarily follows an event-based programming model.
  • KRL programs execute with a cloud-based model; there is no way to execute them from the command line.
  • KRL programs are loaded from the cloud using HTTP.
  • KRL programs execute in a system where identity is pervasive; all events are raised on behalf of a specific entity.
  • KRL programs have built-in, entity-specific persistent storage; there is no need for external databases.

The result of these properties is a programming model that more closely resembles programming cloud-based persistent objects.

Contributing

If you'd like to contribute, please contact Phil Windley. Be sure to include your Github account name.

We use HuBoard to organize and track issues. Once you have access to KRE you should be able to use HuBoard to watch issues. Anything in the Ready column should be ready to work. Please assign yourself and move it to the ready column. Do your work in a fork of the project and submit your changes as a pull request.

The following process is recommended:

  1. Fork the project and work on your own repository

  2. Be sure to create tests that show the problem. The KRE test suite is quite good and we rely on it to ensure that changes don't cause existing features to work.

  3. Submit a pull request to this project from your project with the changes.

Your pull request will be more easily integrated if you

  1. include tests

  2. be responsive to questions on the pull request

  3. ensure you aren't duplicating some other work