62 research outputs found

    DiaSuite:A Paradigm-Oriented Software Development Approach (invited paper)

    Get PDF
    International audienceWe present a software development approach, whose underlying paradigm goes beyond programming. This approach offers a language-based design framework, high-level programming support, a range of verifications, and an abstraction layer over lowlevel technologies. Our approach is instantiated with the Sense- Compute-Control paradigm, and uniformly integrated into a suite of declarative languages and tools

    Synbit:Synthesizing Bidirectional Programs using Unidirectional Sketches

    Get PDF

    A Falsification View of Success Typing

    Full text link
    Dynamic languages are praised for their flexibility and expressiveness, but static analysis often yields many false positives and verification is cumbersome for lack of structure. Hence, unit testing is the prevalent incomplete method for validating programs in such languages. Falsification is an alternative approach that uncovers definite errors in programs. A falsifier computes a set of inputs that definitely crash a program. Success typing is a type-based approach to document programs in dynamic languages. We demonstrate that success typing is, in fact, an instance of falsification by mapping success (input) types into suitable logic formulae. Output types are represented by recursive types. We prove the correctness of our mapping (which establishes that success typing is falsification) and we report some experiences with a prototype implementation.Comment: extended versio

    PySke: Algorithmic Skeletons for Python

    Get PDF
    International audiencePySke is a library of parallel algorithmic skeletons in Python designed for list and tree data structures. Such algorithmic skeletons are high-order functions implemented in parallel. An application developed with PySke is a composition of skeletons. To ease the write of parallel programs, PySke does not follow the Single Program Multiple Data (SPMD) paradigm but offers a global view of parallel programs to users. This approach aims at writing scalable programs easily. In addition to the library, we present experiments performed on a high-performance computing cluster (distributed memory) on a set of example applications developed with PySke

    A Framework for Resource Dependent EDSLs in a Dependently Typed Language (Pearl)

    Get PDF
    Idris' Effects library demonstrates how to embed resource dependent algebraic effect handlers into a dependently typed host language, providing run-time and compile-time based reasoning on type-level resources. Building upon this work, Resources is a framework for realising Embedded Domain Specific Languages (EDSLs) with type systems that contain domain specific substructural properties. Differing from Effects, Resources allows a language’s substructural properties to be encoded within type-level resources that are associated with language variables. Such an association allows for multiple effect instances to be reasoned about autonomically and without explicit type-level declaration. Type-level predicates are used as proof that the language’s substructural properties hold. Several exemplar EDSLs are presented that illustrates our framework’s operation and how dependent types provide correctness-by-construction guarantees that substructural properties of written programs hold

    Phosphonate biogeochemical cycling in the marine environment: from an ocean scale to a molecular scale

    Get PDF
    Submitted in partial fulfillment of the requirements for the degree of Doctor of Philosophy in Chemical Oceanography at the Massachusetts Institute of Technology and the Woods Hole Oceanographic Institution June 2021.The existence of a marine phosphorus (P) redox cycle was recently confirmed when phosphonates, organophosphorus compounds with P in the (III) oxidation state, were found in high molecular weight dissolved organic matter. Although some features of the P redox cycle have come to light since the discovery of phosphonates, many aspects of phosphonate production, cycling and fate remain unknown. To address these gaps in our understanding, we studied phosphonate cycling in the Eastern Mediterranean Sea, a chronically P-limited basin, using 33P and enzymatic assays. We showed that phosphonate production was low but consumption was high, suggesting that phosphonate production and consumption may be spatially or temporally decoupled. We also explored phosphonate production in the model marine cyanobacterium Prochlorococcus SB. Using 31P NMR, we found Prochlorococcus SB allocates ~50% of its cellular P to phosphonates. Allocation of P to phosphonates was conserved under P-limitation, and further investigation revealed phosphonates were associated with proteins. The discovery of phosphonoproteins in Prochlorococcus SB opens new perspectives on the biochemical function of phosphonates and their role in P-cycling. Finally, we developed a new P-targeted method to characterize marine organophosphorus compounds using liquid chromatography coupled to electrospray ionization and inductively coupled plasma mass spectrometry.This work was supported by the Simons Foundation under grant numbers POP49476 and 721227 [D. Repeta], the Gordon and Betty Moore Foundation under the grant number 6000 [D. Repeta] and the National Science Foundation OCE under the grant number 1634080 [D. Repeta]
    • …
    corecore