743 research outputs found

    Towards a debugging tutor for object-oriented environments

    Get PDF
    Programming has provided a rich domain for Artificial Intelligence in Education and many systems have been developed to advise students about the bugs in their programs, either during program development or post-hoc. Surprisingly few systems have been developed specifically to teach debugging. Learning environment builders have assumed that either the student will be taught these elsewhere or thatthey will be learnt piecemeal without explicit advice.This paper reports on two experiments on Java debugging strategy by novice programmers and discusses their implications for the design of a debugging tutor for Java that pays particular attention to how students use the variety of program representations available. The experimental results are in agreement with research in the area that suggests that good debugging performance is associated with a balanced use ofthe available representations and a sophisticated use of the debugging step facility which enables programmers to detect and obtain information from critical momentsin the execution of the program. A balanced use of the available representations seemsto be fostered by providing representations with a higher degree of dynamic linkingas well as by explicit instruction about the representation formalism employed in the program visualisations

    CLPGUI: a generic graphical user interface for constraint logic programming over finite domains

    Full text link
    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

    A Visual Notation for Declarative Behaviour Specification

    Get PDF
    Logical programming has many merits that should appeal to modellers. It enables declarative specifications that are free from implementation details and even (mostly) abstracts away from control flow specification. However, the textual syntax of, for example PROLOG, most likely represents a barrier to the adoption of such languages in the modelling community. The visual notation presented in this paper aims to facilitate the understanding of behaviour specifications based on logic programming. I anticipate that the dataflow-like nature of the resulting diagrams will appeal to modellers. I believe the visual notation to be an improvement over the traditional textual syntax for the purpose of specifying PROLOG programs as such, but the ultimate hope is to have found a vehicle to make declarative logic programming a commonplace activity in multi-paradigm modelling

    Visual Execution and Data Visualisation in Natural Language Processing

    Get PDF
    We describe GGI, a visual system that allows the user to execute an automatically generated data flow graph containing code modules that perform natural language processing tasks. These code modules operate on text documents. GGI has a suite of text visualisation tools that allows the user useful views of the annotation data that is produced by the modules in the executable graph. GGI forms part of the GATE natural language engineering system

    Tracing and Explaining Execution of CLP(FD) Programs

    Get PDF
    Previous work in the area of tracing CLP(FD) programs mainly focuses on providing information about control of execution and domain modification. In this paper, we present a trace structure that provides information about additional important aspects. We incorporate explanations in the trace structure, i.e. reasons for why certain solver actions occur. Furthermore, we come up with a format for describing the execution of the filtering algorithms of global constraints. Some new ideas about the design of the trace are also presented. For example, we have modeled our trace as a nested block structure in order to achieve a hierarchical view. Also, new ways about how to represent and identify different entities such as constraints and domain variables are presented.Comment: 16 pages; Alexandre Tessier, editor; WLPE 2002, http://xxx.lanl.gov/abs/cs.SE/020705

    The Ecce and Logen Partial Evaluators and their Web Interfaces

    No full text
    We present Ecce and Logen, two partial evaluators for Prolog using the online and offline approach respectively. We briefly present the foundations of these tools and discuss various applications. We also present new implementations of these tools, carried out in Ciao Prolog. In addition to a command-line interface new user-friendly web interfaces were developed. These enable non-expert users to specialise logic programs using a web browser, without the need for a local installation
    • ā€¦
    corecore