Главная
АИ #18 (200)
Статьи журнала АИ #18 (200)
Визуальный конструктор программных систем на основе диаграмм связей и теории гра...

Визуальный конструктор программных систем на основе диаграмм связей и теории графов

Автор(-ы):

Морозова Анастасия Руслановна

4 мая 2024

Секция

Информационные технологии

Ключевые слова

визуальное программирование
диаграммы связей
теория графов
изоморфизм графов
генерация кода

Аннотация статьи

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

Текст статьи

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

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

На диаграмму могут быть нанесены различные ограничения на свойства объектов и связей. Диаграммы связей являются интуитивно понятным и наглядным способом описания структуры данных и бизнес-правил информационной системы. Однако для их дальнейшей формальной обработки и генерации программного кода требуется математическая формализация.

В рамках предлагаемого подхода диаграммы связей формализуются с использованием математического аппарата теории графов. Граф image.pngсостоит из множества вершин V и множества ребер E, где каждое ребро соединяет пару вершин. Формально:

image.png – множество вершин image.png - множество ребер. Ребро, соединяющее вершины image.png и image.png, обозначается как image.png.

После формализации диаграммы связей в виде графа возникает задача генерации программного кода информационной системы на основе этой графовой модели. Для ее решения используется алгоритм проверки изоморфизма графов.

Два графа image.png и image.png называются изоморфными, если существует биекция f: image.png → image.png между их вершинами, сохраняющая смежность, т. е. основная идея алгоритма представлена на рисунке.

image.png

Рис. Блок-схема алгоритма

Описание блок-схемы:

  1. Начать с пустого графа-образца G';
  2. Для каждой вершины v из графа-модели G: a) Найти вершину v' в G', изоморфную v b) Если v' не найдена, создать новую вершину v' в G' c) Для каждого ребра (v,u) в G: – Найти вершину u' в G', изоморфную u – Если u' не найдена, создать новую вершину u' – Создать ребро (v',u') в G';
  3. Повторять шаг 2 до исчерпания вершин в G;
  4. Сравнить G' с графом-образцом требуемой программы;
  5. При совпадении G' с образцом – вывести соответствующий программный код.

Таким образом, реализуется процесс пошагового сопоставления диаграммы связей, построенной пользователем, с моделью требуемого программного решения и автоматической генерации кода при полном совпадении.

Предложенный подход обладает рядом преимуществ:

  • Интуитивность и наглядность визуального моделирования предметной области;
  • Использование строгого математического аппарата теории графов;
  • Возможность гибкого задания структуры данных и ограничений;
  • Автоматическая генерация кода по визуальной диаграмме;
  • Независимость от предметной области и языка программирования;
  • Высокая степень абстракции и возможность концентрации на бизнес-логике.

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

Разработанный подход к визуальному конструированию программных систем на основе диаграмм связей и теории графов демонстрирует высокую эффективность и значительный потенциал для развития.

Эффективность достигается за счет:

  • Простоты и интуитивности визуального моделирования;
  • Использования строгой математической формализации;
  • Автоматизации генерации кода по визуальным моделям.

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

Список литературы

  1. Ли К. Вычислительная геометрическая теория графов и комбинаторных оптимизаций // Исследование операций и приложения. 2009. № 2. С. 27-41.
  2. Шмальгаузен В.И. Основы теории графов. М.: Наука, 2015. 304 с.
  3. Кормен Т.Х., Лейзерсон Ч.И., Ривест Р.Л., Штайн К. Алгоритмы: построение и анализ. М.: Вильямс, 2013. 1328 с.
  4. Маклаков С.В. Моделирование бизнес-процессов с AllFusion Process Modeler. М.: Диалог-МИФИ, 2003. 240 с.
  5. Фаулер М. Архитектура корпоративных программных приложений. М.: Издательский дом «Вильямс», 2006. 544 с.
  6. Соммервилл И. Разработка программного обеспечения. 10-е изд. Пирсон, 2015. 816 с.

Поделиться

266

Морозова А. Р. Визуальный конструктор программных систем на основе диаграмм связей и теории графов // Актуальные исследования. 2024. №18 (200). Ч.I.С. 44-46. URL: https://apni.ru/article/9157-vizualnyj-konstruktor-programmnyh-sistem-na-osnove-diagramm-svyazej-i-teorii-grafov

Другие статьи из раздела «Информационные технологии»

Все статьи выпуска
Актуальные исследования

#27 (209)

Прием материалов

29 июня - 5 июля

осталось 3 дня

Размещение PDF-версии журнала

10 июля

Размещение электронной версии статьи

сразу после оплаты

Рассылка печатных экземпляров

22 июля