Tópicos Avançados em Linguagens e Modelos de Programação

Mestrado em Engenharia Informática 2005---2006

Linguagens de Programação e Programação Concorrente

Docente: Luís Caires

Objectivos

Neste módulo (4 sessoes) apresentam-se aspectos essenciais do desenvolvimento de abstrações ao nível das linguagens de programação para suportar o desenvolvimento de sistemas concorrentes. Sera dado enfase aos principios da programacao concorrente, seguindo uma perspectiva historica e critica sobre o desenvolvimento das abstraccoes ao nivel das linguagens de programacao, ilustrando a sua concretizacao em linguagens de varios paradigmas, e focando no desenvolvimento de tecnicas de programacao concorrente baseados em metodologias de verificacao rigorosa (Logica de Hoare), aplicadas a linguagem Java.

Lista de Leituras

Towards a Theory of Parallel Programming. C.A.R. Hoare, 1972.

Monitors: An Operating System Structuring Concept. C.A.R. Hoare, CACM, 17-10, 1974.

Concepts and Notations for Concurrent Programming. Gregory R. Andrews, Fred B. Schneider. Computing Surveys, Vol 15, N 1, March 1983.

Concurrent and Distributed Programming. Chapter 14 in "Concepts in Programming Languages", John C. Mitchell, Cambridge University Press, 2003.

java's Insecure Parallelism, Per Brinch Hansen, ACM Sigplan Notices, 34-4, 1999.

Concurrent Programming in Java: Design Principles and Patterns. Doug Lea, Addison-Wesley,1999.

Slides Adicionais sobre Monitores e Logica de Hoare

Avaliação

VER Página principal da disciplina!

Notas

Notas do teste