MATERIA: Semántica y verificación
CLAVE: COMP-820
SEMESTRE DE UBICACION: Octavo
AREA: Ciencias de la computación
OBJETIVOS: El énfasis en este curso es la representación y manipulación, así como la aplicación de sistemas formales en la computación. Se discutirán temas de lógica, conjuntos, álgebra, complejidad y computabilidad y se verán sus posibles aplicaciones, una de ellas la formalización de la semántica de los lenguajes de programación y la verificación de programas
TEMARIO:
- Introducción
- Un ejemplo
- Sintaxis Abstracta
- Ejecución secuencial
- Expresiones
- Comandos de control de flujo
- Notación-l
- Dominios. Funciones
- Cálculo-l sin tipos. Conversión. Evaluación. Constantes. Funciones de orden superior
- Recursión. Operador Y de punto fijo
- Cálculo-l con tipos. Constructores de tipos
- Cálculo-l polinórfico
- Latices
- Cardinalidad. El problema de Términacion (Halting Problem)
- Estructura de las latices. Órdenes parciales. Operaciones entre latices. Latices de funciones. Puntos fijos minimales
- Dominios recursivos. Listas y secuencias. Contrucción del límite inverso. Los tipos como ideales
- Un lenguaje simple
- Definición completa de un lenguaje simple
- Ejemplos
- Semántica directa
- Efectos laterales
- Errores y significados "erróneos"
- Salida
- Una traducción de Pascal
- Control
- Comandos de control
- Continuaciones
- Salidas y respuestas
- Efectos laterales y secuencias
- Continuación de declaraciones
- Funciones y parámetros
- Semántica Estándar
- Una traducción de Algol-68
- Estructuras de datos y tipos en los datos
- Semántica dinámica de las estructuras de datos
- Chequeo estático de tipos. Tipos identificados. Tipos recursivos. Tipos parametrizados
- Interpretaciones no estándar
- Semántica de Prolog
- Prolog. Ejecución. Ejemplo: append. Difernciador
- Una definición formal. Sintaxis. Dominios semánticos. Ecuaciones semánticas. Unificación. Funciones auxiliares
- Una traducción de Algol-68
- Colofón
- Intérpretes y compiladores de compiladores
- Concurrencia
BIBLIOGRAFIA:
- Allison, L., A practical introduction to denotational semantics, Cambridge University Press, 1986
- Gries, D.; Editor, Programming In The 1990s, An Introduction To The Calculation Of Programs, Springer Verlag, 1990
BIBLIOGRAFIA COMPLEMENTARIA:
- Winblad, A. L.; Edwards, S. D. ; King, D. R., Object-Orifented Software, Addison-Wesley Publishing Company, 1990
- Dijkstra, E. W., Formal Development Of Programs And Proofs, Addison-Wesley Publishing Company, 1990
- Janicki, R. ; Koczdodaj, W. W.; Editores, Computing And Information, North-Holland, 1989
- Manna, Z.; Waldinger, R., The Logical Bases For Computing Programming, Volume 1: Deductive Reasoning, Volume 2: Dedictive Systems, Addison-Weslesy Publishing Company, 1990
- Marin, J., Systems Design From Provably Correct Constructs, Prentice Hall, Inc., 1985
- Sperschneider, V.; Antoniou, A., Logic: A Foundation For Computer Science, Addison-Wesley Publishing Company, 1991
|