|
Please use this identifier to cite or link to this item:
http://hdl.handle.net/10174/21002
|
Title: | An abstract model for parallel execution of prolog |
Authors: | Patinho, Pedro José Grilo Lopes |
Keywords: | Prolog Logic programming Extended andorra model Parallelism Prolog Programação em lógica Extended andorra model Paralelismo |
Issue Date: | 8-Mar-2017 |
Publisher: | Universidade de Évora |
Abstract: | Logic programming has been used in a broad range of fields, from artifficial intelligence
applications to general purpose applications, with great success. Through its
declarative semantics, by making use of logical conjunctions and disjunctions, logic
programming languages present two types of implicit parallelism: and-parallelism and
or-parallelism.
This thesis focuses mainly in Prolog as a logic programming language, bringing out
an abstract model for parallel execution of Prolog programs, leveraging the Extended
Andorra Model (EAM) proposed by David H.D. Warren, which exploits the implicit
parallelism in the programming language. A meta-compiler implementation for an
intermediate language for the proposed model is also presented.
This work also presents a survey on the state of the art relating to implemented Prolog
compilers, either sequential or parallel, along with a walk-through of the current parallel
programming frameworks. The main used model for Prolog compiler implementation,
the Warren Abstract Machine (WAM) is also analyzed, as well as the WAM’s successor
for supporting parallelism, the EAM; Sumário:
Um Modelo Abstracto para
Execução Paralela de Prolog
A programação em lógica tem sido utilizada em diversas áreas, desde aplicações de
inteligência artificial até aplicações de uso genérico, com grande sucesso. Pela sua
semântica declarativa, fazendo uso de conjunções e disjunções lógicas, as linguagens de
programação em lógica possuem dois tipos de paralelismo implícito: ou-paralelismo e
e-paralelismo.
Esta tese foca-se em particular no Prolog como linguagem de programação em lógica,
apresentando um modelo abstracto para a execução paralela de programas em Prolog,
partindo do Extended Andorra Model (EAM) proposto por David H.D. Warren, que
tira partido do paralelismo implícito na linguagem. É apresentada uma implementação
de um meta-compilador para uma linguagem intermédia para o modelo proposto.
É feita uma revisão sobre o estado da arte em termos de implementações sequenciais
e paralelas de compiladores de Prolog, em conjunto com uma visita pelas linguagens
para implementação de sistemas paralelos. É feita uma análise ao modelo principal
para implementação de compiladores de Prolog, a Warren Abstract Machine (WAM) e
da sua evolução para suportar paralelismo, a EAM. |
URI: | http://hdl.handle.net/10174/21002 |
Type: | doctoralThesis |
Appears in Collections: | BIB - Formação Avançada - Teses de Doutoramento
|
Items in DSpace are protected by copyright, with all rights reserved, unless otherwise indicated.
|