Платформа для реализации визуальных языков на базе MS Visio

Визуальные языки, используемые в программировании, должны быть максимально удобны разработчикам ПО, аналитикам, заказчику и пр. лицам, вовлеченным в разработку. В этом заключается суть использования визуального моделирования – людям должно становиться нагляднее, удобнее, понятнее. А, например, при использовании языков программирования большое значение имеют другие факторы – эффективность порождаемого кода, совместимость, наличие удобных сред разработки и пр. И получается, что если визуальный язык неудобен, то он попросту не используется – обходятся без него. В этом еще одно отличие визуального моделирования от других средств разработки ПО – это «утонченные» средства, которые не являются столь жизненно важными, как IDE, средства контроля версий и нек. др. Грамотное использование средств визуального моделирования поднимает культуру разработки, повышает концептуальный уровень проекта, решает многочисленные задачи так сказать «второго эшелона– не «выживательные» задачи (исключение, кажется, составляют сверхбольшие проекты IBM, министерства обороны США, NASA и т.п. – но я в таких проектах не участвовал…). Использование визуального моделирования также серьезно опирается на повышенную креативность разработчиков, которым интересны новые технологии, которые хотят работать лучше и качественнее. В итоге получается, что стандартные средства визуального моделирования – язык UML от известных производителей далеко не всегда удовлетворяют желающих использовать визуальные модели в разработке ПО. Например, Microsoft снабдила Visual Studio большим количеством визуальных редакторов, но они … не реализуют соответствующие нотации UML!

Таким образом развивается направление под названием Domain Specific Visual Modeling (DSM): создаются средства для спецификации новых визуальных языков и быстрой реализации для них графических редакторов, генераторов программного кода и пр. Самыми извеcтными такими средствами являются Microsoft DSL TOOLS и Eclipse GMF Обзор средств поддержки предметно-ориентированного визуального моделирования можно найти здесь .

Наш проект направлен на создание быстрых средств реализации предметно-ориентированных визуальных языков на основе продукта Microsoft Visio. Этот продукт является многоцелевой средой для создания различных рисунков и чертежей и поддерживает различные языки для самых разных предметных областей – электротехники, программирования, картографии и пр. Одновременно, реализуя развитые средства расширения, он оказывается мощной платфомой для создания «умных» графических редакторов, обеспечивая их богатой и разнообразной функциональноcтью и позволяя работать не только из среды самого Visio, но и как отдельный ActiveX control, который может быть вставлен в произвольный программный продукт, среду разработки и т.д. Обзор возможностей Visio можно найти здесь.

Мы создали в Visio специальный редактор метамодели и автоматические генераторы для порождения по этой метамодели репозитория и прослойки контроллеров. Эти компоненты необходимы для нормальных графических редакторов, если мы хотим иметь их несколько, а также реализовывать в этих редакторах различные сервисы – отладку в терминах модели, различные отчеты и пр.

Мы реализовали также специальный редактор для разработки концептуальной модели визуального языка и обеспечили мост в Microsoft DSL TOOLS, а также в Microsoft Word. Подробнее>>

Ниже предствалены наши публикации по данному проекту.

Публикации

Д.В.Кознов, А.Н.Иванов, А.И.Мишкис, Я.И.Залевский. Поддержка концептуального моделирования при разработке визуальных языков с использованием Microsoft DSL TOOLS// Сб. Системное программирование./ Вып. 4, под ред. А.Н.Терехова и Д.Ю.Булычева. СПб.: Изд. СПбГУ, 2009.

Д.В.Кознов. Разработка и сопровождение DSM-решений на основе MSF // Системное программирование. / Вып. 3, под ред. А.Н.Терехова и Д.Ю.Булычева. СПб.: Изд. СПбГУ, 2008. С. 80-96.

Д.В.Кознов. Модель разработки и сопровождения решений в области предметно-ориентированного визуального моделирования. SEC(R), Москва, 1-2 ноября, 2007.

А.Павлинов, Д.Кознов, А.Перегудов, Д. Бугайченко, А. Казакова, Р. Чернятчик, Т. Фесенко, А. Иванов. Комплекс средств разработки проблемно-ориентированных визуальных языков. Вестник Санкт-петербургского университета, Серия 10, Информатика, № 2, 2007. C. 86-96.

А.Павлинов, Д.Кознов, А.Перегудов, Д. Бугайченко, А. Казакова, Р. Чернятчик, Т. Фесенко, А. Иванов. О средствах разработки проблемно-ориентированных визуальных языков // Системное программирование. / Вып. 2, под ред. А.Н.Терехова и Д.Ю.Булычева. СПб.: Изд. СПбГУ, 2006. С. 121-147.

А.Казакова, Р.Чернятчик. Microsoft Visio как основа для создания графических редакторов. Технический отчет. СПбГУ, 2006.

Д.Кознов, А.Перегудов, Д. Бугайченко, А. Казакова, Р. Чернятчик, А.Павлинов, Ю.Покалюк. Визуальная среда проектирования систем телевизионного вещания // Системное программирование. / Вып. 2, под ред. А.Н.Терехова и Д.Ю.Булычева. СПб.: Изд. СПбГУ, 2006. С. 148-176.

Д.Кознов, Л.Ольхович. Визуальные языки проектов. Системное программирование // Сб. статей / Под ред. А.Н.Терехова, Д.Ю.Булычева. СПб.: 2004 г. С. 148-167.