В теории автоматов , приуроченная автомат представляет собой конечный автомат расширено с конечным множеством вещественных часов. Во время работы синхронизированного автомата все значения часов увеличиваются с одинаковой скоростью. При переходах автомата значения часов можно сравнивать с целыми числами. Эти сравнения формируют охрану, которая может включать или отключать переходы и тем самым ограничивать возможное поведение автомата. Далее часы можно сбросить. Временные автоматы являются подклассом гибридных автоматов .
Временные автоматы могут использоваться для моделирования и анализа временного поведения компьютерных систем, например систем или сетей реального времени. Методы проверки свойств безопасности и живучести были разработаны и интенсивно изучаются в течение последних 20 лет.
Было показано, что проблема достижимости состояний для временных автоматов разрешима [1], что делает этот подкласс гибридных автоматов интересным. Расширения были тщательно изучены, в том числе секундомеры, задачи в реальном времени, функции затрат и игры с таймером. Существует множество инструментов для ввода и анализа временных автоматов и расширений, включая средства проверки моделей UPPAAL , Kronos и анализатор планируемости TIMES. Эти инструменты становятся все более зрелыми, но все еще остаются инструментами академических исследований.
Пример [ править ]
Прежде чем формально определить, что такое синхронизированный автомат, приведем несколько примеров.
Рассмотрит язык из приуроченных-слов над одноместный алфавитом , например , что существует в течение первой единицы времени, и меньше , чем один раз блок между двумя последовательными . Автомат с синхронизацией, распознающий этот язык, изображенный рядом, использует одни часы , которые никогда не должны равняться единице. Эти часы отсчитывают время с начала прогона, если не было сгенерировано, или с момента последнего срабатывания в противном случае. Это означает, что каждый раз, когда выдается an , эти часы сбрасываются на ноль.
Рассмотрим язык из приуроченных-слов над двоичным алфавитом , так что каждый сопровождается в следующем единицу времени. Автомат с синхронизацией, распознающий этот язык, изображенный рядом, вспоминает, существовал ли а, за которым не следовала а, или нет. Если это не так, он принимает запуск, в противном случае он отклоняет его. Кроме того, когда есть такой , у него есть часы, которые вспоминают время, прошедшее с тех пор, как был выпущен первый такой . В этом случае не может быть выдано a, если часы, по крайней мере, равны единице, и, таким образом, запуск завершается ошибкой.
Формальное определение [ править ]
Автомат с синхронизацией [ править ]
Формально синхронизированный автомат - это кортеж , состоящий из следующих компонентов:
- конечное множество называется алфавитом или действия из .
- - конечное множество . Элементы называются местоположениями или состояниями .
- - это набор начальных местоположений.
- конечное множество называют часы из .
- - это набор принимающих местоположений.
- представляет собой набор ребер, называется переходы из , где
- - набор ограничений часов, включающих часы из , и
- является Powerset из .
Края от происходит переход от местоположений , чтобы с действием , охраны и часы сброса .
Расширенное состояние [ править ]
Пара с местоположением и оценкой часов называется расширенным состоянием или состоянием .
Обратите внимание, что слово состояние, таким образом, неоднозначно, поскольку, в зависимости от автора, оно может означать либо пару, либо элемент . Для ясности в этой статье мы будем использовать термин местоположение для элемента и термин расширенное местоположение для пар.
В этом заключается одно из самых больших различий между временными автоматами и конечными автоматами . В конечном автомате в какой-то момент выполнения состояние полностью описывается числом прочитанных букв и конечным числом возможных значений, которые на самом деле называются «состояниями». Это означает, что с учетом состояния и суффикса читаемого слова оставшаяся часть выполнения полностью определяется. Таким образом, слово «конечный» в названии «конечный автомат». Однако, как объясняется в разделе «Выполнение» ниже, для возобновления работы тактовой частоты используются часы для определения того, какие переходы могут быть выполнены. Таким образом, чтобы узнать состояние автомата, вы должны знать, в каком месте вы находитесь, и оценку часов.
Выполнить [ редактировать ]
Учитывая синхронизированное слово с , возрастающую последовательность неотрицательных чисел и синхронизированный автомат, как указано выше, запуск представляет собой последовательность формы, удовлетворяющую следующему ограничению:
- (инициализация)
- (последовательность) для всех существует такое ребро формы , что:
- мы предполагаем, что единицы времени прошли, и в это время охранник доволен. Т.е. удовлетворяет ,
- новая оценка часов соответствует тому , в какие единицы времени прошли и в какие часы сбрасываются. Формально .
Понятие принимающего пробега определяется как в конечных автоматах для конечных слов и как в автоматах Бюхи для бесконечных слов. То есть, если длина конечна , то пробег считается допустимым, если . Если слово бесконечно, то пробег принимается тогда и только тогда, когда существует бесконечное количество позиций, таких что .
Детерминированный синхронизированный автомат [ править ]
Как и в случае конечного автомата и автомата Бюхи, синхронизированный автомат может быть детерминированным или недетерминированным. Интуитивно детерминированность имеет одно и то же значение в каждом из этих случаев. Это означает, что набор начальных местоположений является одноэлементным, и что, учитывая состояние и букву , существует только одно возможное состояние, из которого можно достичь путем чтения . Однако в случае с автоматом по времени формальное определение немного сложнее. Формально таймер детерминирован, если:
- это синглтон
- для каждой пары переходов и множество оценок часов, которым удовлетворяют, не пересекаются с множеством оценок часов, которым удовлетворяют .
Свойство закрытия [ править ]
Класс языков, распознаваемых недетерминированными временными автоматами:
- замкнутое относительно объединения, действительно, несвязное объединение двух временных автоматов распознает объединение языка, распознаваемого этими автоматами.
- закрыто под перекрестком. [2]
- не закрывается при дополнении. [3]
Проблемы и их сложность [ править ]
Приведена вычислительная сложность некоторых задач, связанных с временными автоматами.
Проблему пустоты для синхронизированного автомата можно решить, построив региональный автомат и проверив, принимает ли он пустой язык. Эта проблема решена для PSPACE . [1] : 207
The universality problem of non-deterministic timed automaton is undecidable, and more precisely Π11. However, when the automaton contains a single clock, the property is decidable, however it is not primitive recursive.[3] This problem consists in deciding whether every words are accepted by a timed-automaton.
See also[edit]
- Alternating timed automaton: an extension of timed automaton with universal transitions.
Notes[edit]
- ^ a b Rajeev Alur , David L. Dill. 1994 A Theory of Timed Automata. In Theoretical Computer Science, vol. 126, 183–235, pp. 194–1955
- ^ Modern Applications Of Automata, page 118
- ^ a b Lasota, SƗawomir; Walukiewicz, Igor (2008). "Alternating Timed Automata". ACM Transactions on Computational Logic. 9 (2): 1–26. arXiv:cs/0512031. doi:10.1145/1342991.1342994.