ABSTRACT
Reactive architecture is a rapidly growing new trend in the context of the Internet of Things. While design principles around reactive architecture have been identified, i.e., through the use of the reactive manifesto, it is difficult to understand existing research solutions for the reactive system clearly. In this article, we apply the systematic mapping study methodology to identify, classify and evaluate the current state of the art in reactive architecture from the following four perspectives: publishing trends, challenges, architectural diagrams/views, and used quality attributes. Furthermore, we systematically defined a classification framework to categorize research on reactive architecture and applied it rigorously to the 17 selected studies. We synthesized the data obtained and produced a clear view of state of the art. This provides a solid foundation for planning future research and reactive architecture applications.
- Alexander Power and Gerald Kotonya. A microservices architecture for reactive and proactive fault tolerance in iot systems. 19th IEEE International Symposium on a World of Wireless, Mobile and Multimedia Networks, WoWMoM 2018, 2018.Google ScholarCross Ref
- Vasile M. Tovarnitchi. Cloud-based architectures for environment monitoring. Proceedings - 2017 21st International Conference on Control Systems and Computer, CSCS 2017, pages 708--714, 2017.Google ScholarCross Ref
- Saleh Mohamed, Matthew Forshaw, and Nigel Thomas. Automatic generation of distributed run-time infrastructure for internet of things. 2017.Google ScholarCross Ref
- Artur Skowronski and Jan Werewka. A quality attributes approach to defining reactive systems solution applied to cloud of sensors. In 2015 Federated Conference on Computer Science and Information Systems (FedCSIS), pages 789--795, 2015.Google ScholarCross Ref
- Zhanyong Wan and Paul Hudak. Functional reactive programming from first principles. SIGPLAN Not., 35(5):242--252, may 2000.Google ScholarDigital Library
- Rambabu Posa. Scala Reactive Programming: Build scalable, functional reactive microservices with Akka, Play, and Lagom. Packt Publishing, 2018.Google Scholar
- Barbara Kitchenham and Pearl Brereton. A systematic review of systematic review process research in software engineering. Information and Software Technology, 55(12):2049--2075, 2013.Google ScholarDigital Library
- Kai Petersen, Sairam Vakkalanka, and Ludwik Kuzniarz. Guidelines for conducting systematic mapping studies in software engineering: An update. Information and Software Technology, 64:1--18, 2015.Google ScholarDigital Library
- Paolo Di Francesco, Ivano Malavolta, and Patricia Lago. Research on Architecting Microservices: Trends, Focus, and Potential for Industrial Adoption. Proceedings - 2017 IEEE International Conference on Software Architecture, ICSA 2017, pages 21--30, 2017.Google ScholarCross Ref
- Tegegne Marew, Jungyoon Kim, and Doo Hwan Bae. Systematic Mapping Studies in Software. International Journal of Software Engineering & Knowledge Engineering, 17(1):33--55, 2007.Google ScholarCross Ref
- Lakshminarayana Sadineni, Emmanuel Pilli, and Ramesh Babu Battula. A holistic forensic model for the internet of things, volume 569. Springer International Publishing, 2019.Google ScholarCross Ref
- Hamzeh Khazaei, Rajsimman Ravichandiran, Byungchul Park, Hadi Bannazadeh, Ali Tizghadam, and Alberto Leon-Garcia. Elascale: Autoscaling and monitoring as a service. Proceedings of the 27th Annual International Conference on Computer Science and Software Engineering, CASCON 2017, pages 234--240, 2020.Google Scholar
- Julio Cano, Eric Rutten, Gwenaël Delaval, Yazid Benazzouz, and Levent Gurgen. Eca rules for iot environment: A case study in safe design. Proceedings - 2014 IEEE 8th International Conference on Self-Adaptive and Self-Organizing Systems Workshops, SASOW 2014, pages 116--121, 2014.Google ScholarDigital Library
- Soufiane Maguerra, Azedine Boulmakoul, Lamia Karim, Hassan Badir, and Ahmed Lbath. Towards a reactive system for managing big trajectory data. Journal of Ambient Intelligence and Humanized Computing, 11:3895--3906, 2020.Google ScholarCross Ref
- Lamia Karim and Azedine Boulmakoul. Trajectory-based modeling for fraud detection and analytics: Foundation and design. Proceedings of IEEE/ACS International Conference on Computer Systems and Applications, AICCSA, 2021-Decem:0--6, 2021.Google ScholarCross Ref
- J. Abdul Rasheedh and S. Saradha. Reactive microservices architecture using a framework of fault tolerance mechanisms. Proceedings of the 2nd International Conference on Electronics and Sustainable Communication Systems, ICESC 2021, pages 146--150, 2021.Google Scholar
- Wojciech Urbanczyk and Jan Werewka. Contribution title enterprise architecture approach to resilience of government data centre infrastructure, volume 852. Springer International Publishing, 2019.Google ScholarCross Ref
- Eduard Gibert Renart, Javier Diaz-Montes, and Manish Parashar. Data-driven stream processing at the edge. Proceedings - 2017 IEEE 1st International Conference on Fog and Edge Computing, ICFEC 2017, pages 31--40, 2017.Google ScholarCross Ref
- Nawel Sekkal, Sidi Mohamed Benslimane, Michael Mrissa, and Boudjemaa Boudaa. Combining Proactive and Reactive Approaches in Smart Services for the Web of Things, volume 522. Springer International Publishing, 2018.Google Scholar
- Luis Jurado Pérez and Joaquín Salvachúa. Simulation of scalability in cloud-based iot reactive systems leveraged on a wsan simulator and cloud computing technologies. Applied Sciences (Switzerland), 11:1--38, 2021.Google Scholar
- Luis Jurado Pérez and Joaquín Salvachúa. An approach to build e-health iot reactive multi-services based on technologies around cloud computing for elderly care in smart city homes. Applied Sciences (Switzerland), 11, 2021.Google Scholar
- Aitor Hernandez, Bin Xiao, and Valentin Tudor. Eraia - enabling intelligence data pipelines for iot-based application systems. 18th Annual IEEE International Conference on Pervasive Computing and Communications, PerCom 2020, 2020.Google ScholarCross Ref
- Cleber Santana, Leandro Andrade, Flávia C. Delicato, and Cássio Prazeres. Increasing the availability of iot applications with reactive microservices. Service Oriented Computing and Applications, 15:109--126, 2021.Google ScholarDigital Library
- Artur Skowroński and Jan Werewka. A quality attributes approach to defining reactive systems solution applied to cloud of sensors. Proceedings of the 2015 Federated Conference on Computer Science and Information Systems, FedCSIS 2015, 5:789--795, 2015.Google ScholarCross Ref
- Roel Wieringa, Neil Maiden, Nancy Mead, and Colette Rolland. Requirements engineering paper classification and evaluation criteria: A proposal and a discussion. Requirements Engineering, 11:102--107, 3 2006.Google ScholarDigital Library
- Emelie Engström and Per Runeson. Software product line testing -- a systematic mapping study. Information and Software Technology, 53(1):2--13, 2011.Google ScholarDigital Library
- Kai Petersen, Robert Feldt, Shahid Mujtaba, and Michael Mattsson. Systematic mapping studies in software engineering. In Proceedings of the 12th International Conference on Evaluation and Assessment in Software Engineering, EASE'08, page 68--77, Swindon, GBR, 2008. BCS Learning; Development Ltd.Google ScholarDigital Library
- Nuha Alshuqayran, Nour Ali, and Roger Evans. A systematic mapping study in microservice architecture. In 2016 IEEE 9th International Conference on Service-Oriented Computing and Applications (SOCA), pages 44--51, 2016.Google ScholarCross Ref
Index Terms
- Reactive Software Architectures in IoT: A Literature Review
Recommendations
A distributed software architecture based on reactive microservices for the Smart Building context
LADC '23: Proceedings of the 12th Latin-American Symposium on Dependable and Secure ComputingGiven the increasing urbanization of the world’s population, Smart Building (SB) technologies can improve living conditions and sustainability. This article investigates Distributed Software Architecture (DSA) use in SBs, guided by the Reactive ...
Knowledge-Based Software Architectures: Acquisition, Specification, and Verification
The concept of knowledge-based software architecture has recently emerged as a new way to improve our ability to effectively construct and maintain complex large-scale software systems. Under this new paradigm, software engineers are able to do ...
Comments