Введение 4
Постановка задачи 6
1. Обзор 7
1.1. Проект WMP
1.2. Стандарт BPMN и его подмножество для реализации . . 9
1.2.1. События и логические операторы
1.2.2. Потоки
1.2.3. Действия
1.2.4. Пулы и дорожки
1.3. Существующие решения
2. Поддержка BPMN в ядре проекта WMP 16
2.1. Добавление необходимой функциональности . . . . . . . 16
2.1.1. Поддержка подтипов
2.1.2. Возможность выбора типа связи . . . . . . . . . . 18
2.1.3. Текстовые элементы
2.1.4. Контейнерные элементы
2.1.5. Конструктор элементов
2.2. Добавление дополнительной функциональности . . . . . 22
3. Редактор диаграмм BPMN 27
3.1. Прототип редактора
3.2. Элементы BPMN
3.3. Пулы и дорожки
3.3.1. Реализация
3.3.2. Алгоритм обновления пула
3.3.3. Работа с пулами
Заключение 31
Список литературы
Визуальное моделирование — это метод, который применяется при разработке и эволюции программного обеспечения (ПО), а также в отдельных видах деятельности процесса разработки, и использует графовые модели для описания ПО с разных точек зрения. Визуальные модели, напоминающие чертежи в машиностроении, электротехнике, строительстве и иных инженерных сферах, оказываются удобными при работе с большими массивами информации, имеющими многочисленные внутренние связи. Визуальные спецификации точны, легко воспринимаются, обсуждаются и изменяются, они позволяют охватывать в сжатой и наглядной форме большое количество информации [13]. Одними из самых известных в индустрии разработки ПО моделей являются диаграммы UML. Стандарт BPMN [2] (Business Process Model and Notation) — система условных обозначений (нотация) для моделирования бизнес-процессов.
Спецификация BPMN описывает условные обозначения для отображения бизнес-процессов в виде диаграмм бизнес-процессов. BPMN ориентирована как на технических специалистов, так и на бизнес-пользователей.
Для этого язык использует базовый набор элементов, понятный специалистам данной предметной области, которые позволяют определять сложные семантические конструкции.
В связи с развитием сети Интернет и популярностью мобильных сенсорных устройств (КПК, смартфоны, планшеты), появилась идея предоставить веб-инструмент для составления диаграмм. Доступность инструмента отовсюду и его независимость от платформы могут сделать его весьма удобным в использовании. Так появился проект WMP [7] (Web Modeling Project), посвященный реализации веб-платформы для создания редакторов диаграмм, разрабатываемый на кафедре системного программирования Санкт-Петербургского государственного университета. Приложение представляет собой объединение инструментов для поддержки диаграммных редакторов различных языков. Платформа позволяет расставлять элементы на сцене, проводить между ними связи, задавать элементам свойства различных типов, а также корректно сохранять и загружать их с сервера. Сам проект делится на несколько частей: серверная часть, занимающаяся сохранением и загрузкой диаграмм для клиента, а также авторизацией пользователей; ядро проекта, содержащее основную функциональность, присущую всем редакторам; сами редакторы, которые используют функциональность ядра и с помощью которых можно создавать диаграммы того или иного языка. Благодаря такой структуре проекта становится проще создавать редакторы для диаграмм новых языков, поскольку функциональность ядра переиспользуется в новых редакторах.
До недавнего времени единственным поддерживаемым языком диаграмм в проекте WMP являлся язык диаграмм роботов, использующийся в TRIK Studio [3]. Язык програмирования роботов довольно прост, и в связи с этим ядро проекта содержало лишь самые базовые для многих языков конструкции и элементы. Кроме того, для продвижения проекта WMP был необходим редактор, который мог бы быть полезен широкому кругу пользователей. Вышеописанный стандарт BPMN отлично подошел бы на роль языка диаграмм для нового редактора, но он весьма сложен, и создание редактора, поддерживающего этот формат полностью, не представлялось возможным в рамках текущих возможностей платформы.
В ходе данной работы были получены следующие результаты.
• Определено подмножество BPMN для дальнейшей реализации.
• Расширена необходимыми инструментами платформа WMP.
– Поддержано задание подтипов элементов и смена подтипа элемента на сцене.
– Поддержано создание разных типов связей и добавлена панель связей.
– Поддержаны контейнерные элементы.
• Реализован BPMN-редактор на базе платформы WMP.
• Исправлен ряд ошибок в платформе.
– Восстановлена корректная работа приложения в браузере Mozilla Firefox.
– Восстановлена возможность рисовать жесты и создавать связи с помощью правой кнопки мыши.
– Восстановлена корректная работа механизма растяжения элементов