Database Reference
In-Depth Information
ing picked up at a shelf and then being taken out of the store without
being checked out. Clearly, a sequence of occurrence or non-occurrence
of primitive RFID events can be used to determine the occurrence of a
higher level semantic event. The problem of complex event extraction is
probably one of the most critical ones in RFID event processing, because
the purpose of tracking RFID data is essentially to determine different
kinds of semantic events based on application-specific criteria. There-
fore, an expressive and user-friendly language is required to support this
class of queries for event processing. A language called
SASE
was pro-
posed in [78] for complex event processing over RFID data streams.
The
SASE
event language is a declarative language that combines
filtering
,
correlation
and
transformation
of simpler events, in order to
determine how they are correlated on the basis of time- and value con-
straints. The
SASE
language uses the following form in order to deter-
mine events:
EVENT <event pattern>
[WHERE <qualification>]
[WITHIN <window>]
For example, the shoplifting event pattern can be captured using the
following construct [78]:
EVENT SEQ(SHELF-READING x, ! (COUNTER-READING y),
EXIT-READING z)
∩
WHERE x.id = y.id
x.id = z.id
WITHIN 12 hours
We note that the
EVENT
clause of the above contains a
SEQ
construct,
which specifies a set of (primitive) events in a particular order. In this
case, the construct detects a
SHELF
reading, followed by
the absence
of
a
COUNTER
reading, and then followed by an
EXIT
reading. The
SEQ
construct turns out to be quite useful in the context of a wide variety
of RFID queries, because of its ability to detect sequential combinations
of basic events. Such sequential combinations form the core of event
detection in complex RFID scenarios.
The basic constructs such as
SEQ
and negation are already available
in the existing languages. However, in the context of RFID data, a
number of new features are added by the work in [78], such as the use of
parameterized predicates for correlating events via value-bed constraints.
Sliding windows are used for imposing temporal constraints. Methods
are also proposed for resolving the semantic subtlety of negation, when
used together with sliding windows.
A query plan in the
SASE
language uses a subset of the following six
operators in order to resolve the queries: