Granted, the previous expressions are enough for simple events involving reacting to sensor readings and time interval durations. However, life as we know it may easily become more complicated than that...

To address that increasing complexity, however, EveXL implements the relations of James Allen's Interval Algebra (IA), thereby accounting for all possible relations between pairs of intervals.

Just like the duration operator, the syntax of EveXL's temporal operators were also inspired by timeline sketches like . Here are the IA relations and the corresponding EveXL operators:

Interval Algebra Operator Illustration EveXL Operator
PRECEDES
(A ends before B starts)
-[ A ]-[ B ]->
MEETS
(A ends when B starts)
-[ A ][ B ]->
OVERLAPS
(A starts before B, and ends within B)
-[ A [] B ]->
STARTS
(A starts when B starts and ends within B)
-[ A ] B ]->
CONTAINS
(A starts and ends within B)
-[ B [ A ] B ]->
FINISHES
(A starts within B and ends when B ends)
-[ B [ A ]->
EQUALS
(A starts and ends at the same time as B)
-[ A=B ]->