Исходный код вики Модуль schema

Версия 1.6 от Alexandr Fokin на 2026/06/18 22:14

Последние авторы
1 |(% style="width:98px" %)Ветка|(% style="width:1383px" %)cccc1808/experiment/process_schema
2 cccc1808/experiment/process_schema_diagramm
3 |(% style="width:98px" %)Описание|(% style="width:1383px" %)Более высокоуровневый модуль, вводящий описание и выполнение процесса на основе схемы.
4 Модуль также позволяет взаимодействовать совместно с системой триггеров.
5 Процесс содержит указатель на текущий исполняемый токен (действия этого токена выполняются).
6 |(% style="width:98px" %)Элементы|(% style="width:1383px" %)(((
7 |(% style="width:131px" %)Схема|(% style="width:1234px" %)Содержит набор токенов.
8 Экземпляр схемы привязан к идентификатору типа процесса (ProcessType, ProcessVersion).
9 |(% style="width:131px" %)Токен|(% style="width:1234px" %)(((
10 * Содержит набор действий.
11 * Содержит состояние.
12 * В момент выполнения токена, последовательно выполняются его активные действия (вызываются хендлеры действий).
13 )))
14 |(% style="width:131px" %)Действие токена|(% style="width:1234px" %)(((
15 * Содержит внутреннюю малую статусную модель (в зависимости от типа действия).
16 * Может содержать переход на другой токен (Срабатывает при завершении действия).
17 * Может активировать другие действия (срабатывает после вызова функции хендлера обработчика).
18
19 |(% style="width:116px" %)ServiceTask|(% style="width:1067px" %)(((
20 * Содержит ключ хендлера обработчик.
21 )))
22 |(% style="width:116px" %)ConditionAction|(% style="width:1067px" %)(((
23 * Содержит ключ хендлера проверки условия.
24 * Содержит необязательный ключ хендлера обработчик (выполняется при выполнении условия).
25 )))
26 |(% style="width:116px" %)TimerAction|(% style="width:1067px" %)(((
27 * В начале выполнения создает TimerTrigger (для поступления сигнала на процесс) и сохраняет временную отметку.
28 * Проверяет временную отметку для обнаружения срабатывания таймера.
29 * Содержит необязательный ключ хендлера обработчик (выполняется при срабатывании таймера).
30 )))
31 )))
32 )))
33 |(% style="width:98px" %)Пример диаграммы процесса|(% style="width:1383px" %)(((
34 |Реализована преобразование схемы в mermaid class diagram.
35 Поддерживает экспорт (схема -> диаграмма) и импорт (диаграмма схема).
36 |На изображении представлен пример тестового процесса, который содержит 1 токен, который содержит 3 блока действий.
37 Токен выполняет функцию отправки сообщения с ожиданиям ответа, в случае отсутствия ответа в течении промежутка времени запрос посылается повторно.
38 Схема позволяет указывать имена элементов и комментарии к ним (в примере приведен алгоритм в реализации хендлера действия).
39 |[[image:Тестовый процесс.1.png]]
40 )))