La semántica del transformador del predicado del es una extensión de la lógica de Floyd-Hoare inventada por el Dijkstra y ampliada y refinada por otros investigadores. Primero fue introducida en el " de papel de Dijkstra; Comandos guardados, nondeterminacy y derivación formal del programs". Es un método para definir la semántica de una lengua programada imprescindible asignando a cada comando del en la lengua un transformador correspondiente del predicado del . Un transformador del predicado es una función del total que traza entre dos predicados en el espacio de estado de un programa.

El transformador canónico del predicado del de la programación imprescindible secuencial es el " supuesto; el " más débil de la condición previa ; wp (S, R). Aquí el S denota una lista de los comandos del y el R denota un predicado en el espacio, llamado el " " de Postcondition ;. El resultado de aplicar esta función da el " el pre-condition" más débil; para el S que termina con el R verdad. Un ejemplo es la definición siguiente de la declaración de asignación: wp (x del

l : = E, R) \ = \ R_E^x

Esto da un predicado que sea una copia del R con el valor del x substituido por el E .

Un ejemplo de un cálculo válido del wp para las asignaciones con el valorado número entero x de las variables y el y es: wp (x del

l : = y - 5, x > 10) \ = \ (y - 5 > 10) \ = \ (y > 15)

Esto significa eso para que el " poste-condition" del x > 10 a ser verdad después de la asignación, el " pre-condition" el y > 15 debe ser verdad antes de la asignación. Éste es también el " el pre-condition" más débil;, en que es el " weakest" restricción en el valor del y que hace del x > 10 verdad después de la asignación.

(El hace ) construcciones alternativas de Dijkstra ( si ) y repetidores también definidas tan bien como un operador de la composición (; ) usar el wp . La alternativa y las construcciones repetidores utilizaron los comandos guardados del de influenciar la ejecución. Debido a las reglas que él impuso ante la definición del wp, ambas construcciones tener en cuenta la ejecución no determinista si los protectores 'en los comandos están no desunen.

Desemejante de muchos otros formalismos semánticos, la semántica del transformador del predicado no fue diseñada como investigación en fundaciones del cómputo. Algo, se piensa para proveer de programadores una metodología para desarrollar sus programas como " corregir al lado del construction" en un " style" de cálculo;. Este estilo fue abogado por Dijkstra y otros, y también desarrollado más lejos en un ajuste más alto de la lógica de la orden por el R. trasero en el cálculo del refinamiento.

Aunque más el campo común y discutido lo más extensamente posible debido a su importancia a la programación secuencial, " el pre-conditions" más débil; no es el único de los transformadores del predicado de . Por ejemplo, el Leslie Lamport ha sugerido el del triunfo de y el del pecado de como de los transformadores del predicado de para la programación concurrente .

Ver también


la condición previa liberal más débil

.

  • Zenithic
  • Kevin Saucier
    Random links:Burg de Antón | Batalla de Baltimore | Edema pulmonar de la mucha altitud | Enrique Bertini | División de la cerveza de San Miguel

  • © 2007-2008 enciclopediaespana.com; article text available under the terms of GFDL, from en.wikipedia.org
    ="http://pagead2.googlesyndication.com/pagead/show_ads.js">