Oleksii BYCHKOV, DSc (Engin.), Prof.
ORCID ID: 0000-0002-9378-9535
e-mail: oleksiibychkov@knu.ua
Taras Shevchenko National University of Kyiv, Kyiv, Ukraine
Mykola MOROZ, PhD Student
ORCID ID: 0000-0001-6953-683X
e-mail: mukolamoroz@knu.ua
Taras Shevchenko National University of Kyiv, Kyiv, Ukraine
DOI: https://doi.org/10.17721/AIT.2024.1.07
Abstract
B a c k g r o u n d . Adaptive behavior in modern software systems is becoming a key factor in their successful operation under external and internal destabilizing influences. Programs that work with critical data or perform essential operations must ensure continuity of service, despite failures, attacks, or errors. Various approaches are proposed to achieve this goal, one of which is the application of design patterns that ensure system reliability and adaptability. This paper presents the “Manager-Dispatcher” pattern, which combines the features of the “Publish- Subscribe” and “Strategy” patterns to enable adaptive behavior in software systems through event processing.
M e t h o d s . The development of the “Manager-Dispatcher” pattern was based on modular design and dynamic event processing methods. The pattern provides an automatic strategy selection for module operation based on events occurring within the system. A theoretical analysis of existing approaches to adaptive behavior in systems was conducted, leading to the creation of a new pattern that enables dynamic strategy changes in modules in response to environmental changes determined by system events. Several hypothetical application scenarios were considered to illustrate the pattern’s functionality, and an example software system utilizing the pattern was developed and described.
R e s u l t s . The developed “Manager-Dispatcher” pattern allows software modules to automatically adapt their operational strategies based on system events. Key advantages of the pattern include modularity, extensibility, and adaptive behavior. The pattern may be particularly useful in embedded systems, real-time systems, and interactive interfaces, where fast and flexible responses to events are essential.
C o n c l u s i o n s . The “Manager-Dispatcher” pattern offers a promising approach to the design of event-driven adaptive software systems. With its ability to dynamically change operational strategies, the pattern ensures a high degree of flexibility in dynamic environments. Future research will focus on improving the pattern and developing tools to facilitate its implementation and testing. This proposed approach supports the development of modular and adaptive systems capable of maintaining stable operation even under complex conditions.
K e y w o r d s : design patterns, adaptive behavior, event processing, autonomous systems.
Published
2024-12-20
How to Cite
Oleksii BYCHKOV, Mykola MOROZ “ “THE MANAGER-DISPATCHER”:A DESIGN PATTERN FOR ENSURING ADAPTIVE BEHAVIOR OF EVENT-DRIVEN SOFTWARE SYSTEMS” Advanced Information Technology, vol.1(3), pp. 67–72, 2024
Issue
Advanced Information Technology № 1 (3), 2024
Section
Applied information systems and technology
References
Bruns, R., & Dunkel, J. (2013). Towards pattern-based architectures for event processing systems. In R. Buyya, N. Horspool, A. Wellings (Eds.), Software: Practice and Experience, 44(11), 1395–1416. https://doi.org/10.1002/spe.2204
Buschmann, F., Sommerlad, P., Stal, M., Rohnert, H., & Meunier, R. (1996). Pattern-Oriented software architecture volume 1. A system of patterns. Wiley. Gamma, E., Helm, R., Johnson, R., & Vlissides, J. (1995). Design patterns: Elements of reusable object oriented software. Addison-Wesley.
Mannava, V., & Ramesh, T. (2011). A Novel Event Based Autonomic Design Pattern for Management of Webservices. In D. C. Wyld, M. Wozniak, N. Chaki,N. Meghanathan, D. Nagamalai (Eds.) Advances in Computing and Information Technology. Communications in Computer and Information Science. 198 (pp. 142–151). Springer. https://doi.org/10.1007/978-3-642-22555-0_16
Mannava, V., & Ramesh, T. (2012). A novel adaptive re-configuration compliance design pattern for autonomic computing systems. In E. P. Sumesh (Ed.).Procedia Engineering, 30, 1129–1137. https://doi.org/10.1016/j.proeng.2012.01.972
Moroz, M. (2024). An example of using the “Manager-Dispatcher” pattern [in Ukrainian]. https://github.com/mr-holodok/director-dispatcher-pattern-example
Ramirez, A. J. (2008). Design patterns for developing dynamically adaptive systems [Master’s thesis]. Michigan State University. https://doi.org/doi:10.25335/ttfn-qx40 Ramirez, A. J., & Cheng, B. H. C. (2010). Design patterns for developing dynamically adaptive systems. In the 2010 ICSE workshop on Software Engineeringfor Adaptive and Self-Managing Systems (pp. 49–58). ACM Press. https://doi.org/10.1145/1808984.1808990