Реферат по теме выпускной работы

Введение

В процессе проектирования программных систем встает задача выявления основных требований и функций системы. Для их описания применяется IDEF0-диаграмма, демонстрирующая логику функционирования системы. Тем не менее на практике подобные диаграммы зачастую оказываются слишком масштабными, что делает их трудными для восприятия и приводит к когнитивным перегрузкам и ухудшению самочувствия [1-11].

Преодоление данной проблемы предполагает проведение оценки когнитивной сложности диаграммы и её упрощение посредством декомпозиции. В этой связи особую актуальность приобретает разработка методик тестирования, анализа и регламентации когнитивной сложности IDEF0-диаграмм.

Целью исследования является разработка алгоритмов и программных модулей подсистемы ограничения когнитивной сложности IDEF0-диаграмм средствами языка программирования C#.

1. Системный анализ предметной области

1.1 Общая характеристика задачи

Когнитивные науки представляют собой междисциплинарное направление, посвящённое изучению механизмов познания у человека, животных и искусственных систем [12-15]. В системном анализе когнитивная сложность трактуется как мера сложности процессов понимания и интерпретации структур, а также как характеристика взаимодействия между человеком и компьютером [16-18].

Задача проблемной адаптации систем моделирования сложных объектов – задача снижения когнитивной сложности объекта с целью упрощения понимания этого объекта людьми разной компетентности. Данная задача включает в себя: определение языка для описания объекта, построение модели предметной области, построение меры когнитивной сложности и упрощение построенной модели, ориентируясь на уровень когнитивной сложности модели [19-24].

В данной работе рассматривается задача ограничения когнитивной сложности алгоритмов, представленных в виде IDEF0-диаграмм (нотация описания алгоритмов сложных систем в структурированной графической форме, применяется для логического анализа системы [25]).

1.2 Существующие методы оценки и ограничения когнитивной сложности моделей

1.2.1 Метод оценки когнитивной сложности моделей

Оценка когнитивной сложности модели определяется при помощи меры когнитивной сложности [20-21]. Для построения данной меры необходимо получить табличное представление множества экземпляров отношений прототипа \(Р\), а также множество весовых коэффициентов \(М\) для каждого типа отношения (1.1).

\[M = \{ M_i^m \}_{i=\overline{1,I_m}}^{m=\overline{1,W}}\tag{1.1} \]

где \(W\) – число уровней типов отношений, имеющих место в прототипе; \(m\) – номер уровня иерархии отношений; \(i\) – номер отношения в пределах уровня; \(I_m\) – число отношений на уровне.

Когнитивная сложность прототипа определяется по рекуррентному соотношению (1.2).

\[S_i^m = M_i^m \cdot \sum_{j=1}^{K_i^m-1} S_j^{m-1}, \quad i = \overline{1,I_l^m}\tag{1.2} \]

где: \(i\) – номер узла m-го уровня; \(j\) – номер составляющего отношения в узле; \(K_i^m-1\) – число отношений в узле.

Для получения весовых коэффициентов M необходимо решить систему уравнений (1.3).

\[A_l = S_l^{m^l} \quad \text{для } \forall l : l = \overline{1,N_p}\tag{1.3}\]

где \(A = \{A_l\}\) – совокупность оценок абсолютной когнитивной сложности по шкале \(Ш_А\); \(N_p\) – количество примеров.

Оценки абсолютной когнитивной сложности определяются на основе экспериментального тестирования групп пользователей. В рамках тестирования испытуемые оценивают свою компетентность в предметной области модели, зрительную память и абстрактное мышление. Затем эксперты оценивают сложность ряда прототипов и примеров моделей, что позволяет упорядочить примеры по степени сложности и определить относительную когнитивную сложность моделей. На основе полученных результатов формируется шкала \(Ш_А\).

При этом если количество примеров совпадает с общим количеством прототипов всех возможных типов отношоний, входящих в состав набора примеров, то возможен полный раcчет \(M\). Если \(N_p=W\), то возможен частичный расчет \(M\), а вес отношений одного типа эквивалентен между собой. Если \(N_p<W\), то возможен частичный расчет \(M\), а часть коэффициентов определяются как константы (0 или 1).

1.2.2 Метод ограничения когнитивной сложности модели

Алгоритм преобразования модели к виду, имеющему ограниченную когнитивную сложность, был предложен в [20] и описан в ходе анализа в [19].

Приведем блок-схему данного алгоритма (см. рис. 1.1) [1].

