Figure 1: RuleCore I/O logical model.
3.3.1 Event Inputs
An event input receives all or a subset of the events
from one or more sources. Each event input is a
contributor to the inbound events stream.
3.3.2 Event Validator
An event validator makes basic format and syntax
checks on the inbound event messages. Events that
are well-formatted and parsable XMLs are
forwarded to the valid events stream. Events that fail
the checks are forwarded to the invalid events
stream instead.
3.3.3 Event Access Control
Received events are checked for having the correct
security token. The events that contain the correct
token are forwarded to the authorized events stream.
Events that fail the checks are sent to the access
error stream instead.
3.3.4 Event Sequencer
Operating inside a distributed and heterogeneous
environment usually implies the use of several
unsynchronized time sources and varying event
transmission times. As a result of this, events
arriving at the event I/O module will in nearly all
cases not be picked up in the same order as they
were originally emitted. RuleCore imposes one
unconditional requirement on the inbound event
stream, namely, that all events in the stream are
arranged in order by ascending time.
To allow for receiving events from
unsynchronized event sources, an event sequencer is
introduced. It makes sure the requirement of an
ordered event stream is fulfilled at all times by
putting the inbound events on hold for a certain
amount of time before releasing them to RuleCore.
The maximum amount of time for which the event is
put on hold is a configurable parameter, making it
easy to adapt the sequencing to the particular
operating environment.
Inbound events whose time stamp is older than
the maximum age are instantly rejected. Inbound
events with a time stamp in the future may or may
not be kept for sequencing – this is a configurable
option. The effect of using the event sequencer is
thus twofold: (1) events will be forwarded to
RuleCore in the order of ascending time; and (2)
events arriving at RuleCore will be delayed by the
predefined amount of time.
4 CONCLUSION
While in our previous work (Koschel et al., 2017,
Koschel et al., 2018) we applied the identified
requirements for EPN models to the EPiA model
(Etzion, Niblett, 2011) and the Business Event
Modeling Notation (BEMN) model (White, 2006),
in this paper we demonstrated the mapping of the
same requirements to the RuleCore model. In
particular, we examined RuleCore architecture and
modelling capabilities as well as its typical
application areas.
Our examination showed that RuleCore fully
meets Requirements 1, 3–6. For example, RuleCore
distinguishes between simple and complex (or
aggregated) events, which consist of multiple simple
events. Each event in RuleCore gets a time stamp
during their creation. Thanks to this stamp, temporal
relations among events and their order can be easily
identified. Furthermore, one can model events and
their inherent attributes on a high level, which
enables a real-world description of events, thereby
meeting Requirement 2. The typical application
scenarios for RuleCore showed this as well. In
addition, a large set of connectors for event
producers and consumers help to meet Requirement
7. However, some costs are caused by the overall
complexity of the engine, which makes it somehow
difficult to create an EPN model. As a result,
RuleCore meets Requirement 8 only partially.
ACKNOWLEDGEMENT
Irina Astrova’s work was supported by the Estonian
Ministry of Education and Research institutional
research grant IUT33-13.
REFERENCES
Luckham, D., 2002. The Power of Events, Addison
Wesley Pub Co Inc, USA.
Koschel, A., Astrova, I., Kobert, S., Naumann, J., Ruhe,
T., Starodubtsev, O., 2017. Towards Requirements for
Evaluating RuleCore as Event Processing Network Model
299