7 research outputs found

    Transformation of logic programs: Foundations and techniques

    Get PDF
    AbstractWe present an overview of some techniques which have been proposed for the transformation of logic programs. We consider the so-called “rules + strategies” approach, and we address the following two issues: the correctness of some basic transformation rules w.r.t. a given semantics and the use of strategies for guiding the application of the rules and improving efficiency. We will also show through some examples the use and the power of the transformational approach, and we will briefly illustrate its relationship to other methodologies for program development

    Detecting Prolog programming techniques using abstract interpretation

    Get PDF
    There have been a number of attempts at developing intelligent tutoring systems (ITSs) for teaching students various programming languages. An important component of such an ITS is a debugger capable of recognizing errors in the code the student writes and possibly suggesting ways of correcting such errors. The debugging process involves a wealth of knowledge about the programming language, the student and the individual problem at hand, and an automated debugging component makes use of a number of tools which apply this knowledge. Successive ITSs have incorporated a wider range of knowledge and more powerful tools. The research described in this thesis should be seen as carrying on with this succes¬ sion. Specifically, we attempt to enhance an existing Prolog ITS (PITS) debugger called APR0P0S2 developed by Looi. The enhancements take the form of a richer language with which to describe Prolog code and more powerful tools with which constructs in this language may be detected in Prolog code. The richer language is based on the notion of programming techniques—common patterns in code which capture in some sense an expert's understanding of Prolog. The tools are based on Prolog abstract interpretation—a program analysis method for inferring dynamic properties of code. Our research makes contributions to both these areas. We develop a language for describing classes of Prolog programming techniques that manipulate data-structures. We define classes in this language for common Prolog techniques such as accumulator pairs and difference structures. We use abstract interpretation to infer the dynamic features with which techniques are described. We develop a general framework for abstract interpretation which is described in Prolog, so leading directly to an implementation. We develop two abstract domains—one which infers general data flow information about the code and one which infers particularly detailed type information—and describe the implementation of the former

    Deriving fold unfold transformations of logic programs using extended oldt-based abstract interpretation

    No full text
    An extension of OLDT based abstract interpretation for definite logic programs is presented. The extension can abstract the behavior of programs under different computation rules. The abstract behavior is captured in an EOLDT structure. It is shown that this EOLDT structure can guide an automatic equivalence preserving fold/unfold transformation. By making the appropriate choices during the abstract interpretation phase, one can obtain EOLDT structures which lead to a very broad range of transformations. It is argued that the approach provides a unifying framework for a large class of transformations. © 1993, Academic Press Limited. All rights reserved.status: publishe

    Dynamic Assembly for System Adaptability, Dependability, and Assurance

    Get PDF
    (DASASA) ProjectAuthor-contributed print ite

    A Gestalt Oriented Phenomenological and Participatory Study of the Transformative Process of Adolescent Participants Following Wilderness Centered Rites of Rassage

    Get PDF
    This dissertation, addresses intervention and phenomenological and participatory research methodology, through a lens of Gestalt Therapy Theory. The intervention, a wilderness-centered rites of passage, included experiential components of: (1) emersion in nature, (2) nature-based activities and challenges, (3) alone time in wilderness, (4) exposure to nature-based archetypes, elementals, and folklore, and (5) participation in community that supports connection through in ritual, ceremony, dialogue, and reflection. The participants included three early adolescent males and one adult male, a parent-participant. Data collection methods included participant observation, journal entries, photo documentation, photo elicited interviews, processing groups, and field notes. A multiple case narrative format, each focusing on a program activity component, was utilized to present data and findings representing the transformative process of the participant
    corecore