Олексій БИЧКОВ, д-р техн. наук, проф.
ORCID ID: 0000-0002-9378-9535
e-mail: oleksiibychkov@knu.ua
Київський національний університет імені Тараса Шевченка, Київ, Україна
Микола МОРОЗ, асп.
ORCID ID: 0000-0001-6953-683X
e-mail: mukolamoroz@knu.ua
Київський національний університет імені Тараса Шевченка, Київ, Україна
DOI: https://doi.org/10.17721/AIT.2024.1.07
Анотація
В с т у п . Адаптивна поведінка сучасних програмних систем стає ключовим чинником їх успішного функціонування в умовах зовнішніх і внутрішніх дестабілізуючих факторів. Програми, які працюють із критичними даними або виконують важливі операції, повинні забезпечувати безперервність роботи, незважаючи на збої, атаки чи помилки. Для досягнення цієї мети пропонують різні підходи. Одним із них є застосування патернів проєктування, які дозволяють забезпечити надійність та адаптивність системи. У цій статті представлено патерн “Manager-Dispatcher”, який поєднує властивості патернів “Publish-Subscribe” та “Strategy” для забезпечення адаптивної поведінки програмних систем за рахунок оброблення подій.
М е т о д и . Для розроблення патерну “Manager-Dispatcher” використано методи модульного проєктування та динаміч- ного оброблення подій. Патерн передбачає автоматичний вибір стратегії функціонування модуля на основі подій, що відбуваються у системі. Проведено теоретичний аналіз існуючих підходів до адаптації поведінки системи і на основі цього розроблено новий патерн, який дозволяє динамічно змінювати стратегії роботи модулів у відповідь на змінні умови середовища, які визначаються подіями у системі. Розглянуто кілька гіпотетичних сценаріїв застосування для ілюстрації роботи патерну. Розроблено й описано приклад програмної системи із застосуванням патерну.
Р е з у л ь т а т и . Розроблений патерн “Manager-Dispatcher” дозволяє програмним модулям автоматично адаптувати стратегії функціонування на основі подій у системі. Основні переваги патерну включають модульність, розширюваність та адаптивність поведінки. Патерн може бути корисним у вбудованих системах, системах реального часу й інтерактивних інтерфейсах, де важливо забезпечити швидку та гнучку реакцію на події.
В и с н о в к и . Патерн “Manager-Dispatcher” пропонує перспективний підхід до проєктування адаптивних програмних систем, орієнтованих на події. Завдяки можливості динамічної зміни стратегій функціонування, патерн забезпечує високий рівень гнучкості в умовах динамічних змін. У подальших дослідженнях планується вдосконалення патерну та розроблення інструментів для його полегшеного впровадження і тестування. Запропонований підхід сприяє побудові модульних та адаптивних систем, здатних забезпечувати стабільне функціонування навіть у складних умовах.
К л ю ч о в і с л о в а : патерни проєктування, адаптивна поведінка, оброблення подій, автономні системи.
Опубліковано
2024-12-20
Як цитувати
Олексій БИЧКОВ, Микола МОРОЗ “”MANAGER-DISPATCHER”:ПАТЕРН ЗАБЕЗПЕЧЕННЯ АДАПТИВНОЇ ПОВЕДІНКИ ПРОГРАМНИХ СИСТЕМ НА ОСНОВІ ПОДІЙ” Сучасні інформаційні технології №1(3), pp. 67–72, 2024
Номер
Сучасні інформаційні технології № 1 (3), 2024
Розділ
Прикладні інформаційні системи та технології
Список використаних джерел
Мороз, М. (2024). Приклад використання патерну “Manager-Dispatcher”. https://github.com/mr-holodok/director-dispatcher-pattern-example
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
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 Engineering for Adaptive and Self-Managing Systems (pp. 49–58). ACM Press. https://doi.org/10.1145/1808984.1808990