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