lows. For any occurrence of an intentional event spec-
ified by expr1 and any occurrence of an intentional
event specified by expr2, occurring in the temporal
relation specified by temporal operator, we generate
an intentional event, spanning the minimal time span
in which the occurrences of both events fit.
The possible temporal operators of category tem-
poral operator get the straightforward interpretation
of Allen’s temporal interval operators (Allen, 1983).
Temporal operators can be given extra arguments.
The interpretation of temporal operators with extra ar-
guments is as described for the corresponding opera-
tors in the documentation of Drools Fusion.
Terms of the form (expr1 temporal operator
not expr2) specify event generation conditions as
follows. For any occurrence e of an intentional
event specified by expr1 such that there is no oc-
currence of an intentional event specified by expr2,
that occurs in the temporal relation, specified by
temporal operator, with e, we generate an inten-
tional event, spanning the same interval as e. Terms of
the form (not expr1 temporal operator expr2) spec-
ify event generation conditions analogously.
4 EXAMPLES
In order to demonstrate the working of our method,
and the flexibility it offers, we will give a few exam-
ples of event definitions and the events they generate.
Consider, for instance, the case of representing
diagnostic knowledge of a technical system that has
several temperature sensors. Assume that we have
some domain specific knowledge, that the divergence
of values for two temperature sensors, possibly in
combination with other events, can be a predictor for
a particular malfunction in the system. We can auto-
matically generate events corresponding to the diver-
gence of two sensor values, for a period of at least 10
seconds, by means of the following event definition.
h “distance increases for at least 10s”,
trend(up, (d(1) − d(2)), x(1)), [x(1) ≥ 10] i
Assume now that we have some particular knowl-
edge of the technical system, that a predictor for the
malfunctioning behavior is that the values of two sen-
sors differ by more than 20 units for at least 60 sec-
onds. We can automatically generate corresponding
events with the following event definition.
h “distance above 20 for at least 60s”,
less than(20, (d(1) − d(2), x(1)), [x(1) ≥ 60] i
We could use (occurrences of) those two events in
a larger complex event processing system to represent
diagnostic knowledge of the system. However, as-
sume now that the sequential occurrence of the above
two events is an even better predictor for the malfunc-
tioning behavior. By means of the following event
definition, we could generate corresponding events.
h “complex predictor for malfunction m”,
trend(up, (d(1) − d(2)), x(1)) meets
less than(20, (d(1) − d(2), x(2))),
[x(1) ≥ 10, x(2) ≥ 60] i
5 ADVANTAGES
Our approach, extending complex event processing
with a declarative language to specify complex events
based on arithmetical patterns in preprocessed data,
has several advantages. First of all, it makes it pos-
sible to specify (complex) events based on arithmeti-
cal patterns in a declarative fashion, which is not pos-
sible with currently existing methods. This has the
advantage that diagnostic systems dealing with such
patterns become more easily maintainable and modi-
fiable. Secondly,it allows users of complex eventpro-
cessing systems to intuitively and straightforwardly
also take into account arithmetical patterns, in addi-
tion to the usual nominal, intentional events.
6 CONCLUSIONS
In this paper, we developed an extension of complex
event processing methods that makes it possible to
specify complex, temporally structured events based
on arithmetical patterns in numerical data. This is
done by means of a declarative language, whose ex-
pressions are interpreted as event generation condi-
tions. This allows the automatic generation and use of
events based on such declarative specifications only.
Future work would include investigating how the
automatic generation of events specified with the de-
veloped declarative language could be combined with
other diagnostic knowledge representation methods.
REFERENCES
Allen, J. F. (1983). Maintaining knowledge about temporal
intervals. Commun. ACM, 26(11):832–843.
Luckham, D. C. (2001). The Power of Events: An Intro-
duction to Complex Event Processing in Distributed
Enterprise Systems. Addison-Wesley Longman Pub-
lishing Co., Inc., Boston, MA, USA.
KDIR2012-InternationalConferenceonKnowledgeDiscoveryandInformationRetrieval
332