Teoria da Programação II
Fundamentos Lógicos
Elementos Lógicos da Programação I

Disciplina da Secção de Ciência da Computação.

Cursos:
LEIC (Licenciatura em Engenharia Informática e de Computadores). Ano: 3. Semestre: 1.
LMAC (Licenciatura em Matemática e Computação). Ano: 3. Semestre: 1.


Professora Responsável: Paula Gouveia.


Semestre corrente: Avisos e outras informações.


Objectivos

Introdução aos fundamentos lógicos da engenharia da programação: lógica temporal para especificação e verificação de sistemas concorrentes e reactivos. Experimentação com a ferramenta STeP: descrição de sistemas concorrentes na linguagem SPL; especificação e verificação de propriedades de sistemas concorrentes.

Programa mínimo

Sistemas de transições. Linguagem SPL (Simple Programming Language): sintaxe e semântica sobre sistemas de transições justos. Exemplos incluindo diversos casos típicos no contexto dos sistemas distribuídos (eg protocolos). Lógica temporal linear: sintaxe e semântica. Especificação temporal de sistemas concorrentes e reactivos: propriedades de segurança, garantia, resposta e persistência. Verificação de programas: sistema dedutivo; verificação algorítmica em sistemas de transições finitos. Especificação e verificação de sistemas com a ferramenta STeP (Stanford Temporal Prover).


Bibliografia


Última actualização: 28 de Setembro de 1999.