Skip to main content

GrapeL: Combining Graph Pattern Matching and Complex Event Processing

  • Conference paper
  • First Online:
Systems Modelling and Management (ICSMM 2020)

Abstract

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.

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

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 39.99
Price excludes VAT (USA)
  • Available as EPUB and PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 54.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Notes

  1. 1.

    Apama - http://www.apamacommunity.com.

  2. 2.

    GrapeL - https://github.com/eMoflon-CEP/GraPEL.

  3. 3.

    eMoflon - https://emoflon.org/.

  4. 4.

    HiPE - https://github.com/HiPE-DevOps/HiPE-Updatesite.

  5. 5.

    Akka - https://www.akka.io.

  6. 6.

    Apama EPL reference - https://documentation.softwareag.com/onlinehelp/Rohan/Apama/v10-3/apama10-3/apama-webhelp/.

  7. 7.

    EMF - https://www.eclipse.org/modeling/emf/.

  8. 8.

    eMoflon::IBeX-GT - https://github.com/eMoflon/emoflon-ibex.

  9. 9.

    Xtext - https://www.eclipse.org/Xtext/.

  10. 10.

    IBeX-GT tutorial and documentation - https://bit.ly/2WjXGZI.

References

  1. Barquero, G., Burgueño, L., Troya, J., Vallecillo, A.: Extending complex event processing to graph-structured information. In: Proceedings of the 21th ACM/IEEE International Conference on Model Driven Engineering Languages and Systems. MODELS 2018, pp. 166–175. Association for Computing Machinery, New York (2018). https://doi.org/10.1145/3239372.3239402

  2. Dávid, I., Ráth, I., Varró, D.: Foundations for streaming model transformations by complex event processing. Softw. Syst. Model. 17(1), 135–162 (2016). https://doi.org/10.1007/s10270-016-0533-1

    Article  Google Scholar 

  3. Forgy, C.L.: Rete: a fast algorithm for the many pattern/many object pattern match problem. Artif. Intell. 19(1), 17–37 (1982). https://doi.org/10.1016/0004-3702(82)90020-0

    Article  Google Scholar 

  4. Gillani, S., Picard, G., Laforest, F.: Continuous graph pattern matching over knowledge graph streams. In: Proceedings of the 10th ACM International Conference on Distributed and Event-Based Systems. DEBS 2016, pp. 214–225. Association for Computing Machinery, New York (2016). https://doi.org/10.1145/2933267.2933306

  5. Gulisano, V., Jerzak, Z., Voulgaris, S., Ziekow, H.: The debs 2016 grand challenge. In: Proceedings of the 10th ACM International Conference on Distributed and Event-Based Systems. DEBS 2016, pp. 289–292. Association for Computing Machinery, New York (2016). https://doi.org/10.1145/2933267.2933519

  6. Hewitt, C., Bishop, P., Steiger, R.: A universal modular actor formalism for artificial intelligence. In: Proceedings of the 3rd International Joint Conference on Artificial Intelligence. IJCAI 1973, pp. 235–245. Morgan Kaufmann Publishers Inc. (1973)

    Google Scholar 

  7. Jayasinghe, M., et al.: Continuous analytics on graph data streams using WSO2 complex event processor. In: Proceedings of the 10th ACM International Conference on Distributed and Event-Based Systems. DEBS 2016, pp. 301–308. Association for Computing Machinery, New York (2016). https://doi.org/10.1145/2933267.2933508

  8. Larrosa, J., Valiente, G.: Constraint satisfaction algorithms for graph pattern matching. Math. Struct. Comput. Sci. 12(4), 403–422 (2002). https://doi.org/10.1017/S0960129501003577

    Article  MathSciNet  MATH  Google Scholar 

  9. Luckham, D.: The Power of Events. 1 edn. Addison-Wesley, April 2002

    Google Scholar 

  10. Martin, A., Brito, A., Fetzer, C.: Real-time social network graph analysis using StreamMine3G. In: Proceedings of the 10th ACM International Conference on Distributed and Event-Based Systems. DEBS 2016, pp. 322–329. Association for Computing Machinery, New York (2016). https://doi.org/10.1145/2933267.2933514

  11. Mayer, R., Mayer, C., Tariq, M.A., Rothermel, K.: Graphcep: real-time data analytics using parallel complex event and graph processing. In: Proceedings of the 10th ACM International Conference on Distributed and Event-Based Systems. DEBS 2016, pp. 309–316. Association for Computing Machinery, New York (2016). https://doi.org/10.1145/2933267.2933509

  12. Varró, D., Bergmann, G., Hegedüs, Á., Horváth, Á., Ráth, I., Ujhelyi, Z.: Road to a reactive and incremental model transformation platform: three generations of the VIATRA framework. Softw. Syst. Model. 15(3), 609–629 (2016). https://doi.org/10.1007/s10270-016-0530-4

    Article  Google Scholar 

  13. Varró, G., Deckwerth, F.: A rete network construction algorithm for incremental pattern matching. In: Duddy, K., Kappel, G. (eds.) ICMT 2013. LNCS, vol. 7909, pp. 125–140. Springer, Heidelberg (2013). https://doi.org/10.1007/978-3-642-38883-5_13

    Chapter  Google Scholar 

  14. Zündorf, A.: Graph pattern matching in PROGRES. In: Cuny, J., Ehrig, H., Engels, G., Rozenberg, G. (eds.) Graph Grammars 1994. LNCS, vol. 1073, pp. 454–468. Springer, Heidelberg (1996). https://doi.org/10.1007/3-540-61228-9_105

    Chapter  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Sebastian Ehmes .

Editor information

Editors and Affiliations

1 Electronic supplementary material

Below is the link to the electronic supplementary material.

Supplementary material 1 (mp4 145311 KB)

Rights and permissions

Reprints and permissions

Copyright information

© 2020 Springer Nature Switzerland AG

About this paper

Check for updates. Verify currency and authenticity via CrossMark

Cite this paper

Ehmes, S., Fritsche, L., Altenhofen, K. (2020). GrapeL: Combining Graph Pattern Matching and Complex Event Processing. In: Babur, Ö., Denil, J., Vogel-Heuser, B. (eds) Systems Modelling and Management. ICSMM 2020. Communications in Computer and Information Science, vol 1262. Springer, Cham. https://doi.org/10.1007/978-3-030-58167-1_13

Download citation

  • DOI: https://doi.org/10.1007/978-3-030-58167-1_13

  • Published:

  • Publisher Name: Springer, Cham

  • Print ISBN: 978-3-030-58166-4

  • Online ISBN: 978-3-030-58167-1

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics