Ставится задача повторить доселе непревзойдённый ARIS SmartDesign, который по табличному представлению процесса автоматически рисует схему процесса (структуры чего-либо). Схемы процессов желательно строить в нескольких процессных нотациях (EPC, VAD и т.п.). ARIS SmartDesign также умеет по табличному представлению орг-структуры (другой древообразной взаимосвязи) строить иерархическую схему (тут рассмотрим только процессные схемы).

Системы / Инструменты ВРМ (Business Process Management System/Tool) часто представляют из себя что-то очень сложное и дорогое. Чтобы работать с ними для формализации (моделировании, описании) даже простых процессов нужно много учиться, включая зазубривание различных нотаций. Ниже показан вариант как на простом инструменте можно составить схему своего процесса «с нулевой» подготовкой в области BPM. Достаточно заполнить несложную табличку и получить схему процесса в нескольких нотациях, как это показано на заставке. Инструменты типа SmartDesign реализуют подход «таблица с процессом в схему процесса».

Работа с рассмотренными ниже инструментами SmartDesign – чрезвычайно проста и не требует никаких навыков. Статья может показаться сложной, вследствие того, что в ней много посвящено сравнению ARIS SmartDesign vs DOT SmartDesign и рассмотрены технологические аспекты обоих инструментов, которые рядовому пользователю не понадобятся. Однако в сущности нам нужно просто заполнить таблицу и мы сразу получаем его схему.

Только в системе ARIS (самая известная BPM-система) ранее была представлена реализация SmartDesign, концепцию которого можно назвать инструментом «моделирование без моделирования», по аналогии «программирование без программирования». Несмотря на долгое существование и наличие его не только в платной версии ARIS, но и в ARIS Express – этот инструмент остается недооцененным и поэтому в целях его популяризации предлагается альтернативная реализация DOT SmartDesign, причем в нескольких вариациях (excel, javascript).

1 ARIS SmartDesign

1.1 Сценарий построения схемы процесса

Допустим, что ставится задача формализации бизнес-процесса и сотруднику нужно нарисовать схему своего процесса в нотации «Х» (некой). Исполнитель не знает нотацию Х (вообще ни одной нотации не знает или знает, но «кое-как»), но для этой нотации Х есть «палочка-выручалочка» под названием «SmartDesign».

В основе инструмента SmartDesign – табличка, заполнив которую получаем готовую схему в заданной нотации. Фактически это grapher (самописец) бизнес-процесса по табличному представлению.

Рис. 1.1 ARIS SmartDesign на примере Event-driven Process Chain
Рис. 1.1 ARIS SmartDesign на примере Event-driven Process Chain

Покажем процесс формализации производственного процесса на примере составления диаграммы ЕРС (Event-driven Process Chain, цепочка процессов, управляемых событиями), см. рис. 1.1.

Участник целевого (своего) процесса - простой сотрудник, «не обремененный» знаниями нотации ЕРС и BPM CBOK и ранее не слышавший «процессное управление» / «процессный подход», заполняет ячейки в табличке, т.е. в окне «Insert SmartDesign» инструмента ARIS SmartDesign. При заполнении каждой новой ячейки таблицы сразу (real time) на схеме слева появляется соответствующий графический объект. Интуитивно понятно: заполнил ячейку – посмотрел «где добавился квадратик», если не туда, то исправил значения в ячейках таблицы. Понятно, что название исполнителя конкретной операции нужно вписать в ячейку - пересечение заголовка поля «Исполнитель» (Roles) и операции, которую выполняет исполнитель этой операции.

Утрировано: если работник захотел запечатлеть свой процесс в «нотации BPM», то построчно в блокнотике «записывает буквами» каждую свою операцию (название операции), исполнителя (кто делает операцию) и вход \ выход (заготовки для операции и ее результаты). Потом работник нажимает «большую красную кнопку» (см. заставку) и появляется цветная картинка со схемой его процесса.   

