518 research outputs found

    Logic programming in the context of multiparadigm programming: the Oz experience

    Full text link
    Oz is a multiparadigm language that supports logic programming as one of its major paradigms. A multiparadigm language is designed to support different programming paradigms (logic, functional, constraint, object-oriented, sequential, concurrent, etc.) with equal ease. This article has two goals: to give a tutorial of logic programming in Oz and to show how logic programming fits naturally into the wider context of multiparadigm programming. Our experience shows that there are two classes of problems, which we call algorithmic and search problems, for which logic programming can help formulate practical solutions. Algorithmic problems have known efficient algorithms. Search problems do not have known efficient algorithms but can be solved with search. The Oz support for logic programming targets these two problem classes specifically, using the concepts needed for each. This is in contrast to the Prolog approach, which targets both classes with one set of concepts, which results in less than optimal support for each class. To explain the essential difference between algorithmic and search programs, we define the Oz execution model. This model subsumes both concurrent logic programming (committed-choice-style) and search-based logic programming (Prolog-style). Instead of Horn clause syntax, Oz has a simple, fully compositional, higher-order syntax that accommodates the abilities of the language. We conclude with lessons learned from this work, a brief history of Oz, and many entry points into the Oz literature.Comment: 48 pages, to appear in the journal "Theory and Practice of Logic Programming

    Experiences in Using a Multiparadigm and Multiprogramming Approach to Teach an Information Systems Course on Introduction to Programmi

    Get PDF
    In the current literature, there is limited evidence of the effects of teaching programming languages using two different paradigms concurrently. In this paper, we present our experience in using a multiparadigm and multiprogramming approach for an Introduction to Programming course. The multiparadigm element consisted of teaching the imperative and functional paradigms, while the multiprogramming element involved the Scheme and Python programming languages. For the multiparadigm part, the lectures were oriented to compare the similarities and differences between the functional and imperative approaches. For the multiprogramming part, we chose syntactically simple software tools that have a robust set of prebuilt functions and available libraries. After our experiments, we found that the students were strongly biased towards memorizing the syntax of these languages, jeopardizing their ability to learn to think algorithmically and logically in order to solve the given problems. We believe that teaching students using multiparadigm and multiprogramming techniques could be discouraging, especially for those students with no programming experience. In this research study, we present the results of applying this approach together with the achievements, failures, and trends of the students who were taught with this multipath system

    Proceedings of the Resolve Workshop 2006

    Get PDF
    The aim of the RESOLVE Workshop 2006 was to bring together researchers and educators interested in: Refining formal approaches to software engineering, especially component-based systems, and introducing them into the classroom. The workshop served as a forum for participants to present and discuss recent advances, trends, and concerns in these areas, as well as formulate a common understanding of emerging research issues and possible solution paths

    Bridging the Gap between Object-oriented and Logic Programming

    Get PDF
    A description is given of an interface that was developed between Loops and Xerox Quintus Prolog. Loops is an extension to the Xerox AI environment to support object-oriented programming; Xerox Quintus Prolog is a version of Prolog that runs on Xerox Lisp machines. Such a bridge enables all the support tools of both environments to be accessed, and degradation of performance that occurs when one language is implemented top of another is avoided. The interface has three layers. At the lowest level, a set of Prolog predicates gives the Prolog programmer access to Loops objects. This lowest level is the bridge from Prolog to Loops. At the next level, programming tools in the Loops environment let object methods be defined in Prolog. At the highest level, the Prolog programmer can treat Prolog clauses as Loops objects that can be manipulated outside the Prolog database. Each layer can be used independently

    Classification of Language Interactions

    Get PDF
    Context: the presence of several languages interacting each other within the same project is an almost universal feature in software development. Earlier work shows that this interaction might be source of problems. Goal: we aim at identifying and characterizing the cross-language interactions at semantic level.% among artifacts written in different languages. Method: we took the commits of an open source project and analyzed the cross-language pairs of files occurring in the same commit to identify possible semantic interactions. We both defined a taxonomy and applied it. Result: we identify 6 categories of semantic interactions. The most common category is the one based on shared ids, the next is when an artifact provides a description of another artifact. Conclusions: the deeper knowledge of cross-language interactions represents the basis for implementing a tool supporting the management of this kind of interactions and the detection of related problems at compile time

    Towards a framework for multiparadigm multimethodologies in systems thinking and practice

    Get PDF
    Burrell and Morgan (2000) claimed that knowledge is paradigmatic, encompassing a distinct worldview and rationality governing research strategies and methods for which they identified four sociological paradigms to locate them based on “metatheoretical assumptions about the nature of reality, knowledge, and human behavior” (Cunliffe, 2010). They regard the competing theories developed from different paradigms as incommensurable—those working in one paradigm are not understood by those committed to another. Moreover, “there can be no measure, outside of the paradigms, which can be used as a basis for comparing and adjudicating between the claims toknowledge of theories produced from within different paradigms” (Jackson, 2000).This new theory states that because the problem of paradigm incommensurability begins at the level of ontology the solution lies there as well. Rather than supporting just one or a few paradigms, a different type of ontology is needed to explain ontological variety. It is argued that we can only perceive reality as meaningful paradigmatically, just as in the metaphor of the blind men and the elephant (Saxe, ca. 1850) where each comes upon a different part of an elephant andgeneralises that the whole is like their one piece. Furthermore, they cannot understand what they have found by comparing experiences.Solving the incommensurability issue is the theoretical key needed to properly underpin pluralist approaches to systems theory, design and intervention. But to do so, this new ontology is placed so that it operates within a suitable and otherwise complete theoretical framework which does not circumscribe, subsume, or in any way alter existing approaches, paradigms and theories—it purpose is only to sanction their use in a pluralist systemic approach. Such a framework, calledP–S Multiparadigm Perspectivity is described in this thesis.Ten interviews with systemists were conducted with mixed results. The tests mistakenly assumed that systemists were generally aware of paradigms and incommensurability—instead, an aversion to theory was discovered. Surprisingly, though, two methods to address the issue were also found in the data. One of the interviewees teaches theory through storytelling; another demonstrates methods first, to pique the learner’s interest and evoke their questions. It was learned that the adoption of this theory depends upon an improved awareness of the concepts of critical systems paradigms within the systemist community

    INCONSISTENCY HANDLING IN MULTIPERSPECTIVE SPECIFICATIONS

    No full text
    Published versio
    corecore