229,307 research outputs found

    Introduction to Iltis: An Interactive, Web-Based System for Teaching Logic

    Full text link
    Logic is a foundation for many modern areas of computer science. In artificial intelligence, as a basis of database query languages, as well as in formal software and hardware verification --- modelling scenarios using logical formalisms and inferring new knowledge are important skills for going-to-be computer scientists. The Iltis project aims at providing a web-based, interactive system that supports teaching logical methods. In particular the system shall (a) support to learn to model knowledge and to infer new knowledge using propositional logic, modal logic and first-order logic, and (b) provide immediate feedback and support to students. This article presents a prototypical system that currently supports the above tasks for propositional logic. First impressions on its use in a second year logic course for computer science students are reported

    IICADS--integrated interactive computer aided design system

    Get PDF
    This research has three goals. The first goal is to develop a software interface (supervisor) to support and control a variety of interactive subsystem modules; thus eliminating manual scheduling of interactive jobs. The second goal is to develop a common methodology for interactive subsystem design. The third goal is to develop a linear systems analysis package using the facilities developed under the first two goals. A software interface (supervisor) to support and control a variety of interactive subsystem modules is described. The supervisor operates under the constraints of a large multiprogramming variable task operating system as opposed to a time sharing system. The supervisor not only eliminates the manual scheduling of interactive jobs, but also provides interactive users with a powerful dynamic linking mechanism. The supervisor permits the access of disk stored interactive modules in a random fashion. A methodology for developing interactive subsystems is presented. The problems of communicating between different high level languages are investigated and solutions are presented. In particular, a problem oriented language, interactive translator, is implemented using PL/1. The graphics service routines for this translator are coded in FORTRAN and ASSEMBLER languages. The techniques for adding graphics routines to existing programs, especially simulation languages, are formalized. A computer aided design program to assist in the initial phases of linear systems design is described. This program, developed for use at an on-line graphics terminal, allows the designer to describe a linear system in standard control engineering terms, and experiment with design alternatives during initial creative design phases --Abstract, pages ii-iii

    Principal typings for interactive ruby programming

    Get PDF
    A novel and promising method of software development is the interactive style of development, where code is written and incrementally tested simultaneously. Interpreted dynamic languages such as Ruby, Python, and Lua support this interactive development style. However, because they lack semantic analysis as part of a compilation phase, they do not provide type-checking. The programmer is only informed of type errors when they are encountered in the execution of the program–far too late and often at a less-informative location in the code. We introduce a typing system for Ruby, where types will be determined before execution by inferring principal typings. This system overcomes the obstacles that interactive and dynamic program development imposes on type checking; yielding an effective type-checking facility for dynamic programming languages. Our development is embodied as an extension to irb, the Ruby interactive mode, allowing us to evaluate principal typings for interactive development

    Calico: a multi-programming-language, multi-context framework designed for computer science education

    Get PDF
    The Calico project is a multi-language, multi-context programming framework and learning environment for computing education. This environment is designed to support several interoperable programming languages (including Python, Scheme, and a visual programming language), a variety of pedagogical contexts (including scientific visualization, robotics, and art), and an assortment of physical devices (including different educational robotics platforms and a variety of physical sensors). In addition, the environment is designed to support collaboration and modern, interactive learning. In this paper we describe the Calico project, its design and goals, our prototype system, and its current use

    Knowledge-based systems and geological survey

    Get PDF
    This personal and pragmatic review of the philosophy underpinning methods of geological surveying suggests that important influences of information technology have yet to make their impact. Early approaches took existing systems as metaphors, retaining the separation of maps, map explanations and information archives, organised around map sheets of fixed boundaries, scale and content. But system design should look ahead: a computer-based knowledge system for the same purpose can be built around hierarchies of spatial objects and their relationships, with maps as one means of visualisation, and information types linked as hypermedia and integrated in mark-up languages. The system framework and ontology, derived from the general geoscience model, could support consistent representation of the underlying concepts and maintain reference information on object classes and their behaviour. Models of processes and historical configurations could clarify the reasoning at any level of object detail and introduce new concepts such as complex systems. The up-to-date interpretation might centre on spatial models, constructed with explicit geological reasoning and evaluation of uncertainties. Assuming (at a future time) full computer support, the field survey results could be collected in real time as a multimedia stream, hyperlinked to and interacting with the other parts of the system as appropriate. Throughout, the knowledge is seen as human knowledge, with interactive computer support for recording and storing the information and processing it by such means as interpolating, correlating, browsing, selecting, retrieving, manipulating, calculating, analysing, generalising, filtering, visualising and delivering the results. Responsibilities may have to be reconsidered for various aspects of the system, such as: field surveying; spatial models and interpretation; geological processes, past configurations and reasoning; standard setting, system framework and ontology maintenance; training; storage, preservation, and dissemination of digital records

    "State-based Control Language a State-based, Interrupt-driven, Concurrent Language with Error Detection and Recovery"

    Get PDF
    A programming environment to support interactive, concurrent programming for Miarni University's Flexible Manufacturing System is described. The environment is intended to replace the existing extended cell programming language (ECPL), which was sequential in nature, to a state-driven one in order to support concurrency. The system has been altered from being sequential to reactive and is interrupt driven. This also enhances error detection and recovery capabilities. This paper will address the topics of Flexible Manufacturing Systems (FMS) and programming languages for manufacturing control, and will then develop a criteria for analyzing a FMS programming language. Based on that criteria, the former ECPL language will be discussed and analyzed to address problems in ECPL. The paper will conclude with an analysis of the new system outlining areas for further investigation and improvement

    Beyond Notations: Hygienic Macro Expansion for Theorem Proving Languages

    Get PDF
    In interactive theorem provers (ITPs), extensible syntax is not only crucial to lower the cognitive burden of manipulating complex mathematical objects, but plays a critical role in developing reusable abstractions in libraries. Most ITPs support such extensions in the form of restrictive "syntax sugar" substitutions and other ad hoc mechanisms, which are too rudimentary to support many desirable abstractions. As a result, libraries are littered with unnecessary redundancy. Tactic languages in these systems are plagued by a seemingly unrelated issue: accidental name capture, which often produces unexpected and counterintuitive behavior. We take ideas from the Scheme family of programming languages and solve these two problems simultaneously by proposing a novel hygienic macro system custom-built for ITPs. We further describe how our approach can be extended to cover type-directed macro expansion resulting in a single, uniform system offering multiple abstraction levels that range from supporting simplest syntax sugars to elaboration of formerly baked-in syntax. We have implemented our new macro system and integrated it into the upcoming version (v4) of the Lean theorem prover. Despite its expressivity, the macro system is simple enough that it can easily be integrated into other systems.Comment: accepted to IJCAR 202
    • …
    corecore