exponenta event banner

События процесса в состояниях, содержащих внутренние переходы

Обработка событий с внутренним переходом в монопольном (OR) состоянии

В этом примере показано, что происходит при обработке трех событий с использованием внутреннего перехода в монопольном (OR) состоянии.

Обработать одно событие в монопольном состоянии (ИЛИ)

В этом примере показано поведение внутреннего перехода. Диаграмма использует неявный порядок исходящих переходов (см. Неявный порядок).

Первоначально чарт спит. Государство A активен. Состояние [C_one] имеет значение false. Событие E_one происходит и пробуждает диаграмму, которая обрабатывает событие от корня вниз по иерархии:

  1. Корень диаграммы проверяет наличие допустимого перехода в результате E_one. Потенциально допустимый переход из состояния A указывать B обнаружен. Однако переход недействителен, поскольку [C_one] имеет значение false.

  2. Государство A во время действий (durA()) выполнить и завершить.

  3. Государство A проверяет свои нижестоящие элементы на наличие допустимого перехода и обнаруживает допустимый внутренний переход.

  4. Государство A остается активным. Действие внутреннего перехода A_two выполняется и завершается. Потому что это внутренний переход, состояние AДействия выхода и входа не выполняются.

  5. Диаграмма возвращается в сон.

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

Обработка второго события в монопольном состоянии (ИЛИ)

На предыдущем примере показано, что происходит при повторном событии. E_one происходит. Диаграмма использует неявный порядок исходящих переходов (см. Неявный порядок).

Первоначально чарт спит. Государство A все еще активен. Состояние [C_one] является правдой. Событие E_one происходит и пробуждает диаграмму, которая обрабатывает событие от корня вниз по иерархии:

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

    Переход из состояния A указывать B теперь действителен, потому что [C_one] является правдой.

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

  3. Государство A помечен как неактивный.

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

  5. Государство B помечен как активный.

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

  7. Диаграмма возвращается в сон.

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

Обработка третьего события в монопольном состоянии (ИЛИ)

В предыдущем примере показано, что происходит при третьем событии. E_two, происходит. Диаграмма использует неявный порядок исходящих переходов (см. Неявный порядок).

Первоначально чарт спит. Государство B сейчас активен. Состояние [C_two] имеет значение false. Событие E_two происходит и пробуждает диаграмму, которая обрабатывает событие от корня вниз по иерархии:

  1. Корень диаграммы проверяет наличие допустимого перехода в результате E_two.

    Потенциально допустимый переход из состояния B указывать A обнаружен. Переход недопустим, так как [C_two] имеет значение false. Однако активное состояние B имеет допустимый переход самокольца.

  2. Государство B действия выхода (exitB()) выполнить и завершить.

  3. Государство B помечен как неактивный.

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

  5. Государство B помечен как активный.

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

  7. Диаграмма возвращается в сон.

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

События процесса с внутренним переходом к соединительному соединению

В этом примере показано поведение обработки повторяющихся событий с использованием внутреннего перехода к соединительному соединению.

Обработка первого события с внутренним переходом к соединительному соединению

В этом примере показано поведение внутреннего перехода к соединительному соединению для первого события. Диаграмма использует неявный порядок исходящих переходов (см. Неявный порядок).

Первоначально чарт спит. Государство A1 активен. Состояние [C_two] является правдой. Событие E_one происходит и пробуждает диаграмму, которая обрабатывает событие от корня вниз по иерархии:

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

  2. Государство A во время действий (durA()) выполнить и завершить.

  3. Государство A проверяет себя на наличие допустимых переходов и обнаруживает наличие действительного внутреннего перехода к соединительному соединению.

    Условия оцениваются для определения допустимости одного из переходов. Поскольку применяется неявное упорядочение, сегменты, помеченные условием, вычисляются перед немеченым сегментом. Оценка начинается с позиции 12 часов на стыке и продолжается по часовой стрелке. Поскольку [C_two] верно, внутренний переход к соединению, а затем к состоянию A.A2 является действительным.

  4. Государство A.A1 действия выхода (exitA1()) выполнить и завершить.

  5. Государство A.A1 помечен как неактивный.

  6. Государство A.A2 помечен как активный.

  7. Государство A.A2 действия ввода (entA2()) выполнить и завершить.

  8. Диаграмма возвращается в сон.

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

Обработка второго события с внутренним переходом к соединительному соединению

Продолжая предыдущий пример, этот пример показывает поведение внутреннего перехода к соединению при втором событии E_one происходит. Диаграмма использует неявный порядок исходящих переходов (см. Неявный порядок).

Первоначально чарт спит. Государство A2 активен. Состояние [C_two] является правдой. Событие E_one происходит и пробуждает диаграмму, которая обрабатывает событие от корня вниз по иерархии:

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

  2. Государство A во время действий (durA()) выполнить и завершить.

  3. Государство A проверяет себя на действительные переходы и обнаруживает действительный внутренний переход к соединительному соединению.

    Условия оцениваются для определения допустимости одного из переходов. Поскольку применяется неявное упорядочение, сегменты, помеченные условием, вычисляются перед немеченым сегментом. Оценка начинается с позиции 12 часов на стыке и продолжается по часовой стрелке. Поскольку [C_two] верно, внутренний переход к соединению, а затем к состоянию A.A2 является действительным.

  4. Государство A.A2 действия выхода (exitA2()) выполнить и завершить.

  5. Государство A.A2 помечен как неактивный.

  6. Государство A.A2 помечен как активный.

  7. Государство A.A2 действия ввода (entA2()) выполнить и завершить.

  8. Диаграмма возвращается в сон.

Эта последовательность завершает выполнение этой диаграммы Stateflow, связанной с событием E_one когда состояние A2 активен и находится в состоянии [C_two] является правдой. Для состояния с допустимым внутренним переходом активный подсостояние может быть немедленно удалено и вновь введено.

Внутренний переход в исторический переход

В этом примере показано поведение внутреннего перехода к соединению истории.

Первоначально чарт спит. Государство A.A1 активен. Сведения журнала существуют, так как сверхсостояние A активен. Событие E_one происходит и пробуждает диаграмму, которая обрабатывает событие от корня вниз по иерархии:

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

  2. Государство A во время выполнения и завершения действий.

  3. Государство A проверяет себя на наличие допустимых переходов и обнаруживает наличие действительного внутреннего перехода к соединению истории. На основе хронологической информации последнее активное состояние, A.A1, является состоянием назначения.

  4. Государство A.A1 действия выхода выполняются и завершаются.

  5. Государство A.A1 помечен как неактивный.

  6. Государство A.A1 помечен как активный.

  7. Государство A.A1 действия ввода выполняются и завершаются.

  8. Диаграмма возвращается в сон.

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