51 research outputs found

    A Language for Configuring Multi-level Specifications

    Get PDF
    This paper shows how systems can be built from their component parts with specified sharing. Its principle contribution is a modular language for configuring systems. A configuration is a description in the new language of how a system is constructed hierarchically from specifications of its component parts. Category theory has been used to represent the composition of specifications that share a component part by constructing colimits of diagrams. We reformulated this application of category theory to view both configured specifications and their diagrams as algebraic presentations of presheaves. The framework of presheaves leads naturally to a configuration language that expresses structuring from instances of specifications, and also incorporates a new notion of instance reduction to extract the component instances from a particular configuration. The language now expresses the hierarchical structuring of multi-level configured specifications. The syntax is simple because it is independent of any specification language; structuring a diagram to represent a configuration is simple because there is no need to calculate a colimit; and combining specifications is simple because structuring is by configuration morphisms with no need to flatten either specifications or their diagrams to calculate colimits

    Complexity Theory and the Operational Structure of Algebraic Programming Systems

    Get PDF
    An algebraic programming system is a language built from a fixed algebraic data abstraction and a selection of deterministic, and non-deterministic, assignment and control constructs. First, we give a detailed analysis of the operational structure of an algebraic data type, one which is designed to classify programming systems in terms of the complexity of their implementations. Secondly, we test our operational description by comparing the computations in deterministic and non-deterministic programming systems under certain space and time restrictions

    Comparing theories: the dynamics of changing vocabulary. A case-study in relativity theory

    Full text link
    There are several first-order logic (FOL) axiomatizations of special relativity theory in the literature, all looking essentially different but claiming to axiomatize the same physical theory. In this paper, we elaborate a comparison, in the framework of mathematical logic, between these FOL theories for special relativity. For this comparison, we use a version of mathematical definability theory in which new entities can also be defined besides new relations over already available entities. In particular, we build an interpretation of the reference-frame oriented theory SpecRel into the observationally oriented Signalling theory of James Ax. This interpretation provides SpecRel with an operational/experimental semantics. Then we make precise, "quantitative" comparisons between these two theories via using the notion of definitional equivalence. This is an application of logic to the philosophy of science and physics in the spirit of Johan van Benthem's work.Comment: 27 pages, 8 figures. To appear in Springer Book series Trends in Logi

    The C++0x "Concepts" Effort

    Full text link
    C++0x is the working title for the revision of the ISO standard of the C++ programming language that was originally planned for release in 2009 but that was delayed to 2011. The largest language extension in C++0x was "concepts", that is, a collection of features for constraining template parameters. In September of 2008, the C++ standards committee voted the concepts extension into C++0x, but then in July of 2009, the committee voted the concepts extension back out of C++0x. This article is my account of the technical challenges and debates within the "concepts" effort in the years 2003 to 2009. To provide some background, the article also describes the design space for constrained parametric polymorphism, or what is colloquially know as constrained generics. While this article is meant to be generally accessible, the writing is aimed toward readers with background in functional programming and programming language theory. This article grew out of a lecture at the Spring School on Generic and Indexed Programming at the University of Oxford, March 2010

    Algebraic representation of language hierarchies

    Get PDF

    Theories, Implementations, and Transformations

    Get PDF
    Abstract. The purpose of this paper is to try to put theory presentation and structuring in the simplest possible logical setting in order to improve our understanding of it. We look at how theories can be combined, and compared for strength. We look at theory refinement and implementation, and what constitutes proof of correctness. Our examples come from both the functional style and imperative (state-changing) style of theory. Finally, we explore how one implementation can be transformed to another.

    A bibliography on formal methods for system specification, design and validation

    Get PDF
    Literature on the specification, design, verification, testing, and evaluation of avionics systems was surveyed, providing 655 citations. Journal papers, conference papers, and technical reports are included. Manual and computer-based methods were employed. Keywords used in the online search are listed

    Combining different implementations of types in a program

    Get PDF
    This paper presents a methodology to support the existence of multiple type implementations when programming with a modular, abstract-data-type oriented language. Multiple implementations arise from the need to separate specifications and implementations in programs: objects are declared of a type according to their expected behaviour and later they are attached to an implementation according to their efficiency requirements; so, different objects of the same type may be attached to different implementations. Implementations may be selected by means of ad hoc language constructs in the appropriate contexts; another language construct, the abstraction function, allows implicit switching between implementations during execution. As an additional advantage, the abstraction function supports prototyping of incomplete programs provided that there exists an operational specification for non-implemented types.Peer ReviewedPostprint (author's final draft

    Deductive Biocomputing

    Get PDF
    BACKGROUND: As biologists increasingly rely upon computational tools, it is imperative that they be able to appropriately apply these tools and clearly understand the methods the tools employ. Such tools must have access to all the relevant data and knowledge and, in some sense, “understand” biology so that they can serve biologists' goals appropriately and “explain” in biological terms how results are computed. METHODOLOGY/PRINCIPAL FINDINGS: We describe a deduction-based approach to biocomputation that semiautomatically combines knowledge, software, and data to satisfy goals expressed in a high-level biological language. The approach is implemented in an open source web-based biocomputing platform called BioDeducta, which combines SRI's SNARK theorem prover with the BioBike interactive integrated knowledge base. The biologist/user expresses a high-level conjecture, representing a biocomputational goal query, without indicating how this goal is to be achieved. A subject domain theory, represented in SNARK's logical language, transforms the terms in the conjecture into capabilities of the available resources and the background knowledge necessary to link them together. If the subject domain theory enables SNARK to prove the conjecture—that is, to find paths between the goal and BioBike resources—then the resulting proofs represent solutions to the conjecture/query. Such proofs provide provenance for each result, indicating in detail how they were computed. We demonstrate BioDeducta by showing how it can approximately replicate a previously published analysis of genes involved in the adaptation of cyanobacteria to different light niches. CONCLUSIONS/SIGNIFICANCE: Through the use of automated deduction guided by a biological subject domain theory, this work is a step towards enabling biologists to conveniently and efficiently marshal integrated knowledge, data, and computational tools toward resolving complex biological queries
    • …
    corecore