Алгоритм преобразования модели
Рисунок 1.1 – Алгоритм преобразования модели

2. Методы решения задачи

2.1 Специфика IDEF0-диаграмм

IDEF0 (см. рис. 2.1) – нотация функционального моделирования, которая используется для описания процессов в сложных системах. IDEF0 относится к семейству методологий IDEF (Integrated computer-aided manufacturing (ICAM) DEFinition) [26].

Алгоритм преобразования модели
Рисунок 2.1 – Алгоритм преобразования модели

В данной нотации алгоритм описывается при помощи блоков (функции) и стрелок (элементы системы, участвующие в работе алгоритма) [27].

Каждая диаграмма имеет свой номер, называемый узлом (node), и название. Узел диаграммы описывает блок, декомпозицию которого она содержит (А-0 для первой диаграммы и А<номер блока> для последующих).

Блоки характеризуются их номером, именем и составом входящих и выходящих стрелок.

Стрелки бывают четырех видов [28]:

  1. Управление (control) – направлены в верхнюю границу блока, описывают механизмы управления функцией (например акты, инструкции и т.д.).
  2. Вход (input) – в левую границу блока, описывают входные данные функции.
  3. Выход (output) – из правой границы блока, описывают выходные данные функции.
  4. Механизм (mechanism) – в нижнюю границу блока, описывают используемые для выполнения функции механизмы.

Около каждой стрелки располагается ее текстовое описание.

2.2 Специфика представления IDEF0-диаграмм при помощи IDL

Рассмотрим структуру IDEF0-диаграммы, описанной при помощи языка определения интерфейсов IDL (см. рис. 2.2) [1, 29].

Представление IDEF0-диаграммы при помощи IDL
Рисунок 2.2 – Представление IDEF0-диаграммы при помощи IDL

Описание диаграмм, блоков и стрелок заключены в блоки «DIAGRAM-ENDDIAGRAM», «BOX-ENDBOX» и «ARROWSEG-ENDSEG» соответственно.

Название диаграммы записано после ключевого слова «TITLE», название блока – после слова «NAME», а название стрелки – после слова «LABEL».

Код (узел) диаграммы записан после слова «GRAPHIC», а код диаграммы с декомпозицией блока – после слов «DETAIL REFERENCE».

Координаты левого нижнего и правого верхнего углов блока записаны после слов «BOX COORDINATES», а координаты стрелки – после слова «PATH» (сначала указываются координаты начала стрелки, затем координаты каждого изгиба стрелки и в последнюю очередь координаты конца стрелки). Начало координат – левый верхний угол.

«Источник» стрелки «Source» описывается в формате «SOURCE BOX <Номер блока, из которого стрелка выходит><Тип стрелки (O)><Порядок выхода стрелки из блока>» или «SOURCE BORDER <Тип стрелки (O/C/M)><Порядок выхода стрелки из границы изображения>», если стрелка выходит из границы изображения.

«Приемник» стрелки «Sink» аналогично описывается в формате SINK BOX <Номер блока, в который стрелка входит><Тип стрелки (I/C/M)><Порядок входа стрелки в блок>» или «SINK BORDER <Тип стрелки (I)><Порядок входа стрелки в границу изображения>».

2.3 Преобразование IDEF0-диаграммы в таблицы входов, выходов, механизмов и управлений

Используя данные, полученные из IDL описания диаграммы, можно определить 3 SQLite [30] таблицы (см. рис. 2.3):

  1. Диаграмма – «create table diagram (diagram_id integer not null primary key autoincrement unique, name text not null, code text not null unique)».
  2. Блок – «create table box (box_id text not null primary key unique, diagram_id integer not null references diagram(diagram_id) on delete cascade, ref_diagram_code text unique, name text not null unique, leftX double not null, leftY double not null, rightX double not null, rightY double not null, coordinates text not null);».
  3. Стрелка – «create table arrow (arrow_id string not null, name text not null, fromX double not null, fromY double not null, toX double not null, toY double not null, coordinates text not null, label_coordinates text not null, source text not null, sink text not null, diagram_id integer not null references diagram(diagram_id) on delete cascade);».
SQL таблицы
Рисунок 2.3 – SQL таблицы