Главное, что должен знать сотрудник – это свой процесс. Согласно примеру, напечатав в «зеленой» ячейке (зеленые – операции, красные - события) поля «Process flow» название операции «Шаг 1. Проверка Заказ-наряда» он увидит отображение прямоугольника с таким же названием. Если напечатает в «красном» поле, то появится элемент «событие» (event, шестиугольник). Если заполнить ячейки в полях Roles (Исполнители) или Input Documents (Входящие документы), то на схеме появятся соответствующие элементы в привязке к соответствующей операции (поле «Process flow»). Ячейки строки с красным фоном, характеризующим событие, закрыты от редактирования, т.к. указанные атрибуты (Roles, Documents, IT systems) определены только для объектов типа операция (функция, действие). Более подробно см. [Rynd18].

Можно скачать бесплатный ARIS Express и посмотреть SmartDesign на схемах ЕРС и различных иерархий: орг-структуры, Data model, Process landscape (не путать с VAD).

Интуитивно понятный набор операций (кнопок в окне «Insert SmartDesign» для соответствующего типа модели) не должен создать трудности, даже если Вы ранее ничего не слышали про нотацию, в которой желаете сформировать схему процесса или структуры (организационной или данных).

1.2 Справочники

В отличие от ARIS Express SmartDesign в платном ARIS SmartDesign можно заполнять таблицу связей из справочников BPMS, т.е. «подтягивать» значения в таблицу из БД ARIS через кнопку «…» (она только в платном ARIS SmartDesign). Подробнее см. в п. 8. «Могу ли я повторно использовать существующие объекты в SmartDesign?»

В версиях SmartDesign для ARIS Express операции названы не «function» (как в ARIS по ссылке выше), а activity (видимо для схожести с BPMN). Однако мы помним, что в общем случае (см. [BPM23] и п. 1.2 [Process24] со ссылками на СМК): process = function = activity (ARIS, TQM и др.). По тексту статьи «вперемешку»: операция = функция = шаг процесса.

1.3 Окружение функции в ЕРС 

Связанные с функцией элементы (входные и выходные документы, роли, системы, события) составляют окружение функции, см. Рис. Окружение функции в ЕРС или Рис. Окружение функции в нотации ARIS eЕРС.

Для каждого такого элемента в таблице ARIS SmartDesign предусмотрено собственное поле.

В ARIS SmartDesign в поля элементов «Окружение функции» (исполнители, инструменты, документы и т.п.) можно вводить в каждое поле по несколько значений (несколько входящих документов, ролей, систем и др.).

Для вынесения второстепенных аспектов на «второй план» нескорые технологические особенности ARIS SmartDesign и реализации EPC были собраны в разделе 3, например, 3.1 Задание типа элемента workflow (function vs event).

2 DOT SmartDesign

2.1 exDOT SmartDesign (Excel)

exDOT SmartDesign (excel - DOT) демонстрирует как можно использовать технологию SmartDesign непосредственно в Excel. Репозитарий exDOT SmartDesign на github:

https://github.com/bpmbpm/exDOTsmartDesign

Для работы exDOT SmartDesign в offline должен быть установлен graphviz и добавлен в path (или путь к graphviz явно указать на листе «set» Excel). https://graphviz.org/

Введение в Graphviz \ DOT опустим, приведем несколько примеров использования DOT \ Graphviz:

Использование Graphviz для построения блок-схем

Язык Graphviz для Автогенерации Блок-Схем Сложных Электронных Цепей

GraphvizOnline

2.1.1 Режим «Простой»

На рис. 2.1а-г приведено напоминание из [semBPM24] как одно и тоже смысловое описание процесса представляется разными нотациями. Т.е. единая семантика описания процесса в разных «синтаксических обёртках», технически представляющих графическую нотацию EPC, VAD и т.п.

Рис. 2.1 Фрагмент про «одно и тоже смысловое описание процесса»
Рис. 2.1 Фрагмент про «одно и тоже смысловое описание процесса»

Исходная табличка процесса (см. рис. 2.1а) - это и есть табличка SmartDesign. В режиме «Режим Простой» достаточно заполнить четыре поля (пятое – выбор типа Событие\ Операция) чтобы получить схемы, показанные в правой части рисунка (за исключением элементов «событие» EPC).

Во многих моделях сложной бытовой техники есть кнопка «easy» (например, «навороченные» видеокамеры), которая скрывают массу настроек, но позволяет делать простые вещи с минимум настроек (все принимаются «по умолчанию»). Тут кнопка «easy» – это кнопка «Режим простой», который повторяет ARIS SmartDesign, включая невозможность задания ветвления алгоритма (workflow).

