Streaming Model Transformations By Complex Event Processing
- 2.6k Downloads
Streaming model transformations represent a novel class of transformations dealing with models whose elements are continuously produced or modified by a background process . 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.
KeywordsStreaming model transformations complex event processing live models change-driven transformations
Unable to display preview. Download preview PDF.
- 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.Dávid, I., Ráth, I.: Realtime gesture recognition with Jnect and Esper. Tech demo at EclipseCon Europe (2012), http://incquery.net/incquery/demos/jnect (Accessed: July 1, 2014)
- 5.Microsoft Corp.: Microsoft Kinect official website, http://www.microsoft.com/en-us/kinectforwindows/ (Accessed: July 1, 2014)
- 6.Helming, J., Neufeld, E., Koegel, M.: jnect – An Eclipse Plug-In providing a Java Adapter for the Microsoft Kinect SDK, http://code.google.com/a/eclipselabs.org/p/jnect/ (Accessed: July 1, 2014)
- 7.Box, G., Jenkins, G., Reinsel, G.: Time Series Analysis: Forecasting and Control. Wiley Series in Probability and Statistics. Wiley (2008)Google Scholar
- 8.Eclipse Foundation: Eclipse Modeling Framework Project (EMF), http://www.eclipse.org/modeling/emf/ (Accessed: July 1, 2014)
- 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.Yskout, K., Scandariato, R., Joosen, W.: Change patterns: Co-evolving requirements and architecture. Software and Systems Modeling (2012)Google Scholar
- 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.Eclipse Foundation: Xtext 2.6.0 Documentation, http://www.eclipse.org/Xtext/documentation/2.6.0/Xtext%20Documentation.pdf (Accessed: July 1, 2014)
- 13.Carlson, J.: An Intuitive and Resource-Efficient Event Detection Algebra (2004), http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.3.9957 (Accessed: July 1, 2014)
- 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.EsperTech Inc.: Esper Official Website, http://esper.codehaus.org (Accessed: July 1, 2014)
- 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.Gabbay, D.M.: Temporal Logic: Mathematical Foundations and Computational Aspects. Clarendon Press, Oxford (1994)Google Scholar