GrapeL: Combining Graph Pattern Matching and Complex Event Processing

Sebastian Ehmes, Lars Fritsche, Konrad Altenhofen


Incremental Graph Pattern Matching (IGPM) offers an elegant approach to find patterns in graph-based models, reporting newly added and recently removed pattern matches. 
However, analyzing these matches w.r.t. temporal and causal dependencies can in general only be done by extending not just the IGPM engine but also the underlying model, which often is impractical and sometimes even impossible.
Therefore, we transform the stream of pattern matches to a stream of events and employ Complex Event Processing (CEP) to detect such dependencies and derive more complex events from them.
For this purpose, we introduce GrapeL as a textual language to specify and generate integrated solutions using both IGPM and CEP to benefit from the synergy of both approaches, which we present in the context of a flight and booking scenario.
Finally, we show that our solution can compete with an optimized hand-crafted version without GrapeL and CEP while offering a specification that yields a less tedious and error-prone design process.


Ehmes, S., Fritsche, L., Altenhofen, K.: Grapel: Combining graph pattern matchingand complex event processing. In: Systems Modelling and Management. pp. 180–196. ICSMM ’20, Springer (2020). https://doi.org/10.1007/978-3-030-58167-1_13


GrapeL is an open-source eclipse plugin, which is hosted on Github. Please visit our Github repository if you are interested in using GrapeL. There you can find the source code, examples and installation instructions.


This work has been funded by the German Federal Ministry of Education and Research within the Software Campus project MEMIK at TU Darmstadt.

Conference Talk

The presentation of our conference talk for ICSMM at STAF20 can be found under the following link: GrapeL - ICSMM20