NeuroFlinkCEP: Neurosymbolic Complex Event Recognition Optimized across IoT Platforms
Introduction¶
We demonstrate NeuroFlinkCEP, the first framework that integrates neural and symbolic Complex Event Recognition (CER) over a state-of-the-art Big Data platform, also optimizing neurosymbolic CER upon operating over IoT settings NeuroFlinkCEP receives expressed patterns as extended regular expressions and automatically transforms them to FlinkCEP jobs per device. To enable detection of simple events involved in CER patterns, NeuroFlinkCEP can integrate any neural model in FlinkCEP jobs. To optimally assign operator execution in-network, we incorporate and extend a state of-the-art IoT optimizer.
Architecture¶
NeuroFlinkCEP has two key architectural components:
- RegEx2-NeuroFlinkCEP operator. Transforms a regular-expression pattern description into the corresponding FlinkCEP code
- SynapSEflow operator. Processes raw input data through a loaded, trained neural model to produce predicted values as simple events
- DAG*4CER Optimizer. Accepts the logical streaming workflow and the available IoT devices, then computes the optimal execution plan using the state-of-the-art DAG* IoT optimization algorithm


User Experience¶
- Design Logical workflows with NeuroFlinkCEP operators
- Optimize physical workflow
- Human in the Loop, modify workflows before submitting
- Deploy across the Cloud to Edge Continuum
- Visual Analytics dashboards
The following images show RapidMiner Studio GUI and the dashboards of each scenario:


Robotic Scenario Dashboard

Telecom Scenario Dashboard
Scenarios¶
Telecom Scenario
Simple Events (SEs)
- A: Call to a premium destination
- B: Call during night hours
- C: Long call
- E: Aggregate: total duration ≥ 60 minutes (per day/window)
Complex Events (CEs)
Name | Description | Regex | Selection Strategy | Consumption Policy |
---|---|---|---|---|
LongCallAtNight | Detect a long call to a premium location during night hours. | AB?C |
Strict Contiguity | Skip Past Last Event — resume after the detected long call. |
FrequentLongCallsAtNight | At least 3 long calls to a premium location at night from the same caller. | (AB?C){3} |
Relaxed Contiguity | No Skip — allow overlapping matches; reuse events. |
FrequentLongCalls | Notify when ≥5 premium calls sum to ≥60 minutes in a day. | (AE){5} |
Relaxed Contiguity | Skip Past Last Event — resume from the next day after detection. |
FrequentEachLongCall | Within a day, ≥5 long calls to premium destinations. | (AC){5} |
Relaxed Contiguity | Skip Past Last Event |
Robotic Scenario
Simple Events (SEs) – Symbol Legend
- A: collision detected
- B: stopped (unknown)
- C–L: moving to station 0–9 (C→0, …, L→9)
- M–V: stopped at station 0–9 (M→0, …, V→9)
Complex Events (CEs)
Name | Description | Regex | Selection Strategy | Consumption Policy |
---|---|---|---|---|
Collision Recovery Sequence | Detect A (collision) → B (stopped) → movement (C–L) within 2 time units. | AB[C-L] |
Strict Contiguity | Skip Past Last Event — skip the movement event and resume from next. |
Station Skipping | Move to one station (C–L) followed immediately by another (C–L) with no stop (M–V) in between, within 5 units. |
([C-L])\1*(?!\1)(?![M-V])([C-L])
|
Relaxed Contiguity | No Skip — allow overlapping matches. |
Prolonged Stop | Stop at a station (M–V) followed by no movement (C–L) for 10 time units. |
([M-V](?![C-L])[A-BM-V])*
|
Strict Contiguity | Skip to Specific Event (stop) — resume anchored at the initial stop. | Successful Stop | Robot moves toward a target station and then stops at the same station, with no collisions (A) or unknown stops (B) in between, within the time window. |
(?:[C-L]+[^AB]*[M-V])+ |
Strict Contiguity | Skip Past Last Event — resume after the final stop to avoid overlaps |
Notes: “Relaxed Contiguity” tolerates unrelated events between matches; “Strict” requires adjacency. Time-window constraints are enforced by CEP windowing, not by the bare regex.
Rapid Miner Tutorial¶