Таким образом, используя координаты блоков и стрелок можно определить все необходимые таблицы при помощи SQL-запросов:

  1. Для «входа» конец стрелки должен совпадать с левой границей блока: «select diagram.name as 'Диаграмма', diagram.code 'Узел', box.box_id 'ID блока', box.name 'Блок', arrow.name 'Данные' from box join diagram on box.diagram_id = diagram.diagram_id join arrow on diagram.diagram_id = arrow.diagram_id where ((toX = leftX) and (toY between rightY and leftY)) order by box.box_id;».
  2. Для «выхода» начало стрелки должно совпадать с правой границей блока: «select diagram.name as 'Диаграмма', diagram.code 'Узел', box.box_id 'ID блока', box.name 'Блок', arrow.name 'Данные' from box join diagram on box.diagram_id = diagram.diagram_id join arrow on diagram.diagram_id = arrow.diagram_id where ((fromX = rightX) and (fromY between rightY and leftY)) order by box.box_id;».
  3. Для «управления» конец стрелки должен совпадать с верхней границей блока: «select diagram.name as 'Диаграмма', diagram.code 'Узел', box.box_id 'ID блока', box.name 'Блок', arrow.name 'Данные' from box join diagram on box.diagram_id = diagram.diagram_id join arrow on diagram.diagram_id = arrow.diagram_id where ((toX between leftX and rightX) and (toY = rightY)) order by box.box_id;».
  4. Для «механизма» конец стрелки должен совпадать с нижней границей блока: «select diagram.name as 'Диаграмма', diagram.code 'Узел', box.box_id 'ID блока', box.name 'Блок', arrow.name 'Данные' from box join diagram on box.diagram_id = diagram.diagram_id join arrow on diagram.diagram_id = arrow.diagram_id where ((toX between leftX and rightX) and (toY = leftY)) order by box.box_id;».

2.4 Оценка когнитивной сложности IDEF0-диаграммы

Когнитивную сложность IDEF0-диаграммы можно определить по формуле (2.1) [1]. В данной работе задача автоматизации тестирования не решается, система использует заранее полученные весовые коэффициенты.

\[S = K_l \cdot L + K_b \cdot \sum_{i=1}^{B} \left( K_{in} \cdot In_j + K_{out} \cdot Out_j + K_{mech} \cdot Mech_j + K_{cont} \cdot Cont_j \right)\tag{2.1}\]

где \(K_l\), \(K_b\), \(K_{in}\), \(K_{out}\), \(K_{mech}\), \(K_{cont}\) – весовые коэффициенты для связей, блоков, входов, выходов, механизмов и управлений соответственно (определяются при помощи предварительного тестирования); \(L\) – количество связей (количество стрелок, являющихся входной для одного и выходной для другого блока); \(B\) – количество блоков; \(j\) – номер блока; \(In_j\), \(Out_j\), \(Mech_j\), \(Cont_j\) – количество входов, выходов, механизмов и управлений \(j\)-го блока.

Под рекомендуемой когнитивной сложностью будем понимать минимальный уровень когнитивной сложности \(minS\), до которого возможно упростить диаграмму.

2.5 Ограничение когнитивной сложности IDEF0-диаграммы

Преобразование IDEF0-диаграммы к виду, имеющему ограниченную когнитивную сложность, выполняется при помощи алгоритма, описанного в подразделе 1.2.2, с учетом специфики нотации IDEF0.

2.6 Использование API для размещения блоков, стрелок и их подписей на новой IDEF0-диаграмме

После модификации IDEF0-диаграммы необходимо снова разместить блоки, стрелки и их подписи на изображении. В данной работе для этого используется система «IDEF0-SVG» [31], которая позволяет разместить блоки и стрелки на изображении и получить результат в формате SVG [1, 32].

Входными данными системы является описание IDEF0 модели в формате: «<Название блока> <receives/respects/produces/requires> <название стрелки>». Здесь receives используется для обозначения входной стрелки, respects – для стрелки управления, produces – для выходной стрелки и requires – для стрелки механизма [1].

Выходной SVG файл содержит описание полученной модели. Блоки описываются при помощи тега «rect x=’’ y=’’ width=’’ height=’’», где x и y – координаты левого нижнего угла блока, width и height – ширина и высота блока. Аналогично описывается расположение названия блока или стрелки при помощи тега «text x=’’ y=’’».

Расположение стрелок содержится в тегах «path d=’’». В d перечислены координаты каждого изгиба стрелки. Если стрелка прямая, то она описывается при помощи тега «line x1=’’ y1=’’ x2=’’ y2=’’», где x1 и y1 – координаты начала стрелки, а x2 и y2 – координаты конца стрелки.

