Как развиваются часы Uppaal? У меня есть две локации 1 и 2 без инварианта, часы сбрасываются на ноль (0) при переходе в локацию 1. На границе между локацией 1 и 2, как мне узнать значение часов в это время? (То есть значение часов между двумя точками перед точкой 2). Продолжают ли часы развиваться от локации 1 к локации 2 и далее или происходит автоматический сброс при входе в новую локацию?
Как развиваются часы Uppaal? У меня есть две локации 1 и 2 без инварианта. Что такое тактовое значение?
Ответы (1)
TLDR; ответ. Если автомат начинает с x==0
и перемещается по локациям без инвариантов, то автомат может задержаться, скажем, на 5
единиц времени, затем переместиться в другую локацию на x==5
, затем снова задержаться, скажем, на 3.141
единиц времени, что продвинет x
до значения 8.141
и так далее. Обратите внимание, что часы x
могут получить произвольное реальное значение (отсюда мой произвольный выбор) за счет задержки и выполнения переходов, а это означает, что все эти возможности необходимо проанализировать. Uppaal фиксирует все эти возможные значения в виде ограничений (или их отсутствие в этом случае, когда нет инвариантов или охранников, симулятор может показать только x==y
, потому что все часы синхронизированы).
Некоторый контекст. Uppaal реализует синхронизированные автоматы с тактовыми переменными, значения которых непрерывно изменяются со скоростью (производной по времени) 1
. Таким образом, если часы сброшены на 0
и автомат прибывает в место без инвариантов (также не срочное и не зафиксированное), то часы могут свободно развиваться, поэтому могут иметь произвольное значение от 0
до infinity
. Uppaal представляет такие оценки символически с использованием ограничений (интервалов), упакованных в матрицы разностей (DBM). Если автомат совершает переход, то Uppaal проанализирует сразу все возможные переходы, удовлетворяющие ограничениям. Например, если местоположение имеет инвариант x<=5
, а ребро имеет защиту x>=2
, то переход доступен, когда x
находится где-то между 2
и 5
, поэтому Uppaal выберет символический переход с ограничениями 2<=x && x<=5
, который захватывает все эти возможные переходы одновременно. Это позволяет анализировать бесконечное количество переходов в конечных структурах данных и за конечное время.
Некоторые распространенные случаи, которые могут запутать новичка. Если в системе несколько автоматов, то ход времени анализируется глобально, т.е. инвариант в одном автомате будет влиять на другие часы в других автоматах. , потому что все часы синхронизированы по глобальному времени.
Временные автоматы допускают только целые числа в охранах и инвариантах, которые в принципе можно масштабировать для соответствия моделям с рациональными числами. Uppaal также расширяет временные автоматы срочными, зафиксированными местоположениями, операторами выбора, широковещательной синхронизацией, целочисленными переменными, вызовами функций и т. д., которые по-прежнему поддаются анализу в рамках той же теории синхронизированных автоматов, но делают моделирование более выразительным и лаконичным. .
Вы можете прочитать больше в Tutorial on Uppaal в разделе документации на http://uppaal.org: http://www.it.uu.se/research/group/darts/uppaal/documentation.shtml#tutorials