По представленному в табличном режиме процессу (эта демонстрационная таблица формируется по кнопке «Пример простой») формируется схема (кнопка «Схема»), представленная на рис. 2.2.

Рис. 2.2 EPC диаграмма, построенная по исходной таблице (Пример Простой)
Рис. 2.2 EPC диаграмма, построенная по исходной таблице (Пример Простой)

Онлайн просмотр Рис. 2.2, включая DOT-скрипт (таблица процесса) и схему процесса:

 GraphvizOnline DOT рис. 2.2

В отличие от ARIS в exDOT SmartDesign (см. п 3.1 function vs event) в таблицу связей явно добавлено поле для выбора событие \ операция.

Фактически режим «Режим Простой» выполнит: скрыть в таблице поле «предшествующий элемент в workflow» и нумеровать строки (шаги алгоритма) автоматически последовательно «сверху - вниз» (построчно), т.е. как в ARIS SmartDesign. 

В общем случае потребуется заполнение листа «Справочник», однако, по кнопкам «Пример Простой» и «Пример Сложн.» справочники типов документов, ролей (исполнителей) и систем (инструментов) заполняются автоматически в соответствии с логикой примера.

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

Общий алгоритм действий в режиме «Простой»:

1 На листе «Процесс» включили «Режим Простой». Нажали или «Пример Простой» или «Clear» (очистка таблицы связей).

2 Если нужны новые типы документов, ролей, систем, то дополняем «умные таблицы» (добавление строки в «умную таблицу» – «потянуть» за нижний правый угол) на листе листе "Справочник". Для добавления строки в «умную таблицу» Excel нужно «потянуть» за нижний правый угол (синий уголок ячейки).

3 В поле «Имя события или функции (nameEvFun)» впечатываем название и выбираем тип "событие" или "функция".

4 Если был указан тип «функция», то заполняем Окружение функции – с использованием справочников (выбор из выпадающего меню).

5 Нажимаем кнопку «Схема» (визуализация процесса в виде схемы) и смотрим сформированный рисунок (иногда может потребоваться увеличить значение задержки в макросе или повторно нажать «Схема»).

Можно выбрать различные варианты визуализации (предложено 4 шт.), например, вариант VAD, автопостроенный по той же табличке, показан на рис. 2.3.

Рис. 2.3 VAD диаграмма, построенная по исходной таблице (Пример Простой)
Рис. 2.3 VAD диаграмма, построенная по исходной таблице (Пример Простой)

2.1.2 Режим «Ветвление»

В режиме «Режим Ветвление» - больше возможностей, включая ветвления алгоритма (split, join), а в простом режиме - минимум возможностей, но все предельно просто. По кнопке «Пример Сложн.» автоматически включается «Режим ветвление» путем добавляются поля для указания предыдущего шага и загружается пример с ветвлением. После просмотра заполненных по данным примера таблицы Excel, нажимаем кнопку «Схема» и получаем схему, приведенную на рис. 2.4.

Рис. 2.4 EPC диаграмма, построенная по таблице, содержащей ветвление алгоритма
Рис. 2.4 EPC диаграмма, построенная по таблице, содержащей ветвление алгоритма

Для формализации, приведенного выше ветвления, необходимо указать в одной ячейке двух предшественников для «es wAre alles»: через запятую №: 6,9.   

Таблица связей ограничена двадцатью строками. Для увеличения строк для формирования алгоритма достаточно для нужного количества строк выполнить «Формат по образцу» (кисточка), а за образец взять любую строку из первых 20 (кроме шапки таблицы конечно).

2.1.3 Типы объектов и Справочники объектов

В обоих режимах (Простой и Ветвление) в таблице связей можно скрыть неиспользуемые столбцы Роль или Система (останутся незаполненными), т.е. получится что-то вроде выбора в ARIS SmartDesign кнопкой «Show columns», см. рис. 2.5.

Рис. 2.5 Выбор отображения полей кнопкой «Show columns»: Роли, Документы, Системы и т.п.
Рис. 2.5 Выбор отображения полей кнопкой «Show columns»: Роли, Документы, Системы и т.п.

В ARIS Express в «Show columns» указываются используемые (видимые) типы объектов, например, Roles, Systems, Input documents \ Output documents (общий тип «Documents»), databases и др.  Если это поле отображаемое в таблице связей, то можно сразу вводить новое значение и ему будет присвоен соответствующий тип (по имени поля).

