exponenta event banner

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

Переход по умолчанию при исключительном разложении (OR)

В этом примере показан переход из состояния OR в состояние superstate с исключительным разложением (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] является правдой. Событие возникает и пробуждает диаграмму, которая обрабатывает событие от корня вниз по иерархии:

  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 изначально активен.