1. Введение 4
2. Постановка задачи 5
3. Существующие используемые решения 6
3.1. Обзор системы TRIK Studio 6
3.2. Обзор технологии Modeling SDK 7
4. Архитектура решения 10
5. Особенности реализации 12
5.1. Редактор кода 12
5.2. Валидация кода 14
5.3. Генерация кода 15
6. Апробация решения 19
7. Обсуждение 21
8. Заключение 22
Список литературы 23
Предметно-ориентированные языки (Domain Specific Language или DSL) очень важны в современном мире программирования. Они служат удобным средством разработки архитектуры, бизнес- процессов и т. д. Также существуют визуальные предметно-ориентированные языки, которые в некоторых важных случаях оказываются удобнее текстовых. Например, они полезны для обучения детей составлению алгоритмов, так как в данном случае изучение синтаксиса языка может быть затруднительно.
На кафедре системного программирования СПбГУ создан проект QReal [14] — кроссплатформенный свободно распространяемый под лицензией Apache License 2.01 инструмент с открытым исходным кодом, предназначенный для создания специализированных сред визуального программирования.
Этот инструмент используется в ядре среды визуального программирования роботов TRIK Studio, которая позволяет составлять визуальные схемы алгоритмов, генерировать по ним код в несколько языков программирования, симулировать поведение роботов, а также отправлять программу на роботы Lego NXT, Lego EV3 или ТРИК [1]. TRIK Studio разработана на языке Cd—с использованием библиотеки Qt [8].
Недавно стартовал новый проект REAL.NET [12], являющийся идейным продолжателем QReal и реализуемый на платформе .NET. В связи с этим возник интерес изучения технологии Modeling SDK, которая позволяет создавать собственные визуальные языки как плагины к Visual Studio [6], как аналога разрабатываемого REAL.NET с целью выяснить его сильные и слабые стороны, а также написать код, потенциально переиспользуемый в будущей реализации среды программирования роботов в REAL.NET.
В ходе данной работы получены следующие результаты:
• выполнен обзор возможностей среды программирования роботов TRIK Studio;
• выполнен обзор Modeling SDK for Visual Studio;
• разработана архитектура решения;
• реализована визуальная среда программирования роботов;
• произведена апробация решения путем тестирования на реальном роботе.