1,573 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

    An overview of the ciao multiparadigm language and program development environment and its design philosophy

    Full text link
    We describe some of the novel aspects and motivations behind the design and implementation of the Ciao multiparadigm programming system. An important aspect of Ciao is that it provides the programmer with a large number of useful features from different programming paradigms and styles, and that the use of each of these features can be turned on and off at will for each program module. Thus, a given module may be using e.g. higher order functions and constraints, while another module may be using objects, predicates, and concurrency. Furthermore, the language is designed to be extensible in a simple and modular way. Another important aspect of Ciao is its programming environment, which provides a powerful preprocessor (with an associated assertion language) capable of statically finding non-trivial bugs, verifying that programs comply with specifications, and performing many types of program optimizations. Such optimizations produce code that is highly competitive with other dynamic languages or, when the highest levéis of optimization are used, even that of static languages, all while retaining the interactive development environment of a dynamic language. The environment also includes a powerful auto-documenter. The paper provides an informal overview of the language and program development environment. It aims at illustrating the design philosophy rather than at being exhaustive, which would be impossible in the format of a paper, pointing instead to the existing literature on the system

    Literature Review: Multiparadigm Accounting Research

    Get PDF
    The objective of this paper is to explore all related literature with multiparadigm accounting research approaches. The literature search strategy begins by looking at literature from sources in the forms of books or sources originating from several databases or search engines including open knowledge maps, google scholar, and z-library. The keywords used for the search are “accounting: science with various paradigms, multiparadigm accounting research, accounting paradigm and paradigm accounting”.  From the results of searching and reviewing the literature, including books, journal articles and other electronic sources, various kinds of multiparadigm accounting research were obtained. By knowing the benefits of each of the paradigm viewpoints that have been described, it is good if we take a mixed paradigm approach in accounting research so that research results are of higher quality because they are not only based on one paradigm. Even though in one research using one accounting paradigm, those of us who strongly believe in a certain paradigm still have an open mind towards other paradigms thus enriching our views so that in studying accounting all paradigms are believed to complement one another. This research will greatly contribute to academics in viewing accounting from various perspectives. This literature review classifies multiparadigm accounting research based on more specific groups

    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

    Implementing distributed concurrent constraint execution in the CIAO system

    Full text link
    This paper describes the current prototype of the distributed CIAO system. It introduces the concepts of "teams" and "active modules" (or active objects), which conveniently encapsulate different types of functionalities desirable from a distributed system, from parallelism for achieving speedup to client-server applications. The user primitives available are presented and their implementation described. This implementation uses attributed variables and, as an example of a communication abstraction, a blackboard that follows the Linda model. Finally, the CIAO WWW interface is also briefly described. The unctionalities of the system are illustrated through examples, using the implemented primitives

    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

    Software Protection

    Get PDF
    A computer system's security can be compromised in many ways a denial-of-service attack can make a server inoperable, a worm can destroy a user's private data, or an eavesdrop per can reap financial rewards by inserting himself in the communication link between a customer and her bank through a man-in-the-middle (MITM) attack. What all these scenarios have in common is that the adversary is an untrusted entity that attacks a system from the outside-we assume that the computers under attack are operated by benign and trusted users. But if we remove this assumption, if we allow anyone operating a computer system- from system administrators down to ordinary users-to compromise that system's security, we find ourselves in a scenario that has received comparatively little attention. Methods for protecting against MATE attacks are variously known as anti-tamper techniques, digital asset protection, or, more

    A requirements specification for a software design support system

    Get PDF
    Most existing software design systems (SDSS) support the use of only a single design methodology. A good SDSS should support a wide variety of design methods and languages including structured design, object-oriented design, and finite state machines. It might seem that a multiparadigm SDSS would be expensive in both time and money to construct. However, it is proposed that instead an extensible SDSS that directly implements only minimal database and graphical facilities be constructed. In particular, it should not directly implement tools to faciliate language definition and analysis. It is believed that such a system could be rapidly developed and put into limited production use, with the experience gained used to refine and evolve the systems over time
    • 

    corecore