| Ветка | cccc1808/experiment/process_schema cccc1808/experiment/process_schema_diagramm |
| Описание | Более высокоуровневый модуль, вводящий описание и выполнение процесса на основе схемы. Модуль также позволяет взаимодействовать совместно с системой триггеров. Процесс содержит указатель на текущий токен (действия этого токена выполняются). |
| Элементы | | Схема | Содержит набор токенов. Экземпляр схемы привязан к идентификатору типа процесса (ProcessType, ProcessVersion). | | Токен | Элемент схемы. Содержит набор действий. Содержит состояние. | | Действие токена | - Может содержать переход на другой токен (Срабатывает при завершении).
- Может активировать другие действия (срабатывает после вызова функции хендлера обработчика).
| ServiceTask | - Содержит ключ хендлера обработчик.
| | ConditionAction | - Содержит ключ хендлера проверки условия.
- Содержит необязательный ключ хендлера обработчик (выполняется при выполнении условия).
| | TimerAction | - В начале выполнения создает TimerTrigger (для поступления сигнала на процесс) и сохраняет временную отметку.
- Проверяет временную отметку для обнаружения срабатывания таймера.
- Содержит необязательный ключ хендлера обработчик (выполняется при срабатывании таймера).
|
|
|
| Пример диаграммы процесса | Реализована преобразование схемы в mermaid class diagram. Поддерживает экспорт (схема -> диаграмма) и импорт (диаграмма схема). | На изображении представлен пример тестового процесса, который содержит 1 токен, который содержит 3 блока действий. Токен выполняет функцию отправки сообщения с ожиданиям ответа, в случае отсутствия ответа в течении промежутка времени запрос посылается повторно. Схема позволяет указывать имена элементов и комментарии к ним (в комментарии приведен алгоритм в реализации хендлера действия). |  |
|