В exDOT SmartDesign предусмотрена отдельная таблица Справочник объектов (лист «Справочник») с типами объектов. Добавление новых \ удаление типов производится в ней штатными средствами Excel. Чтобы добавить или изменить элемент в таблице связей необходимо чтобы он вначале появился в таблице Справочник объектов. Контроль значений, доступных для ввода в таблице связей для полей Входящий \ Исходящий документ, Роль, Система, обеспечивается внутренним механизмом справочников ("умных таблиц") Excel.

2.2 jsDOT SmartDesign (javascript)

jsDOT SmartDesign демонстрирует как можно использовать технологию SmartDesign непосредственно в браузерном javascript. Репозитарий jsDOT SmartDesign на github:

https://github.com/bpmbpm/jsDOTsmartDesign

https://bpmbpm.github.io/jsDOTsmartDesign/jsDOTsmartDesign.html

Для формирования таблицы используется js-библиотека jspreadsheet (ранее jexcel)

https://bossanova.uk/jspreadsheet/v4/

для визуализаци DOT - он-лайн сервис GraphvizOnline https://dreampuf.github.io/GraphvizOnline/

Программа jsDOT SmartDesign, как и exDOT SmartDesign, для генерации схемы процесса использует промежуточное представление табличных данных в DOT (Graphviz), но реализована на javascript и работает в браузере.

При открытии html-файла загружается «Пример Простой».

jsDOT SmartDesign генерирует схемы подобно exDOT SmartDesign, например, ЕРС – см. рис. 2.2. Точнее, как exDOT SmartDesign в режиме «ЕРС2», т.е. с «четырьмя сторонами света», а не восемью, где входящая и исходящая стрелка в объект не сходятся в одной точке.

Для формирования схемы необходимо выбрать тип модели (нотацию) и нажать кнопку «Схема», т.е. аналогично exDOT SmartDesign, см. рис. 2.6.

Рис. 2.6 Таблицы связей и схема jsDOT SmartDesign
Рис. 2.6 Таблицы связей и схема jsDOT SmartDesign

Ссылка на github.io: https://bpmbpm.github.io/jsDOTsmartDesign/jsDOTsmartDesign.html

Ссылка на «исправленный» параметр GraphvizOnline (в GraphvizOnline DOT блоком через вставку из консоли): GraphvizOnline DOT рис. 2.6

На рис. 2.7 таблица связей и консоль с соответствующим DOT скриптом.

Рис. 2.7 Просмотр DOT скрипта в консоли браузера
Рис. 2.7 Просмотр DOT скрипта в консоли браузера

Ввод данных в поля таблицы связей осуществляется выбором значений из фиксированных справочников (кроме поля «Имя события или функции»).

Заполнение полей «Окружения функции» для объекта «событие» игнорируется. Таблица связей ограничена пятью строками. Для создания универсального варианта в jexcel есть готовые шаблоны (кнопки добавить \ удалить строку и т.п.), однако углубляться не стал, т.к. не понятна перспективность применения библиотеки jexcel (хотелось бы найти сравнение подобного).

Небольшая проблема jexcel

Видимо хочет загрузить logo jexcel загрузить, но не выходит. Не понял, как избавиться от сообщения в консоли:

Failed to load resource: net::ERR_FILE_NOT_FOUND     logo.png:1

Содержание DOT- скрипта, сгенерированного по таблице связей, пишется в консоль браузера и передается параметром в GraphvizOnline.

jsDOT SmartDesign выполнен (для упрощения) с фиксированными справочниками: типы документов, ролей, систем. Для ведения справочников (как в exDOT SmartDesign) нужно средствами jexcel добавить табличку «Справочник» и там вести соответствующие справочники.

В исходниках jsDOT SmartDesign иногда встречается комментарием фрагменты на VBA потому, что js делал «поверх» VBA и «одно и тоже» переписывал в формат другого языка (VBA -> js). По возможности использовал одноименные переменные.

Вместо on-line – сервиса GraphvizOnline можно использовать js-библиотеки viz.js \ viz-standalone.js и вызывать генератор схемы непосредственно из html\js, как показано в примере (см. ссылку на библиотеку).

