stringtranslate.com

Teorías unificadoras de la programación

Las Teorías Unificadoras de Programación ( UTP ) en informática se ocupan de la semántica de programas . Muestra cómo la semántica denotacional , la semántica operativa y la semántica algebraica pueden combinarse en un marco unificado para la especificación formal , el diseño y la implementación de programas y sistemas informáticos .

El libro de este título de CAR Hoare y He Jifeng se publicó en la Serie Internacional de Ciencias de la Computación de Prentice Hall en 1998 y ahora está disponible gratuitamente en la web. [1]

Teorias

La base semántica de la UTP es el cálculo de predicados de primer orden , ampliado con construcciones de punto fijo de la lógica de segundo orden. Siguiendo la tradición de Eric Hehner , los programas son predicados en UTP y no existe distinción entre programas y especificaciones a nivel semántico. En palabras de Hoare :

Un programa de computadora se identifica con el predicado más fuerte que describe cada observación relevante que se puede hacer del comportamiento de una computadora que ejecuta ese programa. [2]

En lenguaje UTP, una teoría es un modelo de un paradigma de programación particular. Una teoría UTP se compone de tres ingredientes:

El refinamiento del programa es un concepto importante en la UTP. Un programa se refina si y sólo si cada observación que se puede hacer es también una observación de . La definición de refinamiento es común en todas las teorías UTP:

donde denota [3] el cierre universal de todas las variables del alfabeto.

Relaciones

La teoría UTP más básica es el cálculo de predicados alfabetizado, que no tiene restricciones alfabéticas ni condiciones de salubridad. La teoría de las relaciones es un poco más especializada, ya que el alfabeto de una relación puede consistir únicamente en:

Algunas construcciones del lenguaje común se pueden definir en la teoría de las relaciones de la siguiente manera:

Referencias

  1. ^ Hoare, COCHE ; Jifeng, He (1 de abril de 1998). Teorías unificadoras de la programación. Prentice Hall. pag. 320.ISBN​ 978-0-13-458761-5. Consultado el 17 de septiembre de 2014 .
  2. ^ Hoare, CAR (abril de 1984). "Programación: ¿brujería o ciencia?". Software IEEE . 1 (2): 5–16. doi :10.1109/MS.1984.234042. S2CID  375578.
  3. ^ Dijkstra, Edsger W .; Scholten, Carel S. (1990). Cálculo de predicados y semántica de programas . Textos y Monografías en Informática. Saltador. ISBN 0-387-96957-8.

Otras lecturas

enlaces externos