Nowadays the IoT (Internet of Things) has become more and more popular, be-cause the costs of sensors and other tools have rapidly declined . In many aspects of life, we connect with smart devices, which are continuously collecting data from their envi-ronment.
Unfortunately, systems lack the ability to process and analyse the data effectively that are collected from these IoT devices to detect valuable and interesting events. Be-cause of this problem, a demand appeared for processing systems based on event-driven architecture, so-called complex-event processing systems (CEP). Many concrete tools have been developed to solve these problems, but if we wanted to buy a CEP system, we couldn’t compare between these tools, because of the lack of a formal and widely accepted definition about the concepts of CEP systems.
In my thesis, I examine some tools, and try to compare them with each other. I want to know, what are the main differences in their languages and their expressiveness.
I used a test framework which consists of a LeapMotion sensor, a ZeroMQ and a Google Protobuf implementation. I had to integrate this benchmark system to each CEP systems. They provide events for all my selected CEP systems.
I tried out the Apache Flink: CEP library, the Drools framework, with its Fusion extension, and finally, the WSO2 Complex Event Processor, more precisely its event processing language, called Siddhi Query Language.
After this comparison I close my thesis with my gathered experience about the topic and explain the possibilities and ways on how to continue this research.