Основная суть DOT SmartDesign была показана выше, ниже - уже второстепенные вопросы.

3 Отдельные технологические моменты

3.1 Задание типа элемента workflow (function vs event)

В ARIS SmartDesign при формализации Workflow требуется указание типа объекта: event или function (activity). 

Если добавлять новый элемент (кнопка с плюсиком) после события (Event, красная заливка), то появится только новый объект типа function (activity), т.е. выбора не будет. Это говорит, что за событием может следовать только функция, т.е. не могут быть последовательно соединены два события. Это логично, а составное условие (формулу составного события) можно вписать в общий Event.

Когда после элемента «функция» (Activity0, см. рис. 3.1) вставляем новый элемент, то он уже может быть двух типов: функция или событие. Выбор производится из выпадающего меню, а подсветка «тип» – разным цветом: зеленое – Function (activity), красное – Event.

Рис. 3.1 Вставка нового элемента после элемента «функция» и выбор его типа (ARIS)
Рис. 3.1 Вставка нового элемента после элемента «функция» и выбор его типа (ARIS)

Название поля «Process flow» можно читать как Workflow. Цвет в поле «Process flow» в ARIS – это равносильно добавлению справа поля «Type» в линейке DOT SmartDesign (activity vs event), т.е. конструкции «Process flow» (workflow) и "Список_типов" (Type) - равноценные.

3.2 Допустимость связи «function» - «function»

В продолжение анализа логики выстраивания workflow согласно п. 3.1 (см. выше). Допустимость связи «function» - «function» была показана в п. «3 Семантика в Методах ARIS» [semBPM24], однако часто встречаем ошибочное суждение, показанное на рис. 3.2.

Рис. 3.2 Ошибочность запрета связи «function» - «function»
Рис. 3.2 Ошибочность запрета связи «function» - «function»

Пример некорректного указания на якобы «некорректность» см. «Использование нотаций ARIS и BPNM для описания процессов: почему необходимо следовать правилам».

Подробно все типы связей (в т.ч. прямые и обратные) в ARIS приведены в таблицах ARIS Method Reference [ARISMR17]. 

Проблема ADOxx-EPC. Печально, что такое же непонимание ЕРС и у разработчиков ADOxx - одной из немногих BPM систем на open source. У них нотация «как бы ЕРС» не позволяет рисовать два последовательных блока «function». Если кто знает, как устранить запрет на «function-function» в ADOxx – напишите.

3.3 Проблемы и свойства DOT

DOT – остается еще «далеким от идеала» языком и много чего не хватает в спецификации (даже без учета пожеланий processDOT /bpmDOT), например, позиционирование надписи под элементом.

Среди возникших проблем: не удалось использовать свойство rank="same" для record (работает с box, rect и др.). Нет встроенного механизма «вписывания текста в блок», необходимо выравнивать текст в блоке через замену пробелов на “\n”.

Для формирования «красной линии» (центрального «ствола») схемы в DOT SmartDesign используется задание максимального веса (weight) workflow (относительно docflow и связей с ресурсами).

3.4 Некоторые технологические проблемы exDOT SmartDesign и пути развития

А) «С ходу» не удалось запустить генерацию картинки Online (exDOT SmartDesign) в https://dreampuf.github.io/GraphvizOnline/

Задача: передать сформированный файл в какой-либо GraphvizOnline. Проблема экранировании кавычек: первая пара экранирует весь передаваемый параметр при этом из строки dot удаляются вложенные кавычки. Полурабочий вариант: если не использовать двойной стиль, например, style="rounded,filled", и убрать или заменить «\n», то будет работать. В процедуре «File_to_Graphviz_Online()» приведен фрагмент попытки.

Если кто-то знает решение – подскажите, см. файл Excel exDOTsmartDesign.xlsm последний блок в Module, https://github.com/bpmbpm/exDOTsmartDesign.

Вопрос на схожую тему, но по jsDOT SmartDesign: как в js реализовать передачу скрипта DOT не строчкой, а блоком, как это исходно в GraphvizOnline (см. блок слева, где должен отобразиться скрипт DOT блоком).

Т.е. в левом поле (сам скрипт) из jsDOT SmartDesign принимается (преобразуется) в GraphvizOnline строка, а не блок текста, как в консоли браузера (chrome F12) или как в штатном примере GraphvizOnline.

