Streaming Model Transformations By Complex Event Processing

Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 8767)


Streaming model transformations represent a novel class of transformations dealing with models whose elements are continuously produced or modified by a background process [1]. Executing streaming transformations requires efficient techniques to recognize the activated transformation rules on a potentially infinite input stream. Detecting a series of events triggered by compound structural changes is especially challenging for a high volume of rapid modifications, a characteristic of an emerging class of applications built on runtime models.

In this paper, we propose a novel approach for streaming model transformations by combining incremental model query techniques with complex event processing (CEP) and reactive (event-driven) transformations. The event stream is automatically populated from elementary model changes by the incremental query engine, and the CEP engine is used to identify complex event combinations, which are used to trigger the execution of transformation rules. We demonstrate our approach in the context of automated gesture recognition over live models populated by Kinect sensor data.


Streaming model transformations complex event processing live models change-driven transformations 


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    Sánchez Cuadrado, J., de Lara, J.: Streaming model transformations: Scenarios, challenges and initial solutions. In: Duddy, K., Kappel, G. (eds.) ICMB 2013. LNCS, vol. 7909, pp. 1–16. Springer, Heidelberg (2013)CrossRefGoogle Scholar
  2. 2.
    Bergmann, G., Ráth, I., Varró, G., Varró, D.: Change-driven model transformations. change (in) the rule to rule the change. Software and Systems Modeling 11, 431–461 (2012)CrossRefGoogle Scholar
  3. 3.
    Luckham, D.C.: The Power of Events: An Introduction to Complex Event Processing in Distributed Enterprise Systems. Addison-Wesley Longman Publishing Co., Inc., Boston (2001)Google Scholar
  4. 4.
    Dávid, I., Ráth, I.: Realtime gesture recognition with Jnect and Esper. Tech demo at EclipseCon Europe (2012), (Accessed: July 1, 2014)
  5. 5.
    Microsoft Corp.: Microsoft Kinect official website, (Accessed: July 1, 2014)
  6. 6.
    Helming, J., Neufeld, E., Koegel, M.: jnect – An Eclipse Plug-In providing a Java Adapter for the Microsoft Kinect SDK, (Accessed: July 1, 2014)
  7. 7.
    Box, G., Jenkins, G., Reinsel, G.: Time Series Analysis: Forecasting and Control. Wiley Series in Probability and Statistics. Wiley (2008)Google Scholar
  8. 8.
    Eclipse Foundation: Eclipse Modeling Framework Project (EMF), (Accessed: July 1, 2014)
  9. 9.
    Breu, R., Agreiter, B., Farwick, M., Felderer, M., Hafner, M., Innerhofer-Oberperfler, F.: Living Models - Ten Principles for Change-Driven Software Engineering. Int. J. Software and Informatics 5(1-2), 267–290 (2011)Google Scholar
  10. 10.
    Yskout, K., Scandariato, R., Joosen, W.: Change patterns: Co-evolving requirements and architecture. Software and Systems Modeling (2012)Google Scholar
  11. 11.
    Ujhelyi, Z., Bergmann, G., Hegedüs, Á., Horváth, Á., Izsó, B., Szatmári, Z., Varró, D.: An Integrated Development Environment for Live Model Queries. Science of Computer Programming (2013)Google Scholar
  12. 12.
    Eclipse Foundation: Xtext 2.6.0 Documentation, (Accessed: July 1, 2014)
  13. 13.
    Carlson, J.: An Intuitive and Resource-Efficient Event Detection Algebra (2004), (Accessed: July 1, 2014)
  14. 14.
    Dávid, I.: Complex Event Processin in Model Transformation Systems. Master’s thesis, Department of Measurement and Information Systems, Budapest University of Technology and Economics (2013)Google Scholar
  15. 15.
    EsperTech Inc.: Esper Official Website, (Accessed: July 1, 2014)
  16. 16.
    Combemale, B., Thirioux, X., Baudry, B.: Formally Defining and Iterating Infinite Models. In: France, R.B., Kazmeier, J., Breu, R., Atkinson, C. (eds.) MODELS 2012. LNCS, vol. 7590, pp. 119–133. Springer, Heidelberg (2012)CrossRefGoogle Scholar
  17. 17.
    Vogel, T., Neumann, S., Hildebrandt, S., Giese, H., Becker, B.: Incremental Model Synchronization for Efficient Run-Time Monitoring. In: Ghosh, S. (ed.) MODELS 2009. LNCS, vol. 6002, pp. 124–139. Springer, Heidelberg (2010)CrossRefGoogle Scholar
  18. 18.
    Song, H., Huang, G., Chauvel, F., Zhang, W., Sun, Y., Shao, W., Mei, H.: Instant and Incremental QVT Transformation for Runtime Models. In: Whittle, J., Clark, T., Kühne, T. (eds.) MODELS 2011. LNCS, vol. 6981, pp. 273–288. Springer, Heidelberg (2011)CrossRefGoogle Scholar
  19. 19.
    Baldauf, M., Dustdar, S., Rosenberg, F.: A Survey on Context-Aware Systems. Int. J. Ad Hoc Ubiquitous Comput. 2(4), 263–277 (2007)CrossRefGoogle Scholar
  20. 20.
    Blair, G., Bencomo, N., France, R.: Models@ run.time. Computer 42(10), 22–27 (2009)CrossRefGoogle Scholar
  21. 21.
    Ben-Ari, M., Manna, Z., Pnueli, A.: The Temporal Logic of Branching Time. In: Proceedings of the 8th ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages. POPL 1981, pp. 164–176. ACM, New York (1981)Google Scholar
  22. 22.
    Gabbay, D.M.: Temporal Logic: Mathematical Foundations and Computational Aspects. Clarendon Press, Oxford (1994)Google Scholar

Copyright information

© Springer International Publishing Switzerland 2014

Authors and Affiliations

  1. 1.Department of Measurement and Information SystemsBudapest University of Technology and EconomicsBudapestHungary
  2. 2.DIROUniversité de MontréalCanada
  3. 3.MSDL, Dept. of Computer ScienceMcGill UniversityMontréalCanada

Personalised recommendations