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

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

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

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