конечный автомат, снабженный конечным множеством
вещественнозначных часовых переменных или, более коротко, часов.
Часы используются для измерения временных характеристик.
Часы – это переменная, принимающая значения в
.
В данном разделе в качестве часов используются буквы x, y и z.
Состояние временного автомата состоит из текущей позиции автомата
и текущих значений всех часовых переменных
. Часы могут быть
инициализированы (в нуль), когда система делает переход. После
инициализации они начинают скрыто увеличивать свое значение. Все
часы идут с одинаковой скоростью. Значение часов, таким образом,
обозначает время, прошедшее с момента их инициализации. Условия
на значения часов используются в качестве активирующих условий
переходов: переход активен и может быть пройден, только если
часовое ограничение выполнено, в противном случае переход
блокирован. Для ограничения времени, которое может быть
проведено в позиции, используются инварианты на часах.
Активирующие условия и инварианты являются ограничениями для
часов.
Для множества C часов (где x, y C) множество часовых ограничений
над C обозначается Ψ(С) и определяется следующим образом:
α ::= x ~ c | x – y ~ c | α | (α α).
Здесь c
и ~ {<, ≤}.
В данном разделе используются такие сокращения, как x ≥ c для
(x < c) и x = c для x ≤ c x ≥ c и т. д. Допускается также сложение
констант в часовых ограничениях, например, x ≤ c + d для d
.
Сложение же часовых переменных, как в ограничении x + y < 3,
сделало бы проверку моделей неразрешимой. Также если бы c могло
быть действительным числом, то проверка моделей для временной
темпоральной логики, которая интерпретируется, как в текущем
случае, на плотной временной области, стала бы неразрешимой.
Следовательно, требуется, чтобы c было натуральным числом.
Разрешимость не затрагивается, если ограничение смягчить так, что c
могло бы быть рациональным числом. В этом случае рациональные
числа в каждой формуле могут быть преобразованы в натуральные
при подходящем масштабировании (это будет показано ниже).
Временной автомат – это набор (L, l
0
, E, Label, C, clocks, guard, inv),
где
Отметим сознательно введенное различие между позицией и состоянием.