Skip to content
Source code for KRE
Perl JavaScript GAP KRL Java Ruby Shell
Latest commit dbfd79a Jun 17, 2016 @windley windley fix some tests
Failed to load latest commit information.
Apache2 Disabled default perl warnings for production, cleaned up some smoke … Jan 19, 2012
Kynetx fix some tests Jun 17, 2016
Log/Log4perl Fix dev logging; async mode processed event after loghandler Apr 18, 2016
bin fixes to scheduled events Jun 16, 2016
etc merging branch that deletes weather and other modules Apr 20, 2016
extras fixed Sky to not rely on cookies; fixed Pilot BX; added ability to cr… Dec 27, 2011
lib merging branch that deletes weather and other modules Apr 20, 2016
ops Why do we still have an SVN repository? May 5, 2011
parser parser indents Apr 18, 2016
runtime_test Added module to support generic OAuth 1.0a authentication. Work still… Jul 7, 2011
t fix some tests Jun 17, 2016
widgets remove Weather, Location, Facebook, Google modules and dependencies; … Aug 17, 2015
.gitignore Full OAuth flow--needs better HTML templates Dec 17, 2013
ChangeLog added test post to changelog - QWB Mar 4, 2011
INSTALLATION Updated INSTALLATION file to point at Mark's detailed instructions an… Jan 21, 2015
Kynetx.pm fix ruleset repo bug for dev rules; fix tests May 28, 2015
LICENSE added attr and attrs as synonyms for param and params along with test… Sep 27, 2011
README.md Update README.md Jul 13, 2015
TODO added attr and attrs as synonyms for param and params along with test… Sep 27, 2011
startup-krl.pl Logging changes May 20, 2013
startup.pl remove Weather, Location, Facebook, Google modules and dependencies; … Aug 17, 2015

README.md

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.

Project Roadmap

Picos

Using the Rules Engine

You can use the rules engine by createing an account on the server that Pico Labs maintains.

Further instructions are available at the Quickstart.

Running the Rules Engine

There is currently no good way for developers to host their own instance of KRE. There is a Docker project in the roadmap that will allow this.

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

Something went wrong with that request. Please try again.