Author(s):
Lourenço, João
Date: 1994
Persistent ID: http://hdl.handle.net/10362/2313
Origin: Repositório Institucional da UNL
Description
Dissertacção apresentada para a obtenção do
Grau de Mestre em Engenharia Informática pela
Universidade Nova de Lisboa, Faculdade de
Ciências e Tecnologia. A evolução do hardware dos computadores para arquitecturas paralelas, incentivou a concepção de
novos modelos de programação e o desenvolvimento dos sistemas de suporte à execução correspondentes,
de forma a conseguir uma melhor exploração do paralelismo. A linguagem de programação
Prolog, pelas suas características declarativas e operacionais, tem vindo a ser objecto de estudo nesta área, através de adaptações da linguagem e/ou da sua máquina de inferência.
Este trabalho incide sobre os aspectos de concepção e implementação de um modelo de um sistema
de suporte à execução de programas em Prolog, em arquitecturas de múltiplos processadores,
com unidades de memória fisicamente distribuídas.
O modelo propõe extensões a um executor de Prolog convencional, de forma a disponibilizar
funcionalidades que permitam o controlo do paralelismo e da distribuição. Estas funcionalidades
podem ser utilizadas para a implementação de modelos de linguagens lógicas concorrentes de mais
alto nível, ou então serem utilizadas directamente para a programação de sistemas distribuídos, em
que múltiplos executores Prolog cooperam na resolução de um golo, comunicando com base em
mensagens. Para avaliar a funcionalidade do modelo proposto, concebeu-se e implementou-se um sistema de distribuição de golos Prolog, que permite recorrer a diversas estratégias para composição sequencial e paralela de golos, escondendo os aspectos de gestão˜ao explícita dos recursos efectivos.
A dissertação inclui uma discussão dos aspectos mais relevantes da realização do protótipo do modelo proposto sobre uma arquitectura baseada em Transputers.