PIONE
PIONE(Process-rule for Input/Output Negotiation Enviromenment) is a rule-based workflow engine. You can write complex process as simple rules and run it with distributing many machines easily.
Currently PIONE is beta version under heavy development.
Features
- multi-agent rule system
- forward chain reasoning with multipule domains model as extension of production rule system
- task distribution according to LINDA
- data distribution with network file services like Dropbox
System Requirements
- Ruby 1.9.3 with bundler
- Linux or Unix-like OSs
Installation
from gem
$ gem install pione
from github
First, clone the repository from https://github.com/pione/pione.git.
$ git clone https://github.com/pione/pione.git
And get some libraries.
$ bundle install --path vender/bundle
Add paths to pione like the flowing:
$ cd ${PIONE_REP}
$ export PATH=$PWD/bin:$PATH
$ export RUBYLIB=$PWD/lib
Usage
Process PIONE document on client mode
$ pione-client example/Fib/Fib.pione
Stand alone mode(client mode without brokers)
$ pione-client example/Fib/Fib.pione --stand-alone
Distribution mode
Start brokers on machines.
$ pione-broker
Request process manager to process the rule document.
$ pione-client example/Fib/Fib.pione
Help
$ pione-client --help
Contributing
- Fork it
- Create your feature branch (
git checkout -b my-new-feature
) - Commit your changes (
git commit -am 'Add some feature'
) - Push to the branch (
git push origin my-new-feature
) - Create new Pull Request
Licence
PIONE is free software distributed under MIT licence. Except the above, the following files are distributed under same as Ruby's(Ruby license or BSD) because these are patches including original codes:
- lib/pione/patch/drb-patch.rb
- lib/pione/patch/monitor-patch.rb
- lib/pione/patch/rinda-patch.rb