Jump to content

Логика дерева вычислений

Логика дерева вычислений ( CTL времени ветвления ) — это логика , что означает, что ее модель времени представляет собой древовидную структуру, в которой будущее не определено; в будущем существуют разные пути, любой из которых может оказаться реальным и реализованным путем. Он используется при формальной проверке программных или аппаратных артефактов, обычно программными приложениями, известными как средства проверки моделей , которые определяют, обладает ли данный артефакт свойствами безопасности или живучести . Например, CTL может указать, что, когда некоторое начальное условие удовлетворено (например, все переменные программы положительны или ни одна машина на шоссе не пересекает две полосы), тогда все возможные выполнения программы избегают некоторых нежелательных условий (например, деления числа на ноль или две машины столкнулись на шоссе). В этом примере свойство безопасности может быть проверено средством проверки модели, которое исследует все возможные переходы из состояний программы, удовлетворяющих начальному условию, и гарантирует, что все такие выполнения удовлетворяют этому свойству. Логика дерева вычислений принадлежит к классу темпоральная логика , включающая линейную темпоральную логику (LTL). Хотя существуют свойства, выражаемые только в CTL, и свойства, выражаемые только в LTL, все свойства, выражаемые в любой логике, также могут быть выражены в CTL* .

История [ править ]

CTL был впервые предложен Эдмундом М. Кларком и Э. Алленом Эмерсоном в 1981 году, которые использовали его для синтеза так называемых скелетов синхронизации , то есть абстракций параллельных программ .

С момента появления CTL ведутся споры об относительных достоинствах CTL и LTL. Поскольку CTL более эффективен в вычислительном отношении для проверки моделей, он стал более распространенным в промышленном использовании, и многие из наиболее успешных инструментов проверки моделей используют CTL в качестве языка спецификации. [1]

Синтаксис CTL [ править ]

Язык формул правильных для CTL генерируется следующей грамматикой :

где колеблется в пределах набора атомарных формул . Не обязательно использовать все связки – например, содержит полный набор связок, а остальные можно определить с их помощью.

  • означает «вдоль всех путей» (неизбежно)
  • означает «по крайней мере (существует) один путь» (возможно)

Например, ниже приведена корректная формула CTL:

Следующая формула CTL не является корректной:

Проблема с этой строкой заключается в том, что может возникнуть только в сочетании с или .

CTL использует атомарные предложения в качестве строительных блоков для формулирования утверждений о состояниях системы. Эти предложения затем объединяются в формулы с использованием логических операторов и темпоральных операторов .

Операторы [ править ]

Логические операторы [ править ]

Логические операторы обычные: ¬, ∨, ∧, ⇒ и ⇔. Наряду с этими операторами формулы CTL также могут использовать логические константы true и false .

Временные операторы [ править ]

Временные операторы следующие:

  • Кванторы по путям
    • A Φ – A ll: Φ должно выполняться на всех путях, начиная с текущего состояния.
    • E Φ – существует : существует хотя бы один путь, начинающийся из текущего состояния, в котором выполняется Φ.
  • Кванторы, специфичные для пути
    • X φ – Ne x t: φ должен выполняться в следующем состоянии (этот оператор иногда обозначается N вместо X ).
    • G φ G глобально: φ должна соблюдаться на всем последующем пути.
    • F φ F наконец: φ в конечном итоге должна выполняться (где-то на последующем пути).
    • φ U ψ Until : φ должно выполняться по крайней мере до тех пор, пока в некоторой позиции не будет выполнено ψ . Это означает, что ψ будет проверена в будущем.
    • φ W ψ Слабое до тех пор , пока: φ должно выполняться до тех пор, пока не будет выполняться ψ . Отличие от U состоит в том, что нет никакой гарантии, что ψ когда-либо будет проверена. Оператор W иногда называют «если».

В CTL* темпоральные операторы можно свободно смешивать. В CTL операторы всегда должны быть сгруппированы парами: один оператор пути, за которым следует оператор состояния. См. примеры ниже. CTL* строго более выразителен, чем CTL.

Минимальный набор операторов [ править ]

В CTL существует минимальный набор операторов. Все формулы CTL можно преобразовать для использования только этих операторов. Это полезно при проверке модели . Один минимальный набор операторов: {true, ∨, ¬, EG , EU , EX }.

Некоторые из преобразований, используемых для темпоральных операторов:

  • EF φ == E [истинно U ( φ )] (потому что F φ == [истинно U ( φ )] )
  • AX φ == ¬ EX φ )
  • AG φ == ¬ EF φ ) == ¬ E [истинное U φ )]
  • AF φ == A [истина U φ ] == ¬ EG φ )
  • A [ φ U ψ ] == ¬( E [(¬ ψ ) U ¬( φ ψ )] ∨ EG ψ ) )

Семантика CTL [ править ]

Определение [ править ]

Формулы CTL интерпретируются по системам переходов . Переходная система представляет собой тройку , где представляет собой совокупность состояний, является переходным отношением, которое считается последовательным, т. е. каждое состояние имеет хотя бы одного преемника, и — это функция маркировки, присваивающая состояниям пропозициональные буквы. Позволять быть такой переходной моделью, с , и , где набор корректных формул на языке представляет собой .

Тогда отношение семантического следствия определяется рекурсивно на :

CTL Характеристика

Правила 10–15, приведенные выше, относятся к путям вычислений в моделях и в конечном итоге характеризуют «дерево вычислений»;это утверждения о природе бесконечно глубокого дерева вычислений, корнями которого являются данное состояние. .

Семантические эквиваленты [ править ]

Формулы и называются семантически эквивалентными, если любое состояние в любой модели, удовлетворяющее одному, также удовлетворяет и другому.Это обозначается

