exponenta event banner

Трансляция локальных событий в параллельных состояниях

Трансляция направленного события с использованием отправки

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

Первоначально чарт спит. Параллельные подстанции A.A1 и B.B1 являются активными, что подразумевает, что параллельные (И) сверхсостояния A и B также активны. Условие [data1==1] является правдой. Событие E_one принадлежит диаграмме и видим для обеих A и B.

После пробуждения диаграмма проверяет допустимые переходы на каждом уровне иерархии:

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

  2. Государство A проверяет наличие допустимых переходов в результате события. Потому что условие [data1==1] true, существует допустимый переход из состояния A.A1 указывать A.A2.

  3. Действие send(E_one,B) выполняет:

    1. Трансляция события E_one достигает состояния B. Потому что состояние B является активным, это состояние принимает широковещательную передачу события и проверяет наличие допустимого перехода. Существует допустимый переход от B.B1 кому B.B2.

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

    3. Государство B.B1 становится неактивным.

    4. Государство B.B2 становится активным.

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

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

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

  6. Государство A.A2 становится активным.

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

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

Трансляция направленного события с использованием квалифицированного имени события

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

Единственные отличия диаграммы в направленной трансляции событий с использованием отправки:

  • Событие E_one принадлежит государству B и виден только этому состоянию.

  • Действие send(E_one,B) сейчас send(B.E_one).

    Использование квалифицированного имени события необходимо, поскольку E_one не виден для состояния A.

После пробуждения диаграмма проверяет допустимые переходы на каждом уровне иерархии:

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

  2. Государство A проверяет наличие допустимых переходов в результате события. Потому что условие [data1==1] true, существует допустимый переход из состояния A.A1 указывать A.A2.

  3. Действие send(B.E_one) выполняет и завершает:

    1. Трансляция события E_one достигает состояния B. Потому что состояние B является активным, это состояние принимает широковещательную передачу события и проверяет наличие допустимого перехода. Существует допустимый переход от B.B1 кому B.B2.

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

    3. Государство B.B1 становится неактивным.

    4. Государство B.B2 становится активным.

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

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

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

  6. Государство A.A2 становится активным.

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

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

См. также

Связанные темы