При использовании полученных данных для размещения блоков в AllFusion Process Modeler необходимо учитывать, что представление координат в формате IDL и в формате SVG отличается (см. [табл. 2.1]) [1].

Таблица 2.1 — Представление координат в формате IDL и SVG
IDL SVG
Размер изображения — «1x1». Размер изображения зависит от количества блоков.
Координаты — вещественные числа. Координаты — целые числа.
Стрелки изгибаются под прямым углом, т.е. при перечислении координат за один раз может измениться только 1 координата. Изгибы стрелок закругленные, т.е. при перечислении координат за один раз может измениться сразу абсцисса и ордината.

Таким образом, при переходе от SVG к IDL необходимо:

  1. Каждую абсциссу разделить на ширину изображения, а ординату – на высоту изображения.
  2. Описывать сначала изменения абсциссы, а затем изменение ординаты, если стрелка изгибается из горизонтального положения в вертикальное.
  3. Описывать сначала изменения ординаты, а затем изменение абсциссы, если стрелка изгибается из вертикального положения в горизонтальное.

2.7 Сохранение IDEF0-диаграммы в формате IDL

При сохранении преобразованной диаграммы необходимо учитывать, некоторые особенности AllFusion Process Modeler:

  1. Перед нумерацией блоки сортируются в порядке возрастания x-координаты правого угла.
  2. Диаграмма с декомпозицией блока должна называться «А<Номер блока>» [1].

Заключение

В результате исследования была выявлена специфика IDEF0-диаграмм как удобного способа представления алгоритмов через систему блоков и связей между ними. Определены особенности отображения таких диаграмм в формате IDL. Описан метод тестирования для определения когнитивной сложности моделей. Разработаны методы оценки и ограничения когнитивной сложности IDEF0-диаграмм.

Представленные методы обеспечивают возможность автоматизированной оценки и преобразования IDEF0-диаграмм, что способствует упрощению процесса проектирования программных систем и повышению наглядности алгоритмов. Перспективным направлением дальнейших исследований является адаптация предложенных методов к другим графическим нотациям.

При написании данного реферата магистерская работа еще не завершена. Окончательное завершение: июнь 2026 года. Полный текст работы и материалы по теме могут быть получены у автора или его руководителя после указанной даты.

