Управление выполнением диаграммы при помощи переходов по умолчанию

Переход по умолчанию в эксклюзивном (ИЛИ) разложении

Этот пример показывает переход от состояния OR к сверхсостоянию с исключительным (OR) разложением, где задан переход по умолчанию к подсостоянию.

Изначально график спит. Конечные A активно. Событийные E_one происходит и пробуждает график, который обрабатывает событие из корня вниз через иерархию:

  1. Корень графика проверяет, есть ли допустимый переход в результате E_one. Существует допустимый переход от состояния A в сверхштатные B.

  2. Конечные A выход действий (exitA()) выполнить и завершить.

  3. Конечные A помечен как неактивный.

  4. Переходное действие, A, выполняется и завершено.

  5. Конечные B отмечен как активный.

  6. Конечные B действия входа (entB()) выполнить и завершить.

  7. Конечные B обнаруживает допустимый переход по умолчанию в состояние B. B1.

  8. Конечные B. B1 отмечен как активный.

  9. Конечные B. B1 действия входа (entB1()) выполнить и завершить.

  10. График возвращается в сон.

Эта последовательность завершает выполнение этого Stateflow® график, связанная со E_one событий когда состояние A первоначально активно.

Переход по умолчанию к соединению

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

В данном примере изначально график спит. Конечные B.B1 активно. Условие [C_two] является true. Событие происходит и пробуждает график, который обрабатывает событие с корня вниз через иерархию:

  1. Конечные B проверяет, существует ли допустимый переход в результате какого-либо события. Их нет.

  2. Конечные B during действия (durB()) выполнить и завершить.

  3. Конечные B1 проверяет, существует ли допустимый переход в результате какого-либо события. Их нет.

  4. Конечные B1 during действия (durB1()) выполнить и завершить.

Эта последовательность завершает выполнение этой диаграммы Stateflow, связанной с вхождением любого события.

Переход по умолчанию и историческое соединение

Этот пример показывает поведение сверхсостояния с переходом по умолчанию и историческим соединением. График использует неявное упорядоченное расположение исходящих переходов (см. Неявное упорядоченное расположение).

Изначально график спит. Конечные A активно. Соединение истории фиксирует тот факт, что состояние B4 - ранее активное подсостояние сверхсостояния B. Событийные E_one происходит и пробуждает график, который обрабатывает событие из корня вниз через иерархию:

  1. Корень графика проверяет, есть ли допустимый переход в результате E_one.

    Существует допустимый переход от состояния A в сверхштатные B.

  2. Конечные A выход действий (exitA()) выполнить и завершить.

  3. Конечные A помечен как неактивный.

  4. Конечные B отмечен как активный.

  5. Конечные B действия входа (entB()) выполнить и завершить.

  6. Конечные B использует историческое соединение, чтобы определить субстанцию назначения перехода в сверхсостояние.

    Историческое соединение указывает, что подсостояние B. B4 был последним активным подсостоянием, который становится местом назначения перехода.

  7. Конечные B. B4 отмечен как активный.

  8. Конечные B. B4 действия входа (entB4()) выполнить и завершить.

  9. График возвращается в сон.

Эта последовательность завершает выполнение этой диаграммы Stateflow, связанной с событием E_one.

Маркированные переходы по умолчанию

В этом примере показано использование перехода по умолчанию с меткой. График использует неявное упорядоченное расположение исходящих переходов (см. Неявное упорядоченное расположение).

Изначально график спит. Конечные A активно. Событийные E_one происходит и пробуждает график, который обрабатывает событие из корня вниз через иерархию:

  1. Корень графика проверяет, есть ли допустимый переход в результате E_one.

    Существует допустимый переход от состояния A в сверхштатные B. Переход действителен, если событие E_one или E_two происходит.

  2. Конечные A выход действия выполнить и завершить (exitA()).

  3. Конечные A помечен как неактивный.

  4. Конечные B отмечен как активный.

  5. Конечные B Действия входа выполните и завершите (entB()).

  6. Конечные B обнаруживает допустимый переход по умолчанию в состояние B. B1. Переход по умолчанию действителен в результате E_one.

  7. Конечные B. B1 отмечен как активный.

  8. Конечные B. B1 Действия входа выполните и завершите (entB1()).

  9. График возвращается в сон.

Эта последовательность завершает выполнение этой диаграммы Stateflow, связанной с событием E_one когда состояние A первоначально активно.