Широковещательно передайте локальные События в параллельных состояниях

Направленная широковещательная передача события Используя отправляет

Этот пример показывает поведение направленной широковещательной передачи события с помощью отправления (event_name, state_name) синтаксис на переходе. График использует неявное упорядоченное расположение параллельных состояний (см. Неявное Упорядоченное расположение Параллельных состояний).

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

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

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

  2. A состояния проверки на любые допустимые переходы в результате события. Поскольку условие [data1==1] верно, существует допустимый переход от 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] верно, существует допустимый переход от 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()) выполнитесь и завершитесь.

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

Смотрите также

Похожие темы

Для просмотра документации необходимо авторизоваться на сайте