69 research outputs found

    The problem of programming language concurrency semantics

    Get PDF
    Despite decades of research, we do not have a satisfactory concurrency semantics for any general-purpose programming language that aims to support concurrent systems code. The Java Memory Model has been shown to be unsound with respect to standard compiler optimisations, while the C/C++11 model is too weak, admitting undesirable thin-air executions. Our goal in this paper is to articulate this major open problem as clearly as is currently possible, showing how it arises from the combination of multiprocessor relaxed-memory behaviour and the desire to accommodate current compiler optimisations. We make several novel contributions that each shed some light on the problem, constraining the possible solutions and identifying new difficulties. First we give a positive result, proving in HOL4 that the existing axiomatic model for C/C++11 guarantees sequentially consistent semantics for simple race-free programs that do not use low-level atomics (DRF-SC, one of the core design goals). We then describe the thin-air problem and show that it cannot be solved, without restricting current compiler optimisations, using any per-candidate-execution condition in the style of the C/C++11 model. Thin-air executions were thought to be confined to programs using relaxed atomics, but we further show that they recur when one attempts to integrate the concurrency model with more of C, mixing atomic and nonatomic accesses, and that also breaks the DRF-SC result. We then describe a semantics based on an explicit operational construction of out-of-order execution, giving the desired behaviour for thin-air examples but exposing further difficulties with accommodating existing compiler optimisations. Finally, we show that there are major difficulties integrating concurrency semantics with the C/C++ notion of undefined behaviour. We hope thereby to stimulate and enable research on this key issue

    Finding flies in the mushroom soup : Host specificity of fungus-associated communities revisited with a novel molecular method

    Get PDF
    Fruiting bodies of fungi constitute an important resource for thousands of other taxa. The structure of these diverse assemblages has traditionally been studied with labour-intensive methods involving cultivation and morphology-based species identification, to which molecular information might offer convenient complements. To overcome challenges in DNA extraction and PCR associated with the complex chemical properties of fruiting bodies, we developed a pipeline applicable for extracting amplifiable total DNA from soft fungal samples of any size. Our protocol purifies DNA in two sequential steps: (a) initial salt-isopropanol extraction of all nucleic acids in the sample is followed by (b) an extra clean-up step using solid-phase reversible immobilization (SPRI) magnetic beads. The protocol proved highly efficient, with practically all of our samples-regardless of biomass or other properties-being successfully PCR-amplified using metabarcoding primers and subsequently sequenced. As a proof of concept, we apply our methods to address a topical ecological question: is host specificity a major characteristic of fungus-associated communities, that is, do different fungus species harbour different communities of associated organisms? Based on an analysis of 312 fungal fruiting bodies representing 10 species in five genera from three orders, we show that molecular methods are suitable for studying this rich natural microcosm. Comparing to previous knowledge based on rearing and morphology-based identifications, we find a species-rich assemblage characterized by a low degree of host specialization. Our method opens up new horizons for molecular analyses of fungus-associated interaction webs and communities.Peer reviewe

    Advances in Property-Based Testing for αProlog

    Get PDF
    α\alphaCheck is a light-weight property-based testing tool built on top of α\alphaProlog, a logic programming language based on nominal logic. α\alphaProlog is particularly suited to the validation of the meta-theory of formal systems, for example correctness of compiler translations involving name-binding, alpha-equivalence and capture-avoiding substitution. In this paper we describe an alternative to the negation elimination algorithm underlying α\alphaCheck that substantially improves its effectiveness. To substantiate this claim we compare the checker performances w.r.t. two of its main competitors in the logical framework niche, namely the QuickCheck/Nitpick combination offered by Isabelle/HOL and the random testing facility in PLT-Redex.Comment: To appear, Tests and Proofs 2016; includes appendix with details not in the conference versio

    USE OF SMALL ANGLE NEUTRON SCATTERING AND X-RAY POWDER DIFFRACTION WITH THE RIETVELD METHOD IN THE ASSESSMENT OF FIRING CONDITIONS IN HISTORICAL FIRED-CLAY BRICKS

    No full text
    It is well-known that the description of the complexity of fired-clay bricks can be tackled only by integrating information from different analytical techniques [1]. At the same time, a nondestructive or low impact approach, aimed at the conservation of cultural heritage objects, is prompting for the search of new analytical methods for their characterisation. As a widely accepted practice, in restoration works, the best compatible materials should be employed. To this aim, the characterization of the original bricks is essential in order to choose the most suitable replacement material and prevent further damages. Mechanical properties and performance of fired-clay bricks are directly related to their microstructure and mineralogical composition, which in turn depend upon the employed raw clay and firing temperature. In this work, the potential of small angle neutron scattering (SANS) and X-ray powder diffraction (XRPD) with the Rietveld method (including the quantification of the amorphous fraction), is evaluated in the investigation of historical fired-clay bricks. SANS is a powerful tool for the characterization of the microstructure of porous solids. In bricks, XRPD allows to identify and quantify the minerals and the amorphous fraction, in order to describe the phase transformations taking place during firing [1,2]. Bricks produced from 2 raw clays have been fired at 5 temperatures (from 800 to 1100 in laboratory. Results have been used to derive information on the firing process experienced by a number of historical fired-clay bricks produced in Czech Republic. SANS allowed to retrieve the pore size distribution, characterise the fractal surface of pores as well as suggest an empirical relationship between surface area per unit volume of pores and firing temperature. The fractal quality of the surface area of pores is also suggested as a method to distinguish between bricks produced from different raw clays. Unit-cell parameter of spinel and amount of hematite (phases detected in the fired bricks) from XRPD are proposed as indicators of the firing conditions

    The investigation of calcium carbonate formation using micro-Raman spectroscopy

    No full text
    Calcium carbonate (CaCO3) has got significant importance in nature and in several industrial processes. In its different mineral modifications, calcium carbonate is highly abundant in the earth crust, occurring as calcite, aragonite and vaterite (anhydrous crystalline polymorphs) or ikaite (calcium carbonate hexahydrate), calcium carbonate monohydrate, (hydrated crystal forms) and amorphous calcium carbonate (ACC). The CaCO3 can be formed during the process of biomineralization or synthetically with using gas diffusion method or mixing supersaturated solutions containing calcium cations and carbonate anions. The so-called carbonation reaction, plays a crucial role in hardening of lime mortars, a class of binders of relevance in culture heritage conservation. During this process, the CaCO3 is formed from Ca(OH)2 that uptake atmospheric CO2 in aqueous medium. This contribution is focused on the investigation with micro-Raman spectroscopy of CaCO3 modifications appeared during the synthesis from supersaturated aqueous calcium chloride and potassium carbonate solutions, under different reaction conditions [1], as well as during the carbonation reaction [2,3]

    Chemical Analysis of Historic Lime Mortars: Role of Sample Preparation

    No full text
    The characterization of historic lime mortars is crucial for many cultural heritage conservation issues. In this work, the characterization of a historical lime mortar is described. Samples for chemical analysis were obtained after different milling times and using the RILEM acid digestion method on several replicates. Qualitative and quantitative determination of phases in the mortar and in the residues after acid attack and the potential presence of CaCO3 polymorphs, were accomplished with X-ray powder diffraction. Results suggest that representativeness of the sample and the homogenisation, although not always achievable in conservation practice, are strongly affecting results
    corecore