jsDOT SmartDesign делает так: Пример Простой (DOT скрипт строкой)

но хотелось бы так: Пример Простой (DOT скрипт блоком)

Б) Также хотелось бы использовать не вьювер, а векторный редактор. Например, Drawio. Для этого вместо DOT придется использовать mermaid (плагин Drawio для DOT есть?) или из таблицы Excel (иного табличного редактора) формировать файл прямо в XML Drawio (основная проблема расчет координат фигур).

Graphviz and MermaidJS side by side comparison

«Родственные» - автопостроители: Mermaid, Graphviz-DOT, PlantUML.

В) Excel предоставляет в «комплекте» систему хранения информации причем в интуитивно понятном виде - табличках. Это относится как непосредственно к таблице шагов процесса (таблице связей), так и настройки "синтаксических оберток". На листе DOTstyle представлены такие "синтаксические обертки" нотаций EPC \ VAD для каждого объекта процесса: события, операции, роли, системы, документа. Например, "обертка" (фигурка) в DOT для объекта «операция» для ЕРС выглядит (фигурка - зеленый скругленный прямоугольник):

[shape="box",width=1.5,style="rounded,filled",fillcolor="green",label="

синтаксическая обертка для объекта «операция» для VAD выглядит (зеленоватый кораблик):

[shape="cds",width=1.5,style="filled",fillcolor="lightgreen",label="

Для формирования начального блока "digraph G { ..." и концевика скрипта DOT используется лист StEnd.

Настройка "синтаксических оберток" на листах Excel (DOTstyle, StEnd) позволяет без изменения кода (VBA, js) менять визуализацию (графическое представление схемы процесса).

3.5 Если не DOT (planUML, Mermaid), то что?

1 Собственный генератор (не скриптовый) есть в visio: набросал фигур на схему (хоть одну на другую), соединил их линями, выбрал параметры автопостроителя и получил схему. В принципе похоже на DOT, но без языка (скрипта). Пример, схожий с SmartDesign Автоматическое создание VAD – Диаграмм из Excel таблиц

Т.е. обычный Visio сам может автоматически размещать имеющиеся на листе фигуры.   

Есть более мощный инструмент Microsoft Visio Data Visualizer

Однако отсутствие Data Visualizer в настольных версиях Visio делает этот инструмент невостребованным для ширНарМасс. Вообще поражает политика Microsoft: два с лишним десятка лет не может в свой мастер автоматического (OrgChart) построения орг-диаграмм добавить элементарную функцию ранжирования (горизонтальное ранжирование подразделений) без которой профессиональное применение этого мастера невозможно.

2 Можно автопостроение реализовать самому через расчет координат фигур по собственному алгоритму. Например, в drawio через формование файла XML (несжатый .drawio) создавал схемы по алгоритму: в точке ветвления workflow – одна ветвь идет ниже (в том же «стволе», что и предшествующий узел), а вторая и остальные справа (каждая следующая все правее и правее с кратным смещением). Схемы получались хорошо предсказуемыми, но не столь оптимальными.  Если интересны примеры, то где – то остались.

4 Отличия DOT SmartDesign от оригинала (ARIS)

4.1 Workflow

В отличие от ARIS в DOT SmartDesign добавлено:

1) Ветвление процесса. Это реализовано через поля таблицы связей «ID» и «предыдущее». Если поле «предыдущее» содержит несколько значений, то это говорит, что в данный узел есть два маршрута.

2) Концепт WF2M.event [WF2M23], т.е. «classic EPC vs WF2M сеть/ WF2Me. Полагаю, что отказ от ветвления в ARIS SmartDesign для EPC связан не со сложностью добавления в таблицу связей (окружение функции) полей «ID» и «предыдущее», но и с необходимостью добавления на схему элементов AND\ OR\ XOR.
Для DOT SmartDesign использован подход к визуализации WF2Me сети, где используются события, аналогичные ЕРС, но не требуется выделенного разделителя AND\ OR\ XOR.
3) VAD – диаграмма. VAD нет не только в SmartDesign, но и ARIS Express (не путать с моделью Process landscape). В обоих DOT SmartDesign нотация VAD строится аналогично EPC - по единой таблице связей (окружение функции), только процесс «вытягивается» не по вертикали, а по горизонтали и опускаются события (точнее показаны в виде точки). Это демонстрирует ранее обозначенный в [semBPM24] подход, приведенный на рисунках «в) Схема VAD» и «г) Схема ЕРС» см. [semBPM24] Рис. 1.1 «Одно и тоже смысловое описание процесса, но разными нотациями».

