10,968 research outputs found
Recommended from our members
Visual Programming in Prolog
A new, simple, complete visual formalism for programming in Prolog is presented. The formalism is shown to be equivalent to the standard textual notation for Prolog. We demonstrate some kinds of relationships and styles of programming that appear to be particularly lucid for novices when presented in the graphic notation, while other aspects of Prolog are identified that are clearer in the standard notation. The symbolism is proposed as a specialised complement, but not a replacement, for the traditional notation. The design of a computer interface called VPP is presented that supports visual programming in Prolog using the graphical notation. We discuss a prototype of VPP that has been implemented. We give examples to demonstrate how VPP has the capacity to allow users with little or no knowledge of Prolog to explore, understand, modify and create Prolog programs used to represent domain expertise in intelligent tutoring systems and interactive learning environments. We argue that the use of VPP may have advantages for beginners in the early stages of learning to program in Prolog, and may help to avoid certain misconceptions. We informally analyse the structure and properties of the notation from an abstract human-machine interaction viewpoint. An extension of the interpreter (dubbed VPE) designed for visualising Prolog execution spaces is presented. The limitations and possibilities for further work of both systems are identified and discussed
Teaching programming at a distance: the Internet software visualization laboratory
This paper describes recent developments in our approach to teaching computer programming in the context of a part-time Masters course taught at a distance. Within our course, students are sent a pack which contains integrated text, software and video course material, using a uniform graphical representation to tell a consistent story of how the programming language works. The students communicate with their tutors over the phone and through surface mail.
Through our empirical studies and experience teaching the course we have identified four current problems: (i) students' difficulty mapping between the graphical representations used in the course and the programs to which they relate, (ii) the lack of a conversational context for tutor help provided over the telephone, (iii) helping students who due to their other commitments tend to study at 'unsociable' hours, and (iv) providing software for the constantly changing and expanding range of platforms and operating systems used by students.
We hope to alleviate these problems through our Internet Software Visualization Laboratory (ISVL), which supports individual exploration, and both synchronous and asynchronous communication. As a single user, students are aided by the extra mappings provided between the graphical representations used in the course and their computer programs, overcoming the problems of the original notation. ISVL can also be used as a synchronous communication medium whereby one of the users (generally the tutor) can provide an annotated demonstration of a program and its execution, a far richer alternative to technical discussions over the telephone. Finally, ISVL can be used to support asynchronous communication, helping students who work at unsociable hours by allowing the tutor to prepare short educational movies for them to view when convenient. The ISVL environment runs on a conventional web browser and is therefore platform independent, has modest hardware and bandwidth requirements, and is easy to distribute and maintain. Our planned experiments with ISVL will allow us to investigate ways in which new technology can be most appropriately applied in the service of distance education
Portability of Prolog programs: theory and case-studies
(Non-)portability of Prolog programs is widely considered as an important
factor in the lack of acceptance of the language. Since 1995, the core of the
language is covered by the ISO standard 13211-1. Since 2007, YAP and SWI-Prolog
have established a basic compatibility framework. This article describes and
evaluates this framework. The aim of the framework is running the same code on
both systems rather than migrating an application. We show that today, the
portability within the family of Edinburgh/Quintus derived Prolog
implementations is good enough to allow for maintaining portable real-world
applications.Comment: Online proceedings of the Joint Workshop on Implementation of
Constraint Logic Programming Systems and Logic-based Methods in Programming
Environments (CICLOPS-WLPE 2010), Edinburgh, Scotland, U.K., July 15, 201
A Revised Textual Tree Trace Notation for Prolog
This paper describes a ''textual tree trace'' (TTT) notation for representing the execution of Prolog programs. Compact, textual and non-linear, it provides detailed information about variable binding and execution history, and distinguishes several modes of goal failure. The revised form given here, yet to be empirically tested, is partly informed by Paul Mulholland's empirical comparisons of Prolog trace notations, in which an earlier version of the TTT notation was amongst those studied and criticised. The work presented here is an updated version of a previous workshop paper (Taylor, du Boulay, & Patel, 1994)
An extensible web interface for databases and its application to storing biochemical data
This paper presents a generic web-based database interface implemented in
Prolog. We discuss the advantages of the implementation platform and
demonstrate the system's applicability in providing access to integrated
biochemical data. Our system exploits two libraries of SWI-Prolog to create a
schema-transparent interface within a relational setting. As is expected in
declarative programming, the interface was written with minimal programming
effort due to the high level of the language and its suitability to the task.
We highlight two of Prolog's features that are well suited to the task at hand:
term representation of structured documents and relational nature of Prolog
which facilitates transparent integration of relational databases. Although we
developed the system for accessing in-house biochemical and genomic data the
interface is generic and provides a number of extensible features. We describe
some of these features with references to our research databases. Finally we
outline an in-house library that facilitates interaction between Prolog and the
R statistical package. We describe how it has been employed in the present
context to store output from statistical analysis on to the database.Comment: Online proceedings of the Joint Workshop on Implementation of
Constraint Logic Programming Systems and Logic-based Methods in Programming
Environments (CICLOPS-WLPE 2010), Edinburgh, Scotland, U.K., July 15, 201
CLPGUI: a generic graphical user interface for constraint logic programming over finite domains
CLPGUI is a graphical user interface for visualizing and interacting with
constraint logic programs over finite domains. In CLPGUI, the user can control
the execution of a CLP program through several views of constraints, of finite
domain variables and of the search tree. CLPGUI is intended to be used both for
teaching purposes, and for debugging and improving complex programs of
realworld scale. It is based on a client-server architecture for connecting the
CLP process to a Java-based GUI process. Communication by message passing
provides an open architecture which facilitates the reuse of graphical
components and the porting to different constraint programming systems.
Arbitrary constraints and goals can be posted incrementally from the GUI. We
propose several dynamic 2D and 3D visualizations of the search tree and of the
evolution of finite domain variables. We argue that the 3D representation of
search trees proposed in this paper provides the most appropriate visualization
of large search trees. We describe the current implementation of the
annotations and of the interactive execution model in GNU-Prolog, and report
some evaluation results.Comment: 16 pages; Alexandre Tessier, editor; WLPE 2002,
http://xxx.lanl.gov/abs/cs.SE/020705
- …