stringtranslate.com

Объединение теорий программирования

Унифицированные теории программирования ( UTP ) в информатике занимаются семантикой программ . Они показывают, как денотационная семантика , операционная семантика и алгебраическая семантика могут быть объединены в единую структуру для формальной спецификации , проектирования и реализации программ и компьютерных систем .

Книга с таким названием, написанная К. А. Р. Хоаром и Хе Цзифэном, была опубликована в серии Prentice Hall International по информатике в 1998 году и теперь свободно доступна в Интернете. [1]

Теории

Семантическая основа UTP — исчисление предикатов первого порядка , дополненное конструкциями с фиксированной точкой из логики второго порядка. Следуя традиции Эрика Хенера , программы являются предикатами в UTP, и на семантическом уровне нет различия между программами и спецификациями. По словам Хоара :

Компьютерная программа идентифицируется с самым сильным предикатом, описывающим каждое соответствующее наблюдение, которое может быть сделано относительно поведения компьютера, выполняющего эту программу. [2]

В терминологии UTP теория — это модель определенной парадигмы программирования. Теория UTP состоит из трех компонентов:

Уточнение программы является важной концепцией в UTP. Программа утончается, если и только если каждое наблюдение, которое может быть сделано, также является наблюдением . Определение утончения является общим для теорий UTP:

где обозначает [3] универсальное замыкание всех переменных в алфавите.

Отношения

Самая базовая теория UTP — это алфавитное исчисление предикатов, которое не имеет ограничений по алфавиту или условий работоспособности. Теория отношений немного более специализирована, поскольку алфавит отношения может состоять только из:

Некоторые общие языковые конструкции можно определить в теории отношений следующим образом:

Ссылки

  1. ^ Hoare, CAR ; Jifeng, He (1 апреля 1998 г.). Унификация теорий программирования. Prentice Hall. стр. 320. ISBN 978-0-13-458761-5. Получено 17 сентября 2014 г.
  2. ^ Хоар, КАР (апрель 1984). «Программирование: колдовство или наука?». IEEE Software . 1 (2): 5–16. doi :10.1109/MS.1984.234042. S2CID  375578.
  3. ^ Дейкстра, Эдсгер В .; Шолтен, Карел С. (1990). Исчисление предикатов и семантика программ . Тексты и монографии по информатике. Springer. ISBN 0-387-96957-8.

Дальнейшее чтение

Внешние ссылки