Выйдите из состояния

Когда существует допустимый переход из состояния, то состояние отмечено для выхода. Состояние отмечено для выхода одним из этих способов:

  • Исходящий переход происходит в государственной границе.

  • Исходящий переход пересекает государственную границу.

  • Целевое состояние является параллельным дочерним элементом состояния активированного состояния.

Рабочий процесс для выхода из состояния

Эта блок-схема показывает прогрессию событий в Stateflow® для выхода из состояния. В этой блок-схеме текущее состояние относится к состоянию, в котором происходят решение или процесс.

Выйдите из действий

Exit действия для состояния выполняются, когда состояние активно, и существует допустимый переход от состояния. Состояние выполняет свой exit действия прежде, чем стать неактивным.

Выйдите действиям предшествует префиксный exit или ex, сопровождаемый необходимым двоеточием (:), и затем сопровождаемый одним или несколькими действиями. Разделите несколько действий возвратом каретки, точка с запятой (;), или запятая (,).

Выйдите из примера состояния

В этом примере диаграмма Stateflow инициализируется и entry действия выполняются для StateA и StateA1. Для этого графика, during действия для этого графика произошли дважды. Происходит новый временной шаг, и затем график просыпается.

Следующим Рабочий процесс для Выполнения диаграммы Stateflow и Рабочий процесс для Оценки Переходов, StateB был отмечен для записи. StateA источник перехода. На этом временном шаге x = 5, y = 2, и z = 0.

Следующим блок-схема для выходных действий состояния до графика засыпает, шаги выполнения для этого графика находятся в этом порядке:

  1. StateA не сверхдержава StateB.

  2. Выполните выходные действия StateA и отметьте StateA как неактивный. Теперь z = 1.

  3. StateA не имеет метрополии.

  4. Перейдите к действиям записи.

Эти шаги завершают exit рабочий процесс для StateA. Однако график еще не спит.

Выполните рабочий процесс для ввода графика или состояния для StateB завершать временной шаг.

Выйдите из состояния при помощи суперпереходов

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

Когда из состояния выходят посредством суперперехода, после того, как выходные действия для источника перехода выполняются, его сверхдержавы отмечены неактивные, и выходные действия сверхдержав выполняются. В этом примере, StateA2 отмечен для exit и StateB1 отмечен для entry. На данном этапе x = 5, y = 5, и z = 0.

Следующим Рабочий процесс для Ввода Графика или состояния, пока график не засыпает, шаги выполнения для выхода из StateA2 состояния находятся в этом порядке:

  1. StateA2 не сверхдержава целевого состояния (StateB1).

  2. Выполните exit действия для StateA2 и отметьте StateA2 как неактивный.

  3. StateA2 действительно имеет метрополию, StateA.

  4. StateA не сверхдержава целевого состояния (StateB1).

  5. Выполните exit действия для StateA, и отметьте StateA как неактивный.

  6. StateA не имеет метрополии.

Эти действия завершают exit рабочий процесс для StateA2 и StateA. Однако график еще не спит.

Выполните рабочий процесс для ввода графика или состояния для StateB и StateB1 завершать временной шаг.

Похожие темы