13 MAIO / SEGUNDA FEIRA / 22:34
FCUP PT 
 EN
 
 
APRESENTAÇÃO
PESSOAS
ENSINO
INVESTIGAÇÃO
BIBLIOTECA
NOTÍCIAS
CONTACTOS

An Implementation of the Extended Andorra Model

Ricardo Lopes

Departamento de Ciência de Computadores & LIACC
Faculdade de Ciências, Universidade do Porto
Rua do Campo Alegre, 823 4150 Porto, Portugal

Dezembro de 2001


Resumo

O Prolog é uma linguagem de programação lógica de alto-nível que tem sido muito investigada tendo em vista conseguir-se obter um elevado desempenho na execução das aplicações. O progresso em \emph{coroutining}, programação por restrições e tabelação permitiram reduções substanciais no espaço de procura da função de procura do Prolog, e são a base para a construção de aplicações mais ambiciosas. O uso de paralelismo, por outro lado, permite que as aplicações lógicas explorem de forma transparente as vantagens das arquitecturas paralelas, de forma a melhorar ainda mais esse desempenho.

Obter o máximo desempenho nas aplicações foi desde sempre um dos maiores objectivos da investigação na programação lógica. Este objectivo só poderá ser conseguido através de novos modelos de computação que sejam capazes de executar eficientemente os programas lógicos através da redução do espaço de procura e através da extracção do paralelismo existente nesses mesmos programas. Estes objectivos motivaram o desenvolvimento do Extended Andorra Model (EAM), um novo modelo que permite que os predicados sem restrições não determinísticas possam ser executados primeiro.

Neste trabalho apresentamos um sistema criado com base na EAM original de David H. D. Warren com controle implícito que designamos por Basic design for Extended Andorra Model (ou BEAM). Apresenta-se uma descrição completa do modelo, das regras de execução e do controle de execução. São referidos os principais algoritmos de execução do sistema bem como todas as estruturas de dados associadas que permitem uma execução eficiente das aplicações. São também discutidas algumas extensões ao modelo EAM que permitem um melhor controle da execução e que servem para evitar computações infinitas. Incluímos igualmente um estudo detalhado sobre o desempenho e comportamento da gestão de memória do sistema. Por fim, apresenta-se um novo modelo de execução paralelo que poderá ser implementado sobre a BEAM.


FCUP 2024