В современном мире существует ряд различных задач, для решения которых эффективнее всего использовать визуальные предметно-ориентированные языки программирования. В качестве примера подобной задачи и соответствующих языков можно привести среды для обучения программированию TRIK Studio [26], LEGO RoboLab [3] и Scratch [19] и их языки. Визуальные предметно-ориентированные языки хороши тем, что они направлены на решение задач в конкретной предметной области и, будучи визуальными языками, выступают в качестве аналогов текстовым языкам и позволяют пользователям писать программы с помощью манипуляций графическими моделями и объектами.
В настоящее время на кафедре системного программирования СПб-ГУ ведётся разработка платформы для предметно-ориентированного моделирования REAL.NET[27], которая призвана облегчить реализацию и работу с различными визуальными языками. Изначально платформа разрабатывалась как десктопная система, однако в условиях современных реалий среда постепенно переносится в веб. Сейчас у REAL.NETимеется веб-редактор, который позволяет работать с визуальными языками.
К команде REAL.NETобратился один из разработчиков движка СУБД PosDB [13] и предложил задачу по реализации визуального редактора для создания планов выполнения запросов в PosDB. План выполнения запросов - это последовательность операций, которые необходимо выполнить для исполнения SQL-запроса в СУБД. Проанализировав такой план, можно понять, как уменьшить время выполнения за-проса и увеличить производительность, чем обычно занимаются администраторы баз данных. Для удобства восприятия информации планы выполнения запросов можно визуализировать с помощью специальных программ. Разработчики движков, в свою очередь, сначала выписывают несколько типовых запросов, а затем строят и визуализируют их возможные планы и анализируют, какое преобразование в план лучше для оптимизации работы создаваемого движка СУБД. Реализованный визуальный редактор планируется использовать для построения планов выполнения запросов, а также в образовательных целях для обучения студентов созданию планов, так как их построение имеет набор правил и ограничений, которые нельзя нарушать. В отличие от обычных редакторов для построения диаграмм, реализованный редактор будет иметь систему проверки упомянутых ограничений.
В рамках выпускной квалификационной работы работы были достигнуты следующие результаты.
• Проведён обзор движка и существующих визуализаторов планов.
• Разработан визуальный предметно-ориентированный язык для создания планов запросов в PosDB.
• Реализован визуальный редактор с необходимой функциональностью в пользовательском интерфейсе.
• Добавлена система проверки ограничений при построении планов.
• Проведена апробация.