Видно, что и являются двойственными, являясь кванторами универсального и экзистенциального пути вычислений соответственно: .

Кроме того, таковы и .

Следовательно, пример законов Де Моргана можно сформулировать в CTL:

Используя такие тождества, можно показать, что подмножество временных связок CTL является адекватным, если оно содержит , хотя бы один из и хотя бы один из и логические связи.

Важные эквивалентности, приведенные ниже, называются законами расширения ; они позволяют развернуть проверку CTL-коннекта по отношению к его преемникам во времени.

Примеры [ править ]

Пусть «P» означает «Я люблю шоколад», а Q означает «На улице тепло».

  • АГ
«Теперь я буду любить шоколад, что бы ни случилось».
  • ЭФ
«Возможно, когда-нибудь мне понравится шоколад, хотя бы на один день».
  • ИЗ . ЭГ
«Всегда возможно (А.Ф.), что мне вдруг навсегда понравится шоколад». (Примечание: не только оставшаяся часть моей жизни, поскольку моя жизнь конечна, а G бесконечна).
  • ЭК . ОФ
«В зависимости от того, что произойдет в будущем (E), возможно, что в оставшееся время (G) мне будет гарантирован по крайней мере один (AF) шоколадный день впереди. Однако, если что-то когда-нибудь произойдет ошибаюсь, тогда все ставки отменяются, и нет никакой гарантии, полюблю ли я когда-нибудь шоколад».

В двух следующих примерах показана разница между CTL и CTL*, поскольку они позволяют оператору Until не уточняться каким-либо оператором пути ( A или E ):

  • АГ У К)
«С этого момента, пока на улице не станет тепло, я буду любить шоколад каждый божий день. Как только на улице станет тепло, все ставки на то, буду ли я больше любить шоколад, будут сделаны. О, и рано или поздно на улице будет тепло, даже если только на какое-то время». один день».
  • EF (( EX .P) U ( AG .Q))
«Возможно, что: в конце концов наступит время, когда будет тепло навсегда (AG.Q), и что до этого времени всегда будет какой-то способ заставить меня полюбить шоколад на следующий день (EX.P)».

Отношения с другими логиками [ править ]

Логика дерева вычислений (CTL) является подмножеством CTL*, а также модального µ-исчисления . CTL также является фрагментом темпоральной логики переменного времени (ATL) Алура, Хенцингера и Купфермана.

Логика дерева вычислений (CTL) и линейная временная логика (LTL) являются подмножеством CTL*. CTL и LTL не эквивалентны и имеют общее подмножество, которое является подмножеством как CTL, так и LTL.

  • FG .P существует в LTL, но не существует в CTL.
  • AG (P⇒(( EX .Q)∧( EX ¬Q))) и AG.EF .P существуют в CTL, но не в LTL.

Расширения [ править ]

CTL расширен второго порядка. количественной оценкой и к количественной вычислительной древовидной логике (QCTL). [2] Есть две семантики:

  • семантика дерева. Помечаем узлы дерева вычислений. QCTL* = QCTL = MSO над деревьями. Проверка модели и ее удовлетворительность завершены.
  • Семантика структуры. Мы маркируем состояния. QCTL* = QCTL = MSO над графиками . Проверка модели является PSPACE-полной , но выполнимость неразрешима .

Чтобы воспользоваться преимуществами решателей QBF, было предложено свести проблему проверки модели QCTL со структурной семантикой к TQBF (истинным количественным логическим формулам). [3]

См. также [ править ]

Ссылки [ править ]

  1. ^ Варди, Моше Ю. (2001). «Ветвление против линейного времени: финальная схватка» (PDF) . Инструменты и алгоритмы построения и анализа систем . Конспекты лекций по информатике. 2031 . Шпрингер, Берлин: 1–22. дои : 10.1007/3-540-45319-9_1 .
  2. ^ Дэвид, Амели; Ларуссини, Франсуа; Марки, Николас (2016). Дешарне, Жозе; Джагадисан, Радха (ред.). «О выразительности ККТЛ» . 27-я Международная конференция по теории параллелизма (CONCUR 2016) . Международные труды Лейбница по информатике (LIPIcs). 59 . Дагштуль, Германия: Schloss Dagstuhl–Leibniz-Zentrum fuer Informatik: 28:1–28:15. doi : 10.4230/LIPIcs.CONCUR.2016.28 . ISBN  978-3-95977-017-0 .
  3. ^ Хоссейн, Акаш; Ларуссини, Франсуа (2019). Гампер, Иоганн; Пинчинат, Софи; Скьявикко, Гвидо (ред.). «От количественного CTL к QBF» . 26-й Международный симпозиум по временному представлению и рассуждению (TIME 2019) . Международные труды Лейбница по информатике (LIPIcs). 147 . Дагштуль, Германия: Schloss Dagstuhl–Leibniz-Zentrum fuer Informatik: 11:1–11:20. doi : 10.4230/LIPIcs.TIME.2019.11 . ISBN  978-3-95977-127-6 . S2CID   195345645 .

Внешние ссылки [ править ]

Arc.Ask3.Ru: конец переведенного документа.
Arc.Ask3.Ru
Номер скриншота №: fe5479bb22b874bdddcdbe1a4d6322d0__1718931720
URL1:https://arc.ask3.ru/arc/aa/fe/d0/fe5479bb22b874bdddcdbe1a4d6322d0.html
Заголовок, (Title) документа по адресу, URL1:
Computation tree logic - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть. Любые претензии, иски не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, вы не можете использовать данный сайт и информация размещенную на нем (сайте/странице), немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, Денежную единицу (имеющую самостоятельную стоимость) можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)