Задайте переходы между режимами в графике режима
transitions from_mode
-> to_mode
: predicate_condition
end
transitions
начинает блок объявлений переходов в графике режима. transitions
блокируйтесь, отключенный end
ключевое слово, может содержать одно или несколько построений перехода.
Каждое построение перехода имеет следующий синтаксис:
from_mode -> to_mode : predicate_condition
где:
from_mode
режим, активный перед переходом.
to_mode
режим, активный после перехода.
predicate_condition
выражение, которое должно быть верно для перехода, чтобы произойти.
Например, если график режима объявляет два режима, m1
и m2
, следующий синтаксис указывает что системные переходы от режима m1
к режиму m2
когда p1
предикат верен:
transitions m1 -> m2 : p1 end
Если несколько предикатов становятся верными одновременно, приоритет перехода задан порядком, они перечислены. Например, график режима объявляет три режима, m1
, m2
, и m3
, и задает следующие переходы:
transitions m1 -> m2 : p1 m1 -> m3 : p2 end
Если предикаты p1
и p2
станьте верными одновременно, системные переходы от режима m1
к режиму m2
(первый перечисленный переход).
Во время инициализации решатель устанавливает начальный режим сначала, и затем проверяет переходы. Если предикат перехода верен во время инициализации, система может запуститься в различном режиме, чем это, перечислил сначала (или задал initial
создайте). Например, рассмотрите график режима, который объявляет два режима, m1
и m2
, и задает следующий переход:
transitions m1 -> m2 : p1 end
Если предикат p1
верно во время инициализации, система сразу переходы от режима m1
(первый перечисленный режим) к режиму m2
, и симуляция запускается в режиме m2
.
initial
| modecharts
| modes