Документация Engee

Графы переходов

Графы переходов (flow chart) — это графические конструкции, представляющие собой поток выполнения операций или логики в системе. Графы строятся с помощью узлов, переходов и переходов по умолчанию. Такие графы применяются в моделировании деревьев решений, итерационных циклов и т.д.

Логика работы графа переходов:

  • Граф переходов выполняется на каждом шаге работы блока Chart;

  • Выполнение графа переходов обычно начинается с перехода по умолчанию и завершается на выходном узле, который не имеет доступных переходов с истинными условиями. Если все исходящие переходы из узла имеют ложные условия, то может применяться backtracking[1] для поиска альтернативного пути;

  • На переходах задаются действия и условия, определяющие поведение модели.

Подробнее о логике работы графа переходов см. здесь.

Переходы в графе переходов происходят в соответствии с приоритетом переходов. Приоритет перехода определяет порядок, в котором они оцениваются и выполняются, если условия нескольких переходов одновременно истинны. Если из узла возможно несколько переходов, то их приоритеты будут назначены автоматически. В дальнейшем их можно поменять вручную.


Примеры реализации конструкций if-else и while с помощью графов переходов:

If-Else While

stateflow flow chart 1

sf loop 1 1

if x > 2
    y = 9;
else
    y = 15;
end
i = 0
while y < 15
    y += 2 * i
    i += 1
end

1. Backtracking (обратное отслеживание) — это метод решения задач, основанный на попытке последовательного перебора всех возможных вариантов решения с целью нахождения правильного. Когда программа достигает узла решения (например, в графе переходов, то это может быть выходной узел), и все возможные варианты дальнейших действий оказываются неверными (например, все переходы из узла имеют ложные условия), она возвращается (backtracks) к предыдущему узлу решения и пробует другой (альтернативный) вариант.