Реалізація взаємодії класів в умовах агрегації
DOI:
https://doi.org/10.15587/1729-4061.2024.301011Ключові слова:
відношення агрегації, клас-клієнт, клас-ресурс, математична модель, черга об'єктів класу, перетворення класів, програмне забезпеченняАнотація
Об’єктом дослідження є реалізація відношень між програмними класами. Показано, що при реалізації відношення агрегації між класами можуть виникнути помилки, якщо класів-клієнтів виявляється більше одного. Помилки взаємодії класів можуть бути викликані управлінням атрибутами класу-ресурсу одним із класів-клієнтів таким чином, що є неприйнятним для іншого класу-клієнту через неприпустимі значення атрибутів, зміни їх стану, блокування методів тощо. Для вирішення проблеми запропонована спеціальна організація черги для класів-клієнтів. Особливістю черги є застосування в ній моделей класів-клієнтів та класу-ресурсу. Модель класу-ресурсу дає уявлення про його ресурси (атрибути та методи) та способи їх використання. Модель класу-клієнту показує, яку частину цих ресурсів буде використовувати клієнт і як це виконуватиметься. Така організація черги дозволяє надавати ресурси черговому класу-клієнту тільки після перевірки його сумісності з активними класами-клієнтами. У загальному випадку класи-клієнти мають різний тип, що ускладнює організацію черги. Тому запропоновано зробити їх похідними від базового класу, який визначає інтерфейс для черги. Аналогічно вирішено проблему взаємодії класу-ресурсу з чергою. Запропонований базовий клас для класу-ресурсу також забезпечує необхідний інтерфейс з чергою.
Створено програмне забезпечення, яке автоматизує процес перетворення класів:аналіз класу-ресурсу, визначення потреб ресурсів з боку класів-клієнтів, створення базових класів. Після завершення перетворення підтримується функціонування черги. Апробація результатів дослідження показала скорочення часу на перетворення класів близько трьох разів, а очікування доступу до ресурсів, в процесі роботи черги – як мінімум у два рази
Посилання
- Bontchev, B., Milanova, E. (2020). On the Usability of Object-Oriented Design Patterns for a Better Software Quality. Cybernetics and Information Technologies, 20 (4), 36–54. https://doi.org/10.2478/cait-2020-0046
- Kungurtsev, O., Novikova, N., Reshetnyak, M., Cherepinina, Y., Gromaszek, K., Jarykbassov, D. (2019). Method for defining conceptual classes in the description of use cases. Photonics Applications in Astronomy, Communications, Industry, and High-Energy Physics Experiments 2019. https://doi.org/10.1117/12.2537070
- Kungurtsev, O. B., Novikova, N. O. (2020). Identification of class models imperfection. Herald of Advanced Information Technology, 3 (2), 13–22. https://doi.org/10.15276/hait.02.2020.1
- Rashidi, H., Parand, F. A. (2019). On Attributes of Objects in Object-Oriented Software Analysis. International Journal of Industrial Engineering & Production Research, 30 (3), 341–352. https://doi.org/10.22068/ijiepr.30.3.341
- Ürler, Ü., Berk, E. (2016). Queueing Theory. Decision Sciences, 287–348. https://doi.org/10.1201/9781315183176-7
- Komleva, N., Liubchenko, V., Zinovatna, S. (2020). Improvement of teaching quality in the view of a resource-based approach. CEUR Workshop Proceedings, 2740, 262–277. Available at: http://ceur-ws.org/Vol-2740/20200262.pdf
- Pang, X., Wang, Z., He, Z., Sun, P., Luo, M., Ren, J., Ren, K. (2023). Towards Class-Balanced Privacy Preserving Heterogeneous Model Aggregation. IEEE Transactions on Dependable and Secure Computing, 20 (3), 2421–2432. https://doi.org/10.1109/tdsc.2022.3183170
- Otu, G. A., Usman, S. A., Ugbe, R. U., Iheagwara, S. E., Okafor, A. C., Okonkwo, F. I. et al. (2023). Comparative analysis of aggregation and inheritance strategies in incremental program development. Fudma Journal Of Sciences, 7 (2), 57–64. https://doi.org/10.33003/fjs-2023-0702-1710
- Zhang, S. G. (2021). An In-Depth Understanding of Aggregation in Domain-Driven Design. Available at: https://www.alibabacloud.com/blog/an-in-depth-understanding-of-aggregation-in-domain-driven-design_598034
- Afolalu, S. A., Babaremu, K. O., Ongbali, S. O., Abioye, A. A., Abdulkareem, A., Adejuyigbe, S. B. (2019). Overview Impact Of Application Of Queuing Theory Model On Productivity Performance In A Banking Sector. Journal of Physics: Conference Series, 1378 (3), 032033. https://doi.org/10.1088/1742-6596/1378/3/032033
- Lakshmi, C., Appa Iyer, S. (2013). Application of queueing theory in health care: A literature review. Operations Research for Health Care, 2 (1-2), 25–39. https://doi.org/10.1016/j.orhc.2013.03.002
- Wang, N., Roongnat, C., Rosenberger, J. M., Menon, P. K., Subbarao, K., Sengupta, P., Tandale, M. D. (2018). Study of time-dependent queuing models of the national airspace system. Computers & Industrial Engineering, 117, 108–120. https://doi.org/10.1016/j.cie.2018.01.014
- Adeniran, Dr. A., Sani Burodo, M., Suleiman, Dr. S. (2022). Application of Queuing Theory and Management of Waiting Time Using Multiple Server Model: Empirical Evidence From Ahmadu Bello University Teaching Hospital, Zaria, Kaduna State, Nigeria. International Journal of Scientific and Management Research, 05 (04), 159–174. https://doi.org/10.37502/ijsmr.2022.5412
- Nor, A. H. A., Binti, N. S. H. (2018). Application of Queuing Theory Model and Simulation to Patient Flow at the Outpatient Department. Proceedings of the International Conference on Industrial Engineering and Operations Management Bandung, 3016–3028. Available at: https://ieomsociety.org/ieom2018/papers/694.pdf
- Kumar, R. (2020). Queueing system. Chap. 4. Modeling and Simulation Concepts. Available at: https://www.researchgate.net/publication/346721926_Book_Chapter_-_queueing_system
- De Clercq, S., Walraevens, J. (2020). Delay analysis of a two-class priority queue with external arrivals and correlated arrivals from another node. Annals of Operations Research, 293 (1), 57–72. https://doi.org/10.1007/s10479-020-03548-1
- Walulya, I., Chatterjee, B., Datta, A. K., Niyolia, R., Tsigas, P. (2018). Concurrent Lock-Free Unbounded Priority Queue with Mutable Priorities. Stabilization, Safety, and Security of Distributed Systems, 365–380. https://doi.org/10.1007/978-3-030-03232-6_24
- Hou, J., Zhao, X. (2019). Using a priority queuing approach to improve emergency department performance. Journal of Management Analytics, 7 (1), 28–43. https://doi.org/10.1080/23270012.2019.1691945
- Ferrari, P., Sisinni, E., Saifullah, A., Machado, R. C. S., De Sa, A. O., Felser, M. (2020). Work-in-Progress: Compromising Security of Real-time Ethernet Devices by means of Selective Queue Saturation Attack. 2020 16th IEEE International Conference on Factory Communication Systems (WFCS). https://doi.org/10.1109/wfcs47810.2020.9114505
- Hernandez-Gonzalez, S., Hernandez Ripalda, M. (2018). Systems With Limited Capacity. IGI Global, 172–211. https://doi.org/10.4018/978-1-5225-5264-2.ch006
- Larrain, H., Muñoz, J. C. (2020). The danger zone of express services: When increasing frequencies can deteriorate the level of service. Transportation Research Part C: Emerging Technologies, 113, 213–227. https://doi.org/10.1016/j.trc.2019.05.013
- Chakravarthy, S. R., Shruti, Kulshrestha, R. (2020). A queueing model with server breakdowns, repairs, vacations, and backup server. Operations Research Perspectives, 7, 100131. https://doi.org/10.1016/j.orp.2019.100131
- Ahmadi-Javid, A., Hoseinpour, P. (2019). Service system design for managing interruption risks: A backup-service risk-mitigation strategy. European Journal of Operational Research, 274 (2), 417–431. https://doi.org/10.1016/j.ejor.2018.03.028
- He, F., Oki, E. (2021). Unavailability-Aware Shared Virtual Backup Allocation for Middleboxes: A Queueing Approach. IEEE Transactions on Network and Service Management, 18 (2), 2388–2404. https://doi.org/10.1109/tnsm.2020.3026218
- Sunar, N., Tu, Y., Ziya, S. (2021). Pooled vs. Dedicated Queues when Customers Are Delay-Sensitive. Management Science, 67 (6), 3785–3802. https://doi.org/10.1287/mnsc.2020.3663
- He, B., Li, T. Z. (2021). An Offloading Scheduling Strategy with Minimized Power Overhead for Internet of Vehicles Based on Mobile Edge Computing. Journal of Information Processing Systems, 17 (3), 489–504. https://doi.org/10.3745/JIPS.01.0077
##submission.downloads##
Опубліковано
Як цитувати
Номер
Розділ
Ліцензія
Авторське право (c) 2024 Oleksii Kungurtsev, Nataliia Komleva
Ця робота ліцензується відповідно до Creative Commons Attribution 4.0 International License.
Закріплення та умови передачі авторських прав (ідентифікація авторства) здійснюється у Ліцензійному договорі. Зокрема, автори залишають за собою право на авторство свого рукопису та передають журналу право першої публікації цієї роботи на умовах ліцензії Creative Commons CC BY. При цьому вони мають право укладати самостійно додаткові угоди, що стосуються неексклюзивного поширення роботи у тому вигляді, в якому вона була опублікована цим журналом, але за умови збереження посилання на першу публікацію статті в цьому журналі.
Ліцензійний договір – це документ, в якому автор гарантує, що володіє усіма авторськими правами на твір (рукопис, статтю, тощо).
Автори, підписуючи Ліцензійний договір з ПП «ТЕХНОЛОГІЧНИЙ ЦЕНТР», мають усі права на подальше використання свого твору за умови посилання на наше видання, в якому твір опублікований. Відповідно до умов Ліцензійного договору, Видавець ПП «ТЕХНОЛОГІЧНИЙ ЦЕНТР» не забирає ваші авторські права та отримує від авторів дозвіл на використання та розповсюдження публікації через світові наукові ресурси (власні електронні ресурси, наукометричні бази даних, репозитарії, бібліотеки тощо).
За відсутності підписаного Ліцензійного договору або за відсутністю вказаних в цьому договорі ідентифікаторів, що дають змогу ідентифікувати особу автора, редакція не має права працювати з рукописом.
Важливо пам’ятати, що існує і інший тип угоди між авторами та видавцями – коли авторські права передаються від авторів до видавця. В такому разі автори втрачають права власності на свій твір та не можуть його використовувати в будь-який спосіб.