Список используемых источников

  1. Ремизов, В.К., Григорьев, А.В. Разработка программных модулей подсистемы ограничения когнитивной сложности IDEF0-диаграмм // Информатика, управляющие системы, математическое и компьютерное моделирование (ИУСМКМ-2024) : Материалы XV Международной научно-технической конференции в рамках X Международного Научного форума Донецкой Народной Республики, Донецк, 29–30 мая 2024 года. – Донецк: Донецкий национальный технический университет, 2024.
  2. Gonçales, L. J., Farias, K., da Silva, B. C. Measuring the cognitive load of software developers: An extended Systematic Mapping Study // Information and Software Technology. — 2021. — Vol. 136. — 106563. — DOI: https://doi.org/10.1016/j.infsof.2021.106563. — URL: https://www.sciencedirect.com/science/article/pii/S095058492100046X.
  3. Горбунова А.Ю. Теория когнитивной нагрузки: оптимизация обучения с помощью алгоритмов решения задач и последовательности обучения // Мир психологии. – 2024. – № 2. – С. 237–253. – DOI: https://doi.org/10.51944/20738528_2024_2_237.
  4. Kosch T., Huang W., Schmidt A., Weibel N. A Survey on Measuring Cognitive Workload in Human-Computer Interaction [Электронный ресурс] // Proceedings of the ACM on Human-Computer Interaction. – 2023. – Vol. 7, Issue EICS, Article 170. – DOI: https://doi.org/10.1145/3582272. – Режим доступа: https://thomaskosch.com/wp-content/papercite-data/pdf/kosch2023a.pdf.
  5. Rauffet P., Moga S., Kostenko A. Cognitive control and mental workload in multitasking // arXiv preprint arXiv:2406.06178. — 2024. — URL: https://arxiv.org/abs/2406.06178.
  6. Kurian, R. M., Thomas, S. Perceived stress and fatigue in software developers: Examining the benefits of gratitude [Электронный ресурс] // Personality and Individual Differences. – 2023. – Vol. 201. – Article 111923. – ISSN 0191-8869. – DOI: https://doi.org/10.1016/j.paid.2022.111923. – Режим доступа: https://www.sciencedirect.com/science/article/abs/pii/S0191886922004287.
  7. Malinova, M., Mendling, J. Cognitive Diagram Understanding and Task Performance in Systems Analysis and Design [Электронный ресурс] // MIS Quarterly. – 2021. – Vol. 45, № 4. – С. 2101–2158. – DOI: https://doi.org/10.25300/MISQ/2021/15262. – Режим доступа: https://misq.umn.edu/misq/article/45/4/2101/1889/Cognitive-Diagram-Understanding-and-Task.
  8. Alhazmi, S., Thevathayan, C., Hamilton, M. Reducing cognitive load in learning to model UML sequence diagrams [Электронный ресурс] // Advances in Information Systems Development / eds. E. Insfran et al. – Cham: Springer, 2022. – (Lecture Notes in Information Systems and Organisation; Vol. 55). – DOI: https://doi.org/10.1007/978-3-030-95354-6_11. – Режим доступа: https://link.springer.com/chapter/10.1007/978-3-030-95354-6_11.
  9. Чичерина, Н. В., Ван, Л. Методы и приёмы управления когнитивной нагрузкой в процессе обучения [Электронный ресурс] // Вопросы методики преподавания в вузе. – 2023. – Т. 12, № 4. – С. 8–16. – DOI: https://doi.org/10.57769/2227-8591.12.4.01. – Режим доступа: https://cyberleninka.ru/article/n/metody-i-priemy-upravleniya-kognitivnoy-nagruzkoy-v-protsesse-obucheniya.
  10. Yoghourdjian V., Abbad-Andaloussi A., Burattin A., Slaats T., Kindler E., Weber B. Complexity in declarative process models: Metrics and multi-modal evaluation // Expert Systems with Applications. – 2023. – Vol. 233. – Article No. 119620. – DOI: https://doi.org/10.1016/j.eswa.2023.120924.
  11. Parbat, D., Chakraborty, M. A Novel Methodology to study the Cognitive Load Induced EEG Complexity Changes: Chaos, Fractal and Entropy based approach [Электронный ресурс] // Biomedical Signal Processing and Control. – 2021. – Vol. 64. – 102277. – ISSN 1746-8094. – DOI: https://doi.org/10.1016/j.bspc.2020.102277. – Режим доступа: https://www.sciencedirect.com/science/article/pii/S1746809420304006.
  12. Величковский, Б. М., Кобринский, Б. А., Соловьёв, В. Д. Когнитивная наука и искусственный интеллект: взаимопроникновение и относительная автономность этих междисциплинарных направлений в перечне ВАК // Искусственный интеллект и принятие решений. – 2021. – № 4. – С. 99–102.
  13. Макареня, Т. А., Маннаа, А. С., Калиниченко, А. И., Петренко, С. В. Когнитивное моделирование социально-экономических систем: ретроспективный анализ инструментов и информационных систем [Электронный ресурс] // Вестник ВГУ. Серия: Системный анализ и информационные технологии. – 2023. – № 3. – С. 84–94. – DOI: https://doi.org/10.17308/sait/1995-5499/2023/3/84-94. – Режим доступа: https://doi.org/10.17308/sait/1995-5499/2023/3/84-94.
  14. Ляпунцова, Е. В., Власова, В. В. Некоторые аспекты взаимовлияния искусственного интеллекта и когнитивной науки [Электронный ресурс] // Известия ТулГУ. Технические науки. – 2024. – № 5. – Режим доступа: https://cyberleninka.ru/article/n/nekotorye-aspekty-vzaimovliyaniya-iskusstvennogo-intellekta-i-kognitivnoy-nauki.
  15. Khare, V., Dwivedi, S. K., Bhatia, M. Foundation of cognitive science [Электронный ресурс] // Cognitive Science, Computational Intelligence, and Data Analytics / eds. V. Khare, S. K. Dwivedi, M. Bhatia. – Morgan Kaufmann, 2024. – C. 63–110. – ISBN 9780443160783. – DOI: https://doi.org/10.1016/B978-0-443-16078-3.00005-8. – Режим доступа: https://www.sciencedirect.com/science/article/pii/B9780443160783000058.
  16. Князева Е.Н. Когнитивная сложность // Философия науки и техники. 2013. №1. URL: https://cyberleninka.ru/article/n/kognitivnaya-slozhnost.
  17. SonarSource. Cognitive complexity: A new way of measuring understandability [Электронный ресурс] // SonarSource Blog. – 2023. – Режим доступа: https://www.sonarsource.com/docs/CognitiveComplexity.pdf.
  18. Lavazza, L., Abualkishik, A. Z., Liu, G., Morasca, S. An empirical evaluation of the “Cognitive Complexity” measure as a predictor of code understandability [Электронный ресурс] // Journal of Systems and Software. – 2023. – Vol. 197. – 111561. – ISSN 0164-1212. – DOI: https://doi.org/10.1016/j.jss.2022.111561. – Режим доступа: https://www.sciencedirect.com/science/article/pii/S0164121222002370.
  19. Ремизов, В.К., Григорьев, А.В. Анализ методов преобразования алгоритмов // Информатика и кибернетика. – Д.: ДонНТУ, 2023. – №4 (34). – С. 42–48.
  20. Григорьев А.В. Ограничение когнитивной сложности моделей. // Прогрессивные технологии и системы машиностроения: Международный сб. научных трудов. – Донецк: ДонГТУ, 2000. – Вып. 10. – С. 49–58.
  21. Григорьев А.В. Оценка когнитивной сложности моделей. // Научные труды Донецкого государственного технического университета. Серия: Информатика, кибернетика и вычислительная техника – Донецк: ДонГТУ, 1999. – Вып. 6. – С. 252–259.
  22. Григорьев А.В. Адаптивная система ограничений на сложность при синтезе новых решений в интеллектуальных САПР // Искусственный интеллект. – Донецк, 2001. – № 2. – С. 152–167.
  23. Григорьев А.В. Комплекс средств и методов работы с формальными грамматиками в семиотической концептуальной модели предметной области интеллектуальных САПР // Информатика и кибернетика. – Донецк: ДонНТУ, 2017. – № 1 (7). – С. 46–72.
  24. Григорьев А.В. Методика тестирования для определения когнитивной сложности моделей различных предметных областей. // Научные труды Донецкого государственного технического университета. Серия: Информатика, кибернетика и вычислительная техника. – Донецк: ДонГТУ, 1999. – Вып. 6. – С. 246–251.
  25. Chen, C., Xu, G. Study on the IDEF0 Model of EPC Interface Management Based on BIM Platform [Электронный ресурс] // EAI Endorsed Transactions on Smart Cities. – 2023. – Vol. 7, № 2. – e6. – DOI: https://doi.org/10.4108/eai.24-2-2023.2330608. – Режим доступа: https://eudl.eu/doi/10.4108/eai.24-2-2023.2330608.
  26. Mathur, N., Last, N., Morris, K. C. A process model representation of the end-of-life phase of a product in a circular economy to identify standards needs [Электронный ресурс] // Frontiers in Manufacturing Technology. – 2023. – Vol. 3. – Article 988073. – DOI: https://doi.org/10.3389/fmtec.2023.988073. – Режим доступа: https://www.frontiersin.org/journals/manufacturing-technology/articles/10.3389/fmtec.2023.988073/full.
  27. Chari, A., Stahre, J., Bärring, M., Despeisse, M., Li, D., Friis, M., Mörstam, M., Johansson, B. Analysing the antecedents to digital platform implementation for resilient and sustainable manufacturing supply chains – An IDEF0 modelling approach. // Journal of Cleaner Production. – 2023. – Vol. 429. – Article 139636. – DOI: https://doi.org/10.1016/j.jclepro.2023.139598 .
  28. Kostyrin, E. V., Goryunova, I. S. Functional simulation of medical organization management system [Электронный ресурс] // Вестник МГТУ им. Н. Э. Баумана. Серия «Приборостроение». – 2021. – № 1 (134). – Режим доступа: https://cyberleninka.ru/article/n/functional-simulation-of-medical-organization-management-system.
  29. What Is an IDL (Interface Definition Language) [Электронный ресурс] // phoenixNAP Glossary. – Режим доступа: https://phoenixnap.com/glossary/idl-meaning.
  30. SQLite [Электронный ресурс]. – Режим доступа: https://www.sqlite.org/.
  31. IDEF0-SVG – Текст: электронный // GitHub. URL: https://github.com/jimmyjazz/IDEF0-SVG.
  32. What is SVG? The Complete Guide to Scalable Vector Graphics [Электронный ресурс] // SVG AI Blog. – 2025. – Режим доступа: https://www.svgai.org/blog/guides/what-is-svg.