Re: ANN: ruleCore - The event pattern detector engine
From: GrayGeek (jkrepsBEAR_at_FISHneb.rr.com)
Date: Tue, 11 Nov 2003 07:54:58 -0600
> I would hereby like to announce that ruleCore 1.0beta6 is available
> under the GPL license from www.rulecore.com
> ruleCore is an event-driven reactive rule engine with GUI tools,
> all written in Python.
> The ruleCore Engine accepts events with XML-RPC and detects
> complex patterns of events, called situations. A situation is
> defined by combining events with different kind of nodes, such as
> logical or timer nodes.
> For example, ruleCore can do things like:
> "Detect the situation, if it is not december, when event HOST_DOWN
> comes after event ROUTER_DOWN and event FAILOVER does not come
> within 10 minutes"
> When a situation is detected a condition can be evaluated on all the
> events that took part in the detection process. If the condition is
> true an action is executed, normally a script.
> The ruleCore Engine is written in completely in Python. The GUI tools
> are also in Python and uses Qt with the PyQt wrapper. Everything is
> tested on recent versions of SUSE and RedHat. The rpm contains
> *everything* needed to run ruleCore, so it should run on most Linux
> Portability to Windows and Mac is a goal, but not tested yet. But as
> everything is in Python it should run provided that all the required
> software is installed. Although this is left as an exercise to the
> interested reader.
> The ruleCore Engine is based on ideas from the research done on active
> rules called Event-Condition-Action (ECA) rules. Google on ECA-rules or
> check the references section on www.rulecore.com to learn more about
> this type of event-driven active rules.
Interesting concept. Where millisecond reaction time is not important it
could even be considered 'realtime'. I've been working on a process
control project and needed a Linux solution. There is an entire, well
developed industry surrounding process control, standardized on the
EN 61131-3 or IEC 1131-3 language description.
Here is an example of industrial process control:
The language defined above is used to program process controllers one of
four methods, two graphical, and two using scripts.
Here are some Linux based solutions:
Here is a Linux program that utilizes one of the graphical methods, called
I think you'll see the strong similarities between your rule engine and the
classic ladder, as shown by the snapshots of the engine at work.
-- - GrayGeek