16,894 research outputs found

    The Semantics of Graph Programs

    Get PDF
    GP (for Graph Programs) is a rule-based, nondeterministic programming language for solving graph problems at a high level of abstraction, freeing programmers from handling low-level data structures. The core of GP consists of four constructs: single-step application of a set of conditional graph-transformation rules, sequential composition, branching and iteration. We present a formal semantics for GP in the style of structural operational semantics. A special feature of our semantics is the use of finitely failing programs to define GP's powerful branching and iteration commands

    Modular Web Queries — From Rules to Stores

    Get PDF
    Even with all the progress in Semantic technology, accessing Web data remains a challenging issue with new Web query languages and approaches appearing regularly. Yet most of these languages, including W3C approaches such as XQuery and SPARQL, do little to cope with the explosion of the data size and schemata diversity and richness on the Web. In this paper we propose a straightforward step toward the improvement of this situation that is simple to realize and yet effective: Advanced module systems that make partitioning of (a) the evaluation and (b) the conceptual design of complex Web queries possible. They provide the query programmer with a powerful, but easy to use high-level abstraction for packaging, encapsulating, and reusing conceptually related parts (in our case, rules) of a Web query. The proposed module system combines ease of use thanks to a simple core concept, the partitioning of rules and their consequences in flexible “stores”, with ease of deployment thanks to a reduction semantics. We focus on extending the rule-based Semantic Web query language Xcerpt with such a module system though the same approach can be applied to other (rule-based) languages as well

    Declarative Specification

    Get PDF
    Deriving formal specifications from informal requirements is extremely difficult since one has to overcome the conceptual gap between an application domain and the domain of formal specification methods. To reduce this gap we introduce application-specific specification languages, i.e., graphical and textual notations that can be unambiguously mapped to formal specifications in a logic language. We describe a number of realised approaches based on this idea, and evaluate them with respect to their domain specificity vs. generalit

    Specifying Logic Programs in Controlled Natural Language

    Full text link
    Writing specifications for computer programs is not easy since one has to take into account the disparate conceptual worlds of the application domain and of software development. To bridge this conceptual gap we propose controlled natural language as a declarative and application-specific specification language. Controlled natural language is a subset of natural language that can be accurately and efficiently processed by a computer, but is expressive enough to allow natural usage by non-specialists. Specifications in controlled natural language are automatically translated into Prolog clauses, hence become formal and executable. The translation uses a definite clause grammar (DCG) enhanced by feature structures. Inter-text references of the specification, e.g. anaphora, are resolved with the help of discourse representation theory (DRT). The generated Prolog clauses are added to a knowledge base. We have implemented a prototypical specification system that successfully processes the specification of a simple automated teller machine.Comment: 16 pages, compressed, uuencoded Postscript, published in Proceedings CLNLP 95, COMPULOGNET/ELSNET/EAGLES Workshop on Computational Logic for Natural Language Processing, Edinburgh, April 3-5, 199

    Instructional strategies and tactics for the design of introductory computer programming courses in high school

    Get PDF
    This article offers an examination of instructional strategies and tactics for the design of introductory computer programming courses in high school. We distinguish the Expert, Spiral and Reading approach as groups of instructional strategies that mainly differ in their general design plan to control students' processing load. In order, they emphasize topdown program design, incremental learning, and program modification and amplification. In contrast, tactics are specific design plans that prescribe methods to reach desired learning outcomes under given circumstances. Based on ACT* (Anderson, 1983) and relevant research, we distinguish between declarative and procedural instruction and present six tactics which can be used both to design courses and to evaluate strategies. Three tactics for declarative instruction involve concrete computer models, programming plans and design diagrams; three tactics for procedural instruction involve worked-out examples, practice of basic cognitive skills and task variation. In our evaluation of groups of instructional strategies, the Reading approach has been found to be superior to the Expert and Spiral approaches

    Some Theoritical Considerations of English Language Teaching Curriculum Development

    Full text link
    Teaching language in classroom at all levels in ELT curriculum sets up the main goal to learn and to teach language as to achieve discourse competence oral or written. Discourse means texts whether transactional or inter-personal written or oral. This means that students can do many types of action using language in a specific context such as in classroom, but this does not mean that they are not being taught other things out side of the classroom environment around them. The supporting competencies (linguistic, socio-culture) can include many themes and topics as presented in each subcomponents in competency. There are four steps of language learning can be applied and planned by teachers before teaching. Building knowledge of the field: guiding students to understand/elicit the main principles of the materials. Example, writing simple transactional conversation text. Modeling of the text: teachers give model of what they are doing. Teachers present an example of the transactional conversation text. Joint construction: collaborate with students while they are doing the simple conversational transactional text. Independent construction: let them do the simple conversational transactional text independently

    On Affine Logic and {\L}ukasiewicz Logic

    Full text link
    The multi-valued logic of {\L}ukasiewicz is a substructural logic that has been widely studied and has many interesting properties. It is classical, in the sense that it admits the axiom schema of double negation, [DNE]. However, our understanding of {\L}ukasiewicz logic can be improved by separating its classical and intuitionistic aspects. The intuitionistic aspect of {\L}ukasiewicz logic is captured in an axiom schema, [CWC], which asserts the commutativity of a weak form of conjunction. This is equivalent to a very restricted form of contraction. We show how {\L}ukasiewicz Logic can be viewed both as an extension of classical affine logic with [CWC], or as an extension of what we call \emph{intuitionistic} {\L}ukasiewicz logic with [DNE], intuitionistic {\L}ukasiewicz logic being the extension of intuitionistic affine logic by the schema [CWC]. At first glance, intuitionistic affine logic seems very weak, but, in fact, [CWC] is surprisingly powerful, implying results such as intuitionistic analogues of De Morgan's laws. However the proofs can be very intricate. We present these results using derived connectives to clarify and motivate the proofs and give several applications. We give an analysis of the applicability to these logics of the well-known methods that use negation to translate classical logic into intuitionistic logic. The usual proofs of correctness for these translations make much use of contraction. Nonetheless, we show that all the usual negative translations are already correct for intuitionistic {\L}ukasiewicz logic, where only the limited amount of contraction given by [CWC] is allowed. This is in contrast with affine logic for which we show, by appeal to results on semantics proved in a companion paper, that both the Gentzen and the Glivenko translations fail.Comment: 28 page
    • 

    corecore