Труды КНЦ (Технические науки вып. 3/2024(15))

В этом примере клиент вызывает удаленную функцию add на сервере, передавая параметры, а сервер выполняет сложение и возвращает результат клиенту (Листинг 3,4). Модуль Pyro4 для распределенных компонентов Pyro4 — это библиотека, которая реализует механизм удаленного вызова процедур, позволяя компонентам системы взаимодействовать друг с другом по сети. Pyro4 позволяет определить один компонент как сервер (который предоставляет удаленные методы), а другой как клиент (который вызывает эти методы). Пример Pyro4: Листинг 5 Pyro4 сервер: im p o r t P y ro 4 @ P y ro4 .e xpo se c la s s M ode lM anage r: d e f g e t _ m o d e l_ d a t a ( s e lf , m o d e l_ id ) : r e t u r n f'^aHH b ie модели { m o d e l_ id } " d e f s t a r t _ s e r v e r ( ) : P y r o 4 . Daemon. s e r v e S im p le ( { M ode lM anage r: "m o d e l.m a n a g e r" } , ns = F a ls e ) i f __ name__ == " __ ma in__ " : s t a r t _ s e r v e r ( ) Pyro4 позволяет создать распределенную систему, где один компонент (сервер) предоставляет данные или методы для управления моделями, а другой компонент (клиент) обращается к этим методам удаленно (Листинг 5, 6 ). Листинг 6 Pyro4 клиент: im p o r t P y ro 4 d e f f e t c h _ m o d e l_ d a t a ( m o d e l_ id ) : mode l_m anage r = P y ro 4 .P ro x y ( "P Y R O :m o d e l.m a n a g e r@ lo c a lh o s t:9 0 9 0 " ) r e t u r n m o d e l_ m a n a g e r.g e t_ m o d e l_ d a ta (m o d e l_ id ) i f __ name__ == " __ ma in__ " : d a ta = fe t c h _ m o d e l_ d a t a ( 1 ) p r i n t ( f ,,Полученные данные: { d a t a } " ) Заключение В результате проведенного анализа была предложена модульная архитектура программного комплекса для системы концептуального моделирования, основанная на использовании языка программирования Python и библиотеки PyQt5. Эта архитектура предоставляет несколько возможностей реализации, каждая из которых может быть адаптирована в зависимости от специфики задач и требований пользователей. Данная система имеет потенциал для дальнейшего развития для автоматизации анализа данных и расширение функциональности за счет подключения дополнительных модулей и API. Труды Кольского научного центра РАН. Серия: Технические науки. 2024. Т. 15, № 3. С. 97-104. Transactions of the Kola Science Centre of RAS. Series: Engineering Sciences. 2024. Vol. 15, No. 3. P. 97-104. © Руденко Н. Н., Вдовиченко Н. А., 2024 103

RkJQdWJsaXNoZXIy MTUzNzYz