EPAComp: An Architectural Model for EPA Composition
Context: Complex Event Processing (CEP) architectures present high applicability in Realtime Streaming Analytics (RTSA) by extracting and generating valuable information from continuous data feeds, like in stock markets, traffic, and patient monitoring. Problem: Although guidelines and models for CEP architectures have been proposed, the composition of its inter-operable elements in charge of processing events, known as Event Processing Agent (EPA), is challenging for software architects. Solution: This work proposes EPAComp, a model that covers this gap and addresses large-scale processing requirements through features such as stream-based constructions and specialized EPAs. IS Theory: We employed the Representation theory to create a model representing information systems for event processing. Method: The model was applied in a real case experiment to create a solution to collect streams of events from around 200 systems and to provide a dashboard for monitoring their usage. Besides, industry experts qualitatively evaluated the proposal. Results: The experiment results show an application of the model to handle heterogeneous data in a scalable and efficient manner according to indicators regarding performance, the assertiveness of processed output, degree of cohesion, and coupling of components. The qualitative results present that experts asserted EPAComp capabilities fit RTSA requirements. Contributions: An architectural model for EPA composition that enhances the literature by (i) representing static and dynamic EPA compositions through arrangements of specific aggregation structures; (ii) defining the state-of-the-art event processing strategies in CEP; and, (iii) organizing the hierarchy of EPA types.
T. Bass. 2006. Fraud detection and event processing for predictive business. Technical Report. Tibco.
Lars Baumgärtner, Christian Strack, Bastian Hoßbach, Marc Seidemann, Bernhard Seeger, and Bernd Freisleben. 2015. Complex event processing for reactive security monitoring in virtualized computer systems. In Proceedings of the 9th ACM International Conference on Distributed Event-Based Systems(DEBS ’15). Association for Computing Machinery, New York, NY, USA, 22–33.
Mikel Canizo, Enrique Onieva, Angel Conde, Santiago Charramendieta, and Salvador Trujillo. 2017. Real-time predictive maintenance for wind turbines using Big Data frameworks. In 2017 IEEE International Conference on Prognostics and Health Management (ICPHM). IEEE, Dallas, TX, USA, 70–77.
Paris Carbone, Asterios Katsifodimos, Stephan Ewen, Volker Markl, Seif Haridi, and Kostas Tzoumas. 2015. Apache flink: Stream and batch processing in a single engine. Bulletin of the IEEE Computer Society Technical Committee on Data Engineering 36, 4 (2015), 28–38.
Gianpaolo Cugola and Alessandro Margara. 2012. Processing flows of information: From data stream to CEP. Comput. Surveys 44, 3 (2012), 15.
Miyuru Dayarathna and Srinath Perera. 2018. Recent Advancements in Event Processing. Comput. Surveys 51, 2 (Feb. 2018), 33:1–33:36.
Philippe Dobbelaere and Kyumars Sheykh Esmaili. 2017. Kafka versus RabbitMQ: A comparative study of two industry reference publish/subscribe implementations: Industry Paper. In Proceedings of the 11th ACM International Conference on Distributed and Event-based Systems(DEBS ’17). Association for Computing Machinery, New York, NY, USA, 227–238. https://doi.org/10.1145/3093742.3093908
Godson Michael D'silva, Azharuddin Khan, Gaurav, and Siddhesh Bari. 2017. Real-time processing of IoT events with historic data using Apache Kafka and Apache Spark with dashing framework. In 2017 2nd IEEE International Conference on Recent Trends in Electronics, Information & Communication Technology (RTEICT). IEEE, Bangalore, India, 1804–1809. https://doi.org/10.1109/RTEICT.2017.8256910
Opher Etzion and Peter Niblett. 2010. Event Processing in Action (1st edition ed.). Manning, Greenwich, 74° w. long.
Eric Evans. 2004. Domain-driven design: tackling complexity in the heart of software. Addison-Wesley Professional, Boston, USA.
Eric Falk, Vijay K. Gurbani, and Radu State. 2017. Query-able Kafka: an agile data analytics pipeline for mobile wireless networks. Proceedings of the VLDB Endowment 10, 12 (Aug. 2017), 1646–1657. https://doi.org/10.14778/3137765.3137771
Tom Fawcett. 2006. An introduction to ROC analysis. Pattern recognition letters 27, 8 (2006), 861–874.
Norman Fenton and James Bieman. 2014. Software Metrics: A Rigorous and Practical Approach, Third Edition (3rd ed.). CRC Press, Inc., USA.
Martin Hitz and Behzad Montazeri. 1995. Measuring coupling and cohesion in object-oriented systems. In Proc. Int. Symposium on Applied Corporate Computing. Monterrey, Mexico.
Shweta Khare, Kyoungho An, Aniruddha Gokhale, Sumant Tambe, and Ashish Meena. 2015. Reactive stream processing for data-centric publish/subscribe. In Proceedings of the 9th ACM International Conference on Distributed Event-Based Systems(DEBS ’15). Association for Computing Machinery, New York, NY, USA, 234–245. https://doi.org/10.1145/2675743.2771880
Kazuaki Maeda. 2012. Performance evaluation of object serialization libraries in XML, JSON and binary formats. In 2012 Second International Conference on Digital Information and Communication Technology and it's Applications (DICTAP). IEEE, Bangkok, Thailand, 177–182. https://doi.org/10.1109/DICTAP.2012.6215346
Alessandro Margara and Guido Salvaneschi. 2013. Ways to react: Comparing reactive languages and complex event processing. Workshop on Reactivity, Events and Modularity (REM 2013) (2013), 14.
Niels Martin, Andreas Solti, Jan Mendling, Benoît Depaire, and An Caris. 2021. Mining Batch Activation Rules from Event Logs. IEEE Transactions on Services Computing 14, 6 (Nov. 2021), 1908–1919. https://doi.org/10.1109/TSC.2019.2912163 Conference Name: IEEE Transactions on Services Computing.
Christian Mayer, Ruben Mayer, and Majd Abdo. 2017. StreamLearner: Distributed Incremental Machine Learning on Event Streams: Grand Challenge. In Proceedings of the 11th ACM International Conference on Distributed and Event-based Systems(DEBS ’17). Association for Computing Machinery, New York, NY, USA, 298–303. https://doi.org/10.1145/3093742.3095103
Marcelo R. N. Mendes, Pedro Bizarro, and Paulo Marques. 2008. A framework for performance evaluation of complex event processing systems. In Proceedings of the second international conference on Distributed event-based systems(DEBS ’08). Association for Computing Machinery, New York, NY, USA, 313–316. https://doi.org/10.1145/1385989.1386030
John A Miller, Stephan Reiff-Marganiec, and Xiaofei Xu. 2019. Guest Editorial: Recent Advances in Web Services Research. IEEE Transactions on Services Computing 12, 3 (2019), 412–414.
Áine Mitchell and James F Power. 2004. An Empirical Investigation into the Dimensions of Run-Time Coupling in Java Programs. In Proceedings of the 3rd International Symposium on Principles and Practice of Programming in Java. Trinity College Dublin, ACM, Las Vegas, Nevada, 9–14.
Catherine Moxey, Mike Edwards, Opher Etzion, Mamdouh Ibrahim, Sreekanth Iyer, Hubert Lalanne, Mweene Monze, Marc Peters, Yuri Rabinovich, Guy Sharon, et al. 2010. A conceptual model for event processing systems. IBM Redguide publication 1, 1 (2010), 1–42.
Oracle. 2010. Overview of Oracle CEP. https://docs.oracle.com/cd/E21764_01/doc.1111/e14476/overview.htm.
Calvins Otieno, George Okeyo, and Stephen Kimani. 2015. Coupling measures for object oriented software systems-a state-of-the-art review. Int. Journal Of Engineering And Science 4 (2015), 01–10.
Adrian Paschke and Paul Vincent. 2009. A reference architecture for Event Processing. In Proceedings of the Third ACM International Conference on Distributed Event-Based Systems(DEBS ’09). Association for Computing Machinery, New York, NY, USA, 1–4. https://doi.org/10.1145/1619258.1619291
Srinath Perera and Sriskandarajah Suhothayan. 2015. Solution patterns for realtime streaming analytics. In Proceedings of the 9th ACM International Conference on Distributed Event-Based Systems(DEBS ’15). Association for Computing Machinery, New York, NY, USA, 247–255. https://doi.org/10.1145/2675743.2774214
Medhabi Ray, Chuan Lei, and Elke A. Rundensteiner. 2016. Scalable Pattern Sharing on Event Streams. In Proceedings of the 2016 International Conference on Management of Data(SIGMOD ’16). Association for Computing Machinery, New York, NY, USA, 495–510. https://doi.org/10.1145/2882903.2882947
Raed Shatnawi. 2010. A quantitative investigation of the acceptable risk levels of object-oriented metrics in open-source systems. IEEE Transactions on software engineering 36, 2 (2010), 216–225.
Kia Teymourian and Adrian Paschke. 2010. Enabling knowledge-based complex event processing. In Proceedings of the 2010 EDBT/ICDT Workshops(EDBT ’10). Association for Computing Machinery, New York, NY, USA, 1–7. https://doi.org/10.1145/1754239.1754281
Rini Van Solingen, Vic Basili, Gianluigi Caldiera, and H Dieter Rombach. 2002. Goal Question Metric Approach. Encyclopedia of software engineering (2002), 528–532.
Carlos A. Velasco, Yehya Mohamad, and Philip Ackermann. 2016. Architecture of a Web of Things eHealth framework for the support of users with chronic diseases. In Proceedings of the 7th International Conference on Software Development and Technologies for Enhancing Accessibility and Fighting Info-exclusion(DSAI 2016). Association for Computing Machinery, New York, NY, USA, 47–53. https://doi.org/10.1145/3019943.3019951
Babak Yadranjiaghdam, Seyedfaraz Yasrobi, and Nasseh Tabrizi. 2017. Developing a Real-Time Data Analytics Framework for Twitter Streaming Data. In 2017 IEEE International Congress on Big Data (BigData Congress). IEEE, Honolulu, HI, USA, 329–336. https://doi.org/10.1109/BigDataCongress.2017.49
Carlos Zimmerle and Kiev Gama. 2018. A web-based approach using reactive programming for complex event processing in internet of things applications. In Proceedings of the 33rd Annual ACM Symposium on Applied Computing(SAC ’18). Association for Computing Machinery, New York, NY, USA, 2167–2174.