Задайте начальный режим в графике режимов
initial init_mode : predicate_condition end
initial начинает конструкцию начального режима на графике режимов. Конструкция завершена end ключевое слово. Он содержит один оператор со следующим синтаксисом:
init_mode : predicate_condition
где:
init_mode является активным режимом в начале симуляции, если выражение в predicate_condition является true.
Если predicate_condition false, затем первый режим, перечисленный в modes раздел активен в начале симуляции.
The predicate_condition должно быть параметрическим выражением, поскольку оно вычисляется во время компиляции. Использование переменной в предикате приводит к ошибке во время компиляции.
The 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.
The 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.