Interpreting Lograph


Omid Banyasad
Philip T. Cox

Author Addresses: 

Faculty of Computer Science
Dalhousie University
6050 University Ave.
PO Box 15000
Halifax, Nova Scotia, Canada
B3H 4R2


Lograph is a non-deterministic, visual, logic programming language which is being implemented as the basis for a visual language for the design of structured objects. Given the multi-paradigm nature of the language, implementing it raises many issues such as a suitable editing and debugging environment, a deterministic execution mechanism, and an efficient interpreter engine. The consideration of deterministic execution raises another issue. In logic programming languages, deterministic execution is obtained by ordering literals in the body of clauses, and ordering clauses in the definition of a predicate, how should such ordering be expressed in a visual logic programming language without resorting to a confusing network of lines? Lograph's roots in logic raises the issue of efficient execution as it is the case for any other logic programming language. Is it possible to take advantage of the considerable effort that has gone into logic program compilation?

This paper describes our progress in addressing such issues. We describe how Lograph can be made deterministic and potentially efficient by appropriate orderings, and how these orderings can be represented and managed. We then discuss the design of an interpreter engine which takes full advantage of an efficient implementation of Prolog while providing for animation of execution.

Tech Report Number: 
Report Date: 
May 21, 2003
PDF icon CS-2003-03.pdf1.67 MB