Online Event Recognition from Moving Vehicles
E Tsilionis1, N Koutroumanis2, P Nikitopoulos2, C Doulkeridis2 and A Artikis2,1
1NCSR “Demokritos”, Greece 2University of Piraeus, Greece
Online Event Recognition from Moving Vehicles E Tsilionis 1 , N - - PowerPoint PPT Presentation
Online Event Recognition from Moving Vehicles E Tsilionis 1 , N Koutroumanis 2 , P Nikitopoulos 2 , C Doulkeridis 2 and A Artikis 2,1 1 NCSR Demokritos, Greece 2 University of Piraeus, Greece http://cer.iit.demokritos.gr
1NCSR “Demokritos”, Greece 2University of Piraeus, Greece
◮ A two component online fleet management system. ◮ Effective integration of spatial reasoning with temporal
◮ Evaluation on large, real-world, heterogeneous data.
1/19
2/19
3/19
4/19
◮ Practically a stream-based, parallel distance join
◮ Based on spatial partitioning 2D space (in cells) ◮ Cells assigned to worker nodes (W1, W2, ) ◮ Streaming data set: assigned to enclosed cell ◮ Static data set: assigned to enclosed cell and
replicated to cells at distance ≤ θ
5/19
Input ◮ Recognition ◮ Output
Event Recognition System Composite Event Definitions
Simple Events . . . . . . . . . . . .
happensAt(moving(V1), T1) happensAt(iceOnRoad(V1), T1) happensAt(abruptAcceleration(V1), T5) happensAt(stopped(V1), T10)
Composite Events . . . . . . . . . . . .
holdsFor(dangerousDriving(V1) = true, [T1, T10)) initiatedAt(dangerousDriving(V ) = true, T) ← terminatedAt(dangerousDriving(V ) = true, T) ← happensAt(iceOnRoad(V ), T), happensAt(stopped(V ), T). holdsAt(highSpeed(V ) = true, T).
6/19
◮ A logic programming language for representing and
◮ Key components:
◮ event (typically instantaneous). ◮ fluent: a property that may have different values at
◮ Built-in representation of inertia:
◮ F = V holds at a particular time-point if F = V has
7/19
Predicate Meaning happensAt(E, T) Event E occurs at time T initiatedAt(F = V , T) At time T a period of time for which F = V is initiated terminatedAt(F = V , T) At time T a period of time for which F = V is terminated holdsFor(F = V , I) I is the list of the maximal intervals for which F = V holds continuously holdsAt(F = V , T) The value of fluent F is V at time T time q136 q138 q137 Window ω q139
8/19
Events Description Input moving(V , S) Vehicle V is moving with a speed S stopped(V ) Vehicle V is not moving abruptAcceleration(V ) Vehicle V accelerates abruptly abruptDeceleration(V ) Vehicle V decelerates abruptly abruptCornering(V ) Vehicle V turns abruptly fuelLevel(V , L) The level of fuel in tank of vehicle V is L iceOnRoad(V ) Vehicle V is moving in an icy road closeToGas(V ) Vehicle V is near a gas station Output highSpeed(V ) Vehicle V exceeds the user-specified speed limit dangerousDriving(V ) Vehicle V is potentially moving in a dangerous way reFuelOpportunity(V ) There is refueling opportunity for vehicle V
9/19
10/19
11/19
◮ 4M GPS traces of moving commercial vehicles (Vodafone
◮ Data enrichment:
◮ Weather information (frozen precipitation surface), 120
◮ Points of interest (gas stations), 140K 12/19
13/19
50 100 150 200 250 1 2 3 4 5 6 7 8 Avg Recognition Time (ms) Window size (hours) 1 core 2 cores 4 cores 8 cores
40 60 80 100 120 140 160 180 200 1 2 3 4 5 6 7 8 Throughput (Thousand events / second) Window size (hours) 1 core 2 cores 4 cores 8 cores
14/19
◮ Handle delayed arrival of input events ◮ Use of overlapping temporal windows ◮ Avoid re-computation from scratch, i.e. RTEC ◮ Update only the CEs affected ◮ Improve the computational performance
15/19
initiatedAt(dangerousDriving(V ) = true, T) ← happensAt(abruptAcceleration(V ), T), holdsAt(highSpeed(V ) = true, T).
initiatedAt(dangerousDriving(V ) = true, T) ←
ins ,
Qi.
initiatedAt(dangerousDriving(V ) = true, T) ←
Qi\ins ,
ins .
16/19
time ω qi qi-1 qi - ω [happensAt(abruptAcceleration(V),T)] ins , [holdsAt(highSpeed(V)=true,T)] Qi .
initiatedAt(dangerousDriving(V)=true,T) ← 17/19
time ω qi qi-1 qi - ω [happensAt(abruptAcceleration(V),T)] ins , [holdsAt(highSpeed(V)=true,T)] Qi .
initiatedAt(dangerousDriving(V)=true,T) ← 17/19
time ω qi qi-1 qi - ω [happensAt(abruptAcceleration(V),T)] ins , [holdsAt(highSpeed(V)=true,T)] Qi .
initiatedAt(dangerousDriving(V)=true,T) ← 17/19
time ω qi qi-1 qi - ω [happensAt(abruptAcceleration(V),T)] ins , [holdsAt(highSpeed(V)=true,T)] Qi .
initiatedAt(dangerousDriving(V)=true,T) ← 17/19
50 100 150 200 250 300 350 400 1 2 3 4 5 6 7 8 Avg Recognition Time (ms) Window size (hours) RTEC Incremental RTEC
50 100 150 200 250 300 350 400 1 2 3 4 5 6 7 8 Avg Recognition Time (ms) Window size (hours) RTEC Incremental RTEC
50 100 150 200 250 300 350 400 1 2 3 4 5 6 7 8 Avg Recognition Time (ms) Window size (hours) RTEC Incremental RTEC
18/19
◮ Presented a stream reasoning online fleet management
◮ Evaluation illustrates the scalability of the system and its
◮ Future work:
◮ User evaluation. ◮ Use of deadlines mechanism to deal with longer CE
19/19