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
November 1997
Abstract
This thesis presents a new interaction framework specifically designed
for interacting with structured data in Logic Programming (LP).
The proposed interaction model is the basis for an interaction engine
whose functionalities where tested in
Magritte, an
environment for the development of logic programs.
Interaction in Magritte is based on a term editing model. This model
provides a term oriented interface definition that introduces a novel
approach to the definition of interaction in LP.
As a consequence, in Magritte interaction is regarded as a
particular case of editing a set of terms. In this approach the
definition of the interface semantics uses terms and the
interface syntax associates graphical visualization
rules to functors.
This view of interaction simplifies the definition of interaction in such
complex tasks as specialized structure editing and interaction with the
execution of logic programs.
Magritte uses in its front-end concepts that have proven their
usefulness in other contexts but that were never implemented in LP
environments. From spreadsheets Magritte borrows the idea of
integrating data, programs and executions in a single workspace, and
from structure editing it borrows the idea of guided input. The
contribution of this research was the adaptation of these ideas to
LP. Hence, in Magritte's view of spreadsheets the matrix model was
replaced by a tree model, and the structure edition does not use a
context free grammar but is based on the concept of types of terms.
The interaction framework proposes a language for the graphical syntax
of terms. This language associates to a class of functors a set of rules
that compute several visual attributes of the terms.
Both the language and the evaluation algorithms are based on
attribute grammar concepts, and were adapted to the requirements of a LP
environment.