Этот пример показывает, что происходит при обработке трех событий с использованием внутреннего перехода в исключительном (OR) состоянии.
Этот пример показывает поведение внутреннего перехода. График использует неявное упорядоченное расположение исходящих переходов (см. Неявное упорядоченное расположение).
Изначально график спит. Конечные A
активно. Условие [C_one]
является ложным. Событийные E_one
происходит и пробуждает график, который обрабатывает событие из корня вниз через иерархию:
Корень графика проверяет, есть ли допустимый переход в результате E_one
. Потенциально допустимый переход от A
состояния в состояние
B
обнаруживается. Однако переход недопустим, потому что [C_one]
является ложным.
Конечные A
во время действий (durA()
) выполнить и завершить.
Конечные A
проверяет его дочерние элементы на допустимый переход и обнаруживает допустимый внутренний переход.
Конечные A
остается активным. Действие внутреннего перехода A_two
выполняется и завершается. Потому что это внутренний переход, состояние A
выход и действия входа не выполняются.
График возвращается в сон.
Эта последовательность завершает выполнение этого Stateflow® график, связанная со E_one
событий.
Используя предыдущий пример, этот пример показывает, что происходит, когда второе событие E_one
происходит. График использует неявное упорядоченное расположение исходящих переходов (см. Неявное упорядоченное расположение).
Изначально график спит. Конечные A
все еще активен. Условие [C_one]
является true. Событийные E_one
происходит и пробуждает график, который обрабатывает событие из корня вниз через иерархию:
Корень графика проверяет, есть ли допустимый переход в результате E_one
.
Переход от состояния A
в состояние B
теперь действителен, потому что [C_one]
является true.
Конечные A
выход действий (exitA()
) выполнить и завершить.
Конечные A
помечен как неактивный.
Действие перехода A_one
выполняется и завершается.
Конечные B
отмечен как активный.
Конечные B
действия входа (entB()
) выполнить и завершить.
График возвращается в сон.
Эта последовательность завершает выполнение этой диаграммы Stateflow, связанной с событием E_one
.
Используя предыдущий пример, этот пример показывает, что происходит, когда третье событие, E_two
, происходит. График использует неявное упорядоченное расположение исходящих переходов (см. Неявное упорядоченное расположение).
Изначально график спит. Конечные B
теперь активно. Условие [C_two]
является ложным. Событийные E_two
происходит и пробуждает график, который обрабатывает событие из корня вниз через иерархию:
Корень графика проверяет, есть ли допустимый переход в результате E_two
.
Потенциально допустимый переход от B
состояния в состояние
A
обнаруживается. Переход недопустим, так как [C_two]
является ложным. Однако активное состояние B
имеет допустимый переход с самоциклом.
Конечные B
выход действий (exitB()
) выполнить и завершить.
Конечные B
помечен как неактивный.
Действие перехода с самоциклом, A_four
, выполняет и завершает.
Конечные B
отмечен как активный.
Конечные B
действия входа (entB()
) выполнить и завершить.
График возвращается в сон.
Эта последовательность завершает выполнение этой диаграммы Stateflow, связанной с событием E_two
. Этот пример показывает различие в поведении между внутренними и самоконтурными переходами.
Этот пример показывает поведение обработки повторяющихся событий с помощью внутреннего перехода к соединительному соединению.
Этот пример показывает поведение внутреннего перехода к соединительному соединению для первого события. График использует неявное упорядоченное расположение исходящих переходов (см. Неявное упорядоченное расположение).
Изначально график спит. Конечные A1
активно. Условие [C_two]
является true. Событийные E_one
происходит и пробуждает график, который обрабатывает событие из корня вниз через иерархию:
Корень графика проверяет, есть ли допустимый переход на корневом уровне в результате E_one
. Отсутствует допустимый переход.
Конечные A
во время действий (durA()
) выполнить и завершить.
Конечные A
проверяет себя на наличие допустимых переходов и обнаруживает, что существует допустимый внутренний переход к соединительному соединению.
Условия оцениваются, чтобы определить, является ли один из переходов допустимым. Поскольку применяется неявное упорядоченное расположение, сегменты, маркированные условием, оцениваются перед немеченым сегментом. Оценка начинается с 12-часового положения на соединении и прогрессирует по часовой стрелке. Потому что [C_two]
верно, внутренний переход к соединению, а затем к состоянию A
. A2
является допустимым.
Конечные A
. A1
выход действий (exitA1()
) выполнить и завершить.
Конечные A
. A1
помечен как неактивный.
Конечные A
. A2
отмечен как активный.
Конечные A
. A2
действия входа (entA2()
) выполнить и завершить.
График возвращается в сон.
Эта последовательность завершает выполнение этой диаграммы Stateflow, связанной с событием E_one
когда состояние A1
активен и условие [C_two]
является true.
Продолжая предыдущий пример, этот пример показывает поведение внутреннего перехода к соединению, когда второе событие E_one
происходит. График использует неявное упорядоченное расположение исходящих переходов (см. Неявное упорядоченное расположение).
Изначально график спит. Конечные A2
активно. Условие [C_two]
является true. Событийные E_one
происходит и пробуждает график, который обрабатывает событие из корня вниз через иерархию:
Корень графика проверяет, есть ли допустимый переход на корневом уровне в результате E_one
. Отсутствует допустимый переход.
Конечные A
во время действий (durA()
) выполнить и завершить.
Конечные A
проверяет себя на наличие допустимых переходов и обнаруживает допустимый внутренний переход к соединительному соединению.
Условия оцениваются, чтобы определить, является ли один из переходов допустимым. Поскольку применяется неявное упорядоченное расположение, сегменты, маркированные условием, оцениваются перед немеченым сегментом. Оценка начинается с 12-часового положения на соединении и прогрессирует по часовой стрелке. Потому что [C_two]
верно, внутренний переход к соединению, а затем к состоянию A.A2
является допустимым.
Конечные A
. A2
выход действий (exitA2()
) выполнить и завершить.
Конечные A
. A2
помечен как неактивный.
Конечные A
. A2
отмечен как активный.
Конечные A
. A2
действия входа (entA2()
) выполнить и завершить.
График возвращается в сон.
Эта последовательность завершает выполнение этой диаграммы Stateflow, связанной с событием E_one
когда состояние A2
активен и условие [C_two]
является true. Для состояния с действительным внутренним переходом активный подсостояние может быть немедленно выведен и возвращен.
Этот пример показывает поведение внутреннего перехода к историческому соединению.
Изначально график спит. Конечные A.A1
активно. Сведения истории существуют из-за сверхштатных A
активно. Событийные E_one
происходит и пробуждает график, который обрабатывает событие из корня вниз через иерархию:
Корень графика проверяет, есть ли допустимый переход в результате E_one
. Отсутствует допустимый переход.
Конечные A
во время выполнения и выполнения действий.
Конечные A
проверяет себя на наличие допустимых переходов и обнаруживает, что существует допустимый внутренний переход к историческому соединению. На основе информации об истории, последнем активном состоянии, A.A1
, - состояние назначения.
Конечные A.A1
завершение и выполнение выходных действий.
Конечные A.A1
помечен как неактивный.
Конечные A.A1
отмечен как активный.
Конечные A.A1
Действия входа выполните и завершите.
График возвращается в сон.
Эта последовательность завершает выполнение этой диаграммы Stateflow, связанной с событием E_one
когда происходит внутренний переход к историческому соединению и состоянию A.A1
активно. Для состояния с действительным внутренним переходом активный подсостояние может быть немедленно выведен и возвращен.