Часы (проверка модели)
В проверке моделей , подразделе информатики , часы — это математический объект, используемый для моделирования времени. Точнее, часы измеряют, сколько времени прошло с момента того или иного события, в этом смысле часы — это точнее абстракция секундомера . В модели некоторой конкретной программы значение часов может быть либо временем с момента запуска программы, либо временем с момента возникновения определенного события в программе. Эти часы используются в определении тактового автомата , сигнального автомата , синхронизированной пропозициональной темпоральной логики и тактовой темпоральной логики . Они также используются в таких программах, как UPPAAL , которые реализуют синхронизированные автоматы. [1]
Обычно модель системы использует множество часов. Эти несколько часов необходимы для отслеживания ограниченного числа событий. Все эти часы синхронизированы. Это означает, что разница в значениях двух фиксированных часов постоянна до тех пор, пока один из них не будет перезапущен. На языке электроники это означает, что джиттер часов равен нулю.
Пример
[ редактировать ]Предположим, мы хотим смоделировать лифт в десятиэтажном здании. Наша модель может иметь часы , такой, что значение часов это время, когда кто-то ждал лифт на этаже . Эти часы запускаются, когда кто-то вызывает лифт на этаже. (и лифт на этом этаже еще не вызывался с тех пор, как он в последний раз посещал этот этаж). Эти часы можно выключить, когда лифт прибудет на этаж. . В этом примере нам на самом деле нужно десять отдельных часов, потому что нам нужно отслеживать десять независимых событий. Еще часы может использоваться для проверки того, сколько времени лифт провел на определенном этаже.
Затем модель этого лифта может использовать эти часы, чтобы определить, удовлетворяет ли программа лифта таким свойствам, как «предположим, что лифт не удерживается на этаже более пятнадцати секунд, тогда никому не придется ждать лифта более трех минут». ". Чтобы проверить, выполняется ли это утверждение, достаточно проверить, что при каждом прогоне модели, в которой часы всегда меньше пятнадцати секунд, каждые часы выключается до достижения трех минут.
Определение
[ редактировать ]Формально набор часов — это просто конечное множество [1] : 191 . Каждый элемент набора часов называется часами. Интуитивно часы аналогичны переменной в логике первого порядка . Это элемент, который можно использовать в логической формуле и который может принимать несколько различных значений.
Временные оценки
[ редактировать ]Оценка часов или интерпретация часов [1] : 193 над обычно определяется как функция от множеству неотрицательных действительных. Аналогично, оценку можно рассматривать как точку в .
Первоначальное задание — это постоянная функция, переводящая каждые часы в 0. Интуитивно она представляет начальное время программы, когда все часы инициализируются одновременно.
Учитывая назначение часов и настоящий , обозначает назначение часов, отправляющее каждые часы к . Интуитивно это представляет собой оценку после чего прошли единицы времени.
Учитывая подмножество часов, обозначает присваивание, подобное в котором часы сбрасываются. Формально, отправляет каждые часы до 0 и каждые часы к .
Неактивные часы
[ редактировать ]Программа UPPAAL вводит понятие неактивных часов . [2] Часы неактивны в какой-то момент, если нет возможности в будущем, в котором значение часов будет проверено без предварительного сброса. В нашем примере выше часы считается неактивным, когда лифт достигает этажа , и остается неактивным, пока кто-нибудь не вызовет лифт на этаже .
Если допустить неактивные часы, оценка может связать часы какой-то особой ценности чтобы указать, что он неактивен. Если затем также равно .
Ограничение часов
[ редактировать ]Ограничение атомных часов — это просто термин вида , где это часы, — оператор сравнения, например <, ≤, = ≥ или >, и является интегральной константой. В нашем предыдущем примере мы можем использовать ограничения атомных часов. заявить, что человек на этаже подождал меньше трёх минут и заявить, что лифт простоял на каком-то этаже более пятнадцати секунд. Оценка удовлетворяет оценке атомных часов тогда и только тогда, когда .
Ограничение часов является либо конечной конъюнкцией ограничения атомных часов, либо константой «истина» (которую можно рассматривать как пустую конъюнкцию). Оценка удовлетворяет ограничению часов если он удовлетворяет каждому ограничению атомных часов .
Диагональное ограничение
[ редактировать ]В зависимости от контекста ограничение атомных часов также может иметь форму . Такое ограничение называется диагональным ограничением, поскольку определяет диагональную линию в .
Разрешение диагональных ограничений может позволить уменьшить размер формулы или автомата, используемого для описания системы. Однако сложность алгоритма может увеличиться, если допускаются диагональные ограничения. В большинстве систем, использующих часы, разрешение диагонального ограничения не увеличивает выразительность логики. Теперь мы объясним, как закодировать такое ограничение с помощью логической переменной и недиагонального ограничения.
Диагональное ограничение может быть смоделировано с использованием недиагонального ограничения следующим образом. Когда сброшен, проверьте, держится или нет. Вызовите эту информацию в логическую переменную и заменить по этой переменной. Когда сбрасывается, устанавливается верно, если < или ≤ или если есть = и .
Способ кодирования логической переменной зависит от системы, в которой используются часы. Например, UPPAAL напрямую поддерживает логические переменные. Автоматы с таймером и сигнальные автоматы могут кодировать логическое значение в своих местоположениях. Во временной логике часов с использованием синхронизированных слов булева переменная может быть закодирована с использованием новых часов. , значение которого равно 0 тогда и только тогда, когда является ложным. То есть, сбрасывается до тех пор, пока предполагается ложным. Во временной пропозициональной темпоральной логике формула , который перезапускает а затем оценивает , можно заменить формулой , где и являются копиями формул , где заменяются константами true и false соответственно.
Наборы, определенные ограничениями часов
[ редактировать ]Ограничение часов определяет набор оценок. В литературе рассматриваются два вида таких множеств.
Зона . — это непустой набор оценок, удовлетворяющий ограничению часов Ограничения зон и часов реализуются с использованием матрицы границ различий .
Учитывая модель , он использует конечное число констант в своих ограничениях часов. Позволять быть наибольшей используемой константой. Регион превышающих — это непустая зона, в которой нет ограничений, используются, причем такие, что минимальны для включения.
См. также
[ редактировать ]- Автомат с таймером
- Сигнальный автомат
- Временная логика часов
- Временная пропозициональная темпоральная логика
Примечания
[ редактировать ]- ^ Jump up to: а б с Алур, Раджив; Дилл, Дэвид Л. (25 апреля 1994 г.). «Теория синхронизированных автоматов» (PDF) . Теоретическая информатика . 126 (2): 183–235. дои : 10.1016/0304-3975(94)90010-8 .
- ^ Берманн, Герд; Дэвид, Александр; Ларсен, Ким Дж. (28 ноября 2006 г.). «Учебное пособие по Uppaal 4.0» (PDF) : 28.
{{cite journal}}
: Для цитирования журнала требуется|journal=
( помощь )