15 MAIO / QUARTA FEIRA / 00:47
FCUP PT 
 EN
 
 
APRESENTAÇÃO
PESSOAS
ENSINO
INVESTIGAÇÃO
BIBLIOTECA
NOTÍCIAS
CONTACTOS

Graphical Interaction in Logic Programming

José Paulo Leal

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

Novembro 1997


Resumo

Nesta tese é apresentado um novo esquema de interacção desenhado especificamente para interacção com dados estruturados em Programação em Lógica (PL). O esquema de interacção proposto deu origem a um motor de interacção cujas funcionalidades foram testadas em Magritte, um ambiente de de desenvolvimento de programas lógicos.

A interacção em Magritte é baseada num modelo de edição de termos. Este modelo permite uma definição do interface baseada no conceito de termo e introduz uma nova abordagem na definição de interacção em PL. Como consequência, em Magritte a interacção é vista com um caso particular da edição de um conjunto de termos. Nesta abordagem a definição da semântica do interface usa termos e a sintaxe do interface associa regras de visualização aos functores. Esta visão da interacção simplifica a definição da interacção em tarefas complexas como a edição de estruturas e a interacção como a execução de programas lógicos.

O Magritte usa no seu interface conceitos que provaram a sua utilidade em outros contextos mas que nunca foram utilizados em ambientes de PL. Das folhas de calculo Magritte toma por empréstimo a ideia de integração de dados, programas e execuções num único espaço de trabalho, e da edição estrutural toma por empréstimo a ideia de edição assistida. As contribuições deste trabalho de investigação foram a adaptação destas ideias à PL. Assim, na visão de Magritte das folhas de calculo o modelo matricial foi substituído pelo modelo hierárquico, e a edição estrutural não usa gramaticas de contexto livre mas é baseada no conceito de tipos de termos.

O esquema de interacção propõem uma linguagem para a definição da sintaxe gráfica dos termos. Esta linguagem associa a uma classe de functores um conjunto de regras de calculo dos diversos atributos dos termos. Quer a linguagem quer os algoritmos de avaliação são baseados em conceitos de gramáticas de atributos, e foram adaptados aos requisitos de um ambiente para PL.


FCUP 2024