4.2 Схемы Иерархии

DOT SmartDesign строит из таблицы схемы процессов в нотациях ЕРС и VAD. Как ранее говорилось, ARIS SmartDesign умеет строить по данным из таблицы различные иерархические схемы: орг-структур, структур данных, процессов.

Из таблицы excel схемы иерархии можно строить (генерировать) посредством штатного мастера организационных диаграмм visio: Organization Chart, он же OrgChart, он же OrgC11. Принципиально схемы орг-диаграмм ничем не отличаются от иных структурных схем, т.к. везде тип «дерево», т.е. имеется единственный родительский элемент (это задает строгую иерархию). В «Простая Enterprise Architecture. Автопостроение схемы архитектуры по данным репозитария» показан механизм построения структурных схем архитектуры предприятия (читай - орг диаграмма, в которую вписаны не орг-объекты), причем в графическую модель из таблицы также передаются (и визуализируются) необходимые атрибуты объектов.

Доработка предложенного DOT SmartDesign для формирования иерархических структур не представляет сложности. Кроме схем иерархий (структурных схем с одним «родительским» элементом) и реализованных в DOT SmartDesign процессных нотаций ЕРС и VAD, расстраиваемый подход SmartDesign («таблица в схему») может быть применим к различным нотациям, включая блок-схемы (flowchart), Дракон-схемы и т.п.

4.3 Мультивыбор

Не стал реализовывать мультивыбор в справочниках (умных таблицах) для Окружения функции, например, для выбора для одной операции сразу нескольких исполнителей (Ролей).

Для Excel VBA много тем с реализацией такого множественного выбора из справочника (не говоря уже о VBA формах), а в алгоритм формирования dot достаточно добавить:

Вариант А: формирование графического примитива с перечислением в нем всех смысловых объектов, например, перечисление всех ролей, выполняющих функцию;

Вариант Б: обработку множественного выбора, аналогично обработке множественного номера «предшественника» workflow (перечисленных через запятую в режиме Ветвление), например, через упаковку в массив (ResPredWF) перечислений в строке и обработку типа:

ResPredWF() = Split(.Cells(i, predWF), ",")
For Each TextString In ResPredWF
…

При этом для каждой роли будет сформирован отдельный графический примитив, однако останется проблема с их стыковкой к функции: если применить «rank=same», то они все вытянутся в горизонталь, иначе (без «rank=same») будут «раскиданы» на усмотрение алгоритма DOT. Хотелось бы иметь некий processDOT (bpmDOT), который учитывает особенности нотаций EPC, VAD и др.

Заключение

Формат Graphviz DOT (Mermaid, PlantUML и т.п.) рассматривается как промежуточное представление: синтаксические инструменты «обертывания» смысла через нотации (EPC, VAD) в «цветные картинки», т.е. графическая визуализация сущностей, их свойств, их связей, смыслов.

Предложенный концепт DOT SmartDesign и две его реализации позволяют автоматически генерировать через язык DOT схемы бизнес-процессов в нотации EPC и VAD на основе заполненных табличек с данными о процессе. Это обеспечивает «быстрый старт» при моделировании бизнес - процессов.

DOT SmartDesign в режиме «Простой» столь же интуитивно понятен как и его прототип ARIS SmartDesign из состава ARIS Express. Режим «Ветвление» содержит дополнительную возможность - ветвление workflow. Однако презентуемые exDOT SmartDesign / jsDOT SmartDesign даже в расширенном режиме (ветвление) скорее имеют статус Minimal Viable Product / Proof of Concept, например, схемы со сложным ветвлением будут далеки от желаемого результата, поэтому требуется дополнительная оптимизация по dot – параметрам, однако напомним, что в ARIS SmartDesign ветвления вообще не предусмотрены.

В DOT SmartDesign есть возможность ведения справочников (повторное использование существующих объектов, выбор их из списка), формирование и вывод скрипта DOT в файл, окно (консоль), передача параметром в онлайн-сервис визуализации DOT.

Кроме популяризации изложенной технологии SmartDesign, которой уже давно можно было пользоваться (но мало, кто это делал), хотелось бы найти пути ее развития и узнать наиболее подходящие open source платформы для ее реализации (не стесняйтесь с идеями в комментариях). Гугл таблицы и подобное Cloud-based не подойдут, т.к. BPM – это обычно On-Premise решения.

Некоторые ссылки

[semBPM24] Semantic BPM. Семантика и синтаксис бизнес-процессов

[WF2M23] WF2M сеть. Формализм и математика workflow

[BPM23] В толковый словарь Business Process Management: Бизнес-функция vs Бизнес-процесс

[Process24] В толковый словарь Business Process Management: Процесс vs Проект

[ARISMR17] ARIS Method Reference Version 10.0 - Service Release 3  December 2017

[ARISMet] BPM-библия. Том 1. ARIS Method Manual

VERSION 10.0 - SERVICE RELEASE 16 (10.2021)

VERSION 10.0 - SERVICE RELEASE 6 (10.2018)

on-line VERSION

[ARISMetRU1] Инструментарий ARIS. Методы. Версия 4.1. Февраль 2000. Весть – МетаТехнология

[ARISMetRU2] Инструментарий ARIS. Методы. Версия 4.0. Апрель 2000. ARIS 6.2. Логика бизнеса

[Rynd18] Рындина С.В. Методы и средства моделирования бизнес-процессов: методология ARIS.

п. 2.3 Создание моделей с помощью инструмента SmartDesign

Заодно:

Интерактивные и документированные диаграммы для сложных систем

Более 20 библиотек JavaScript для создания собственных диаграмм (издание 2024 г.)

github: https://github.com/bpmbpm/exDOTsmartDesign https://github.com/bpmbpm/jsDOTsmartDesign

PS

...

Комментарии (5)


  1. murkin-kot
    27.04.2024 08:40

    Сегодня актуален ChatGPT. Рассказываем ему процесс и просим текст в интересующем формате в какой-то нужной нотации. Даже правила заполнения таблицы учить не нужно.

    Хотя качественно так моделировать не получится. Но и табличное представление так же не даст всей необходимой гибкости.

    Поэтому для начала - ЧудоЖПТ, далее - таблицы, затем - зубрить (в процессе работы, что легко) нотацию (или много нотаций).


    1. itGuevara Автор
      27.04.2024 08:40

      Можете привести пример этого подхода, включая промты и скриншоты полученных схем?


      1. murkin-kot
        27.04.2024 08:40

        Вам самому лень попробовать? Это доступно в РФ, причём бесплатно, нужно всего лишь научиться пользоваться гуглом.

        Вот маленький пример генерации:

        scss
        eEPC
        Function Покупка на кассе
        Start (Круг)
        ->  Подойти к кассе (Функция)
        ->  Провер��ть наличие штрих-кода (Функция) [Да/Нет]
        -> Да (Переход)   ->Считать штрих-код (Функция)
        -> Нет (Переход) -> Найти товар в списке (Функция)
        ->  Наполнить списокк ��п��ате (Функция)
        ->  Нап��ч��тать чек (Функция)
        ->  Получить деньги (Функция)
        End (Круг)

        Здесь редактор решил, что язык называется scss, но я просил у чата язык ARIS.


        1. itGuevara Автор
          27.04.2024 08:40

          eEPC Function Покупка на кассе Start (Круг) -> Подойти к кассе (Функция) -> Провер��ть наличие штрих-кода (Функция) [Да/Нет] -> Да (Переход) ->Считать штрих-код (Функция) -> Нет (Переход) -> Найти товар в списке (Функция) -> Наполнить списокк ��п��ате (Функция) -> Нап��ч��тать чек (Функция) -> Получить деньги (Функция) End (Круг)

          Я не понял, что это. Чуть подробнее можете рассказать замысел? Это что за язык?


          1. murkin-kot
            27.04.2024 08:40

            Вы, опять же, можете лично спросить ChatGPT. Мне он заявил, что знает больше десятка форматов, я выбрал ARIS, он нарисовал. Смысл нарисованного вполне понятен. Возможно, поскольку чат русскоязычный, он перевёл все xml-тэги на русский. Но всё это вы сами можете узнать у него.