Перед выполнением переходов для активного состояния или графика, Stateflow® программные группы переходов по следующим типам:
Графики потока по умолчанию являются сегментами перехода по умолчанию, которые начинаются с тех же родительских элементов.
Все графики внутреннего потока являются переходными сегментами, которые берут начало в состоянии и полностью находятся в этом состоянии.
Все графики внешнего потока являются переходными сегментами, которые берут начало в соответствующем состоянии, но находятся, по крайней мере, частично вне этого состояния.
Каждый набор графиков потока включает другие переходные сегменты, соединенные с квалифицированным переходным сегментом через соединения и переходы. Рассмотрим следующий пример:
В этом примере состояние A
имеет как внутренний, так и переход по умолчанию, который соединяется с соединением с исходящими переходами в состояния A.A1
и A.A2
. Если состояние A
является активным, его набор внутренних графиков потока включает:
Внутренний переход
Исходящий переход от соединения к состоянию A.A1
и A.A2
В сложение набор потока по умолчанию графики для A
состояний включает в себя:
Переход по умолчанию к соединению
Два исходящих перехода от соединения к состоянию A.A1
и A.A2
В этом случае два выходящих сегмента перехода от соединения являются представителями более чем одного типа графика потока.
Каждая группа графика потока выполняется в порядке приоритета группы до тех пор, пока не появится допустимый переход. Сначала выполняется группа переходов по умолчанию, затем группа внешних переходов, а затем группа внутренних переходов. Каждая группа графика потока выполняется следующим образом:
Упорядочьте сегменты перехода группы для активного состояния.
Активное состояние может иметь несколько возможных исходящих переходов. График заказывает эти переходы перед проверкой их на валидность. См. Раздел Порядка оценки переходов.
Выберите следующий сегмент перехода в наборе упорядоченных переходов.
Проверьте сегмент перехода на валидность.
Если сегмент недействителен, перейдите к шагу 2.
Если адресатом переходного сегмента является состояние, выполните следующие действия:
Проверка переходных сегментов останавливается, и путь перехода формируется путем резервного копирования и включения переходного сегмента от каждого предшествующего соединения назад к начальному переходу.
Состояния, которые являются непосредственными подсостояниями родительского элемента выхода пути перехода (см. Выход из состояния).
Выполняется переходное действие от последнего переходного сегмента полного переходного пути.
Состояние назначения становится активным (см. «Ввод графика или состояния»).
Если адресатом является соединение без исходящих сегментов перехода, выполните следующие действия:
Тестирование останавливается без каких-либо выходов или записей в состоянии.
Если адресатом является соединение с исходящими сегментами перехода, повторите шаг 1 для набора исходящих сегментов.
После проверки всех исходящих сегментов перехода в соединении, выполните следующие действия:
Обратная обработка входящего сегмента перехода, который привел вас к соединению.
Продолжите на шаге 2, начиная со следующего сегмента перехода после сегмента резервного копирования.
Набор графиков потока завершает выполнение, когда все начальные переходы были протестированы.