Many reactive systems react to complex patterns of events rather than single event occurrences. A systematic way to handle this is by separating the detection of these event patterns from the logic that determines what the reaction should be. An event detection algebra can be used to formally specify complex event patterns. For example, and event detection algebra that includes the operators THEN and OR can be used to specify an event pattern such as the temperature alarm OR the pressure alarm signals, and THEN the button is pressed.
The aim of this thesis project is to investigate how an event detection algebra can be integrated with the existing event handling mechanisms in C#. The integration should be as seamless as possible, allowing a C# programmer to use the event algebra with little effort, while at the same time ensuring that important properties of the algebra (bounded memory, algebraic laws, etc.) still hold.
Depending on the student, other languages than C# might be targeted (Java, Haskell, C++, ...) as well.