skip to main content
10.1145/3592813.3592889acmotherconferencesArticle/Chapter ViewAbstractPublication PagessbsiConference Proceedingsconference-collections
research-article
Open Access

EPAComp: An Architectural Model for EPA Composition

Published:26 June 2023Publication History

ABSTRACT

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.

References

  1. Alexander Artikis, Opher Etzion, Zohar Feldman, and Fabiana Fournier. 2012. Event processing under uncertainty. In Proceedings of the 6th ACM International Conference on Distributed Event-Based Systems(DEBS ’12). Association for Computing Machinery, New York, NY, USA, 32–43.Google ScholarGoogle ScholarDigital LibraryDigital Library
  2. T. Bass. 2006. Fraud detection and event processing for predictive business. Technical Report. Tibco.Google ScholarGoogle Scholar
  3. 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.Google ScholarGoogle ScholarDigital LibraryDigital Library
  4. 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.Google ScholarGoogle ScholarCross RefCross Ref
  5. 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.Google ScholarGoogle Scholar
  6. Gianpaolo Cugola and Alessandro Margara. 2012. Processing flows of information: From data stream to CEP. Comput. Surveys 44, 3 (2012), 15.Google ScholarGoogle ScholarDigital LibraryDigital Library
  7. Miyuru Dayarathna and Srinath Perera. 2018. Recent Advancements in Event Processing. Comput. Surveys 51, 2 (Feb. 2018), 33:1–33:36.Google ScholarGoogle Scholar
  8. 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.3093908Google ScholarGoogle ScholarDigital LibraryDigital Library
  9. 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.8256910Google ScholarGoogle ScholarCross RefCross Ref
  10. Opher Etzion and Peter Niblett. 2010. Event Processing in Action (1st edition ed.). Manning, Greenwich, 74° w. long.Google ScholarGoogle Scholar
  11. Eric Evans. 2004. Domain-driven design: tackling complexity in the heart of software. Addison-Wesley Professional, Boston, USA.Google ScholarGoogle ScholarDigital LibraryDigital Library
  12. 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.3137771Google ScholarGoogle ScholarDigital LibraryDigital Library
  13. Tom Fawcett. 2006. An introduction to ROC analysis. Pattern recognition letters 27, 8 (2006), 861–874.Google ScholarGoogle Scholar
  14. Norman Fenton and James Bieman. 2014. Software Metrics: A Rigorous and Practical Approach, Third Edition (3rd ed.). CRC Press, Inc., USA.Google ScholarGoogle ScholarDigital LibraryDigital Library
  15. Martin Hitz and Behzad Montazeri. 1995. Measuring coupling and cohesion in object-oriented systems. In Proc. Int. Symposium on Applied Corporate Computing. Monterrey, Mexico.Google ScholarGoogle Scholar
  16. 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.2771880Google ScholarGoogle ScholarDigital LibraryDigital Library
  17. 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.6215346Google ScholarGoogle ScholarCross RefCross Ref
  18. 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.Google ScholarGoogle Scholar
  19. 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.Google ScholarGoogle ScholarCross RefCross Ref
  20. 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.3095103Google ScholarGoogle ScholarDigital LibraryDigital Library
  21. 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.1386030Google ScholarGoogle ScholarDigital LibraryDigital Library
  22. 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.Google ScholarGoogle ScholarCross RefCross Ref
  23. Á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.Google ScholarGoogle Scholar
  24. Catherine Moxey, Mike Edwards, Opher Etzion, Mamdouh Ibrahim, Sreekanth Iyer, Hubert Lalanne, Mweene Monze, Marc Peters, Yuri Rabinovich, Guy Sharon, 2010. A conceptual model for event processing systems. IBM Redguide publication 1, 1 (2010), 1–42.Google ScholarGoogle Scholar
  25. Oracle. 2010. Overview of Oracle CEP. https://docs.oracle.com/cd/E21764_01 /doc.1111/e14476/overview.htm.Google ScholarGoogle Scholar
  26. 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.Google ScholarGoogle Scholar
  27. 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.1619291Google ScholarGoogle ScholarDigital LibraryDigital Library
  28. 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.2774214Google ScholarGoogle ScholarDigital LibraryDigital Library
  29. 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.2882947Google ScholarGoogle ScholarDigital LibraryDigital Library
  30. 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.Google ScholarGoogle ScholarDigital LibraryDigital Library
  31. 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.1754281Google ScholarGoogle ScholarDigital LibraryDigital Library
  32. Rini Van Solingen, Vic Basili, Gianluigi Caldiera, and H Dieter Rombach. 2002. Goal Question Metric Approach. Encyclopedia of software engineering (2002), 528–532.Google ScholarGoogle Scholar
  33. 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.3019951Google ScholarGoogle ScholarDigital LibraryDigital Library
  34. 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.49Google ScholarGoogle ScholarCross RefCross Ref
  35. 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.Google ScholarGoogle ScholarDigital LibraryDigital Library

Index Terms

  1. EPAComp: An Architectural Model for EPA Composition

      Recommendations

      Comments

      Login options

      Check if you have access through your login credentials or your institution to get full access on this article.

      Sign in
      • Article Metrics

        • Downloads (Last 12 months)122
        • Downloads (Last 6 weeks)15

        Other Metrics

      PDF Format

      View or Download as a PDF file.

      PDF

      eReader

      View online with eReader.

      eReader

      HTML Format

      View this article in HTML Format .

      View HTML Format