MartinJ
I propose three nodes plus a configuration node. To start with that, the node would be called a "rulebook" and would serve only to link the other node instances together. The only property is its name.
There are two message-accepting nodes and one message-generating node. The "event" node sends a data-free event into the rules engine when it receives a message. The event name is defined in the node (may be overridden by a message property). The event time is the system time when the message arrives.
The "value" node sets the value of a rules engine value (or fact) when a message arrives. The value will come from a message property.
The "rule" node generates a message when the rule fires. This is where the actual DSL defining the rule is entered. Unlike most rules engines, the rule descriptions are not in a single file but split up among the rule nodes.
I have no idea how feasible this architecture would be, but if anyone wants to try it there is no charge!
Max
Max