A critical issue in the Web of Things (WoT) is the need to process and analyze the interactions of Web-interconnected real-world objects. Complex Event Processing (CEP) is a powerful technology for analyzing streams of information about real-time distributed events, coming from different sources, and for extracting conclusions from them. CEP permits hierarchically defining complex events based on the primitive events produced by the incoming sources, or from other complex events, in order to identify elaborated situations of interest, and to quickly respond to them. However, in many situations these events are not free from uncertainty, due to either unreliable data sources and networks, measurement uncertainty, or to the inability to determine whether an event has actually happened or not. We discuss how CEP systems can incorporate different kinds of uncertainty, both in the events and in the rules.

In this companion website to our work [2], the complete case studies and software artifacts we reference in our paper are available for download.

Case Study

Smart Home

This system simulates a smart house, with sensors that permit detecting three basic parameters: temperature, carbon monoxide (CO) level, and whether the main door is open or not. These values are periodically sensed and notified by means of CEP events, as well as the position of the people living in the house. By analysing these primitive events, a set of CEP patterns (rules) are in charge of detecting several complex events such as a drastic increase of temperature or CO levels, or the the possibility of a fire, with people inside the house. In this work we show how it is possible to represent different kinds of uncertainty in the CEP events and in the rules, and consider it when generating the complex events. The complete description of the case study is detailed in [2].

The file with the rules of our case study in plain Esper EPL [1] is available for download here and the other case, considering uncertainty and probabilities, here. We also provide a Java project for each case with the dataset we have used to run our experiments:


[1] EsperTech: Esper - Complex Event Processing.
[2] Nathalie Moreno, Manuel F. Bertoa, Gala Barquero, Loli Burgueño, Javier Troya, Adrián García-López, Antonio Vallecillo: Managing Uncertain Complex Events in Web of Things Applications. In Proc. of ICWE 2018. LNCS#10845, pp. 349-357, Springer, 2018