You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
I'm working on adding a subsystem to Drools for sequential logic over streams.
Under the hood is a dedicated state machine that moves through states when signals are received; the state machine is optimised for integrations from the sources it interacts with. Those signals are provided by logic gates once they become satisfied. The logic gates matched data received from the event stream. The "feel" of the system is similar to how regular expression matching works.
Because it only wants to attempt to match data for the current active sequence or subsequence, it uses a flat list of current patterns to match against. Bitmasks are used to get efficient routing from the input of data, to the pattern matching to the appropriate logic gates and their parent sequence.
I'm working on adding a subsystem to Drools for sequential logic over streams.
Under the hood is a dedicated state machine that moves through states when signals are received; the state machine is optimised for integrations from the sources it interacts with. Those signals are provided by logic gates once they become satisfied. The logic gates matched data received from the event stream. The "feel" of the system is similar to how regular expression matching works.
Because it only wants to attempt to match data for the current active sequence or subsequence, it uses a flat list of current patterns to match against. Bitmasks are used to get efficient routing from the input of data, to the pattern matching to the appropriate logic gates and their parent sequence.
The branch can be found here:
https://github.com/mdproctor/drools/tree/sequentiallogic
It's early days, however a lot of the unit tests are in place to show how it works, but it's currently still very low level. But it will allow more advanced aggregations of whole sequences themselves now - which wasn't possible before for the existing aggregators. For those interested, a lot of the unit tests can be found here:
https://github.com/mdproctor/drools/tree/sequentiallogic/drools-test-coverage/test-compiler-integration/src/test/java/org/drools/mvel/integrationtests/phreak/sequencing
The text was updated successfully, but these errors were encountered: