838 research outputs found

    Moving from conceptual ambiguity to operational clarity: Employability, enterprise and entrepreneurship in higher education

    Get PDF
    Purpose – The purpose of this paper is to discuss how the terms “employability”, “enterprise” and “entrepreneurship” are currently being used, often interchangeably, within higher education, and to propose how to clarify this issue with the terminology. Design/methodology/approach – The approach taken is to discuss the three terms and some of their current conceptualisations and suggest ways to clarify the terminology. Possible methods of operationalising the three concepts within higher education are also suggested. Findings – Employability, enterprise and entrepreneurship are high on the agendas of many higher education institutions. There is a crucial need for agreement on definitions particularly when strategies are being implemented. It is suggested that currently the terminology is often used carelessly and interchangeably, resulting in confusion for HE staff, students and employers. Originality/value – The paper offers a clear way of defining the concepts and will be of value to anybody with an interest in employability, enterprise or entrepreneurship within higher education

    Clarifying and compiling C/C++ concurrency: from C++11 to POWER

    Get PDF
    The upcoming C and C++ revised standards add concurrency to the languages, for the first time, in the form of a subtle *relaxed memory model* (the *C++11 model*). This aims to permit compiler optimisation and to accommodate the differing relaxed-memory behaviours of mainstream multiprocessors, combining simple semantics for most code with high-performance *low-level atomics* for concurrency libraries. In this paper, we first establish two simpler but provably equivalent models for C++11, one for the full language and another for the subset without consume operations. Subsetting further to the fragment without low-level atomics, we identify a subtlety arising from atomic initialisation and prove that, under an additional condition, the model is equivalent to sequential consistency for race-free programs

    Synchronising C/C++ and POWER

    Get PDF
    Shared memory concurrency relies on synchronisation primitives: compare-and-swap, load-reserve/store-conditional (aka LL/SC), language-level mutexes, and so on. In a sequentially consistent setting, or even in the TSO setting of x86 and Sparc, these have well-understood semantics. But in the very relaxed settings of IBMÂź, POWERÂź, ARM, or C/C++, it remains surprisingly unclear exactly what the programmer can depend on. This paper studies relaxed-memory synchronisation. On the hardware side, we give a clear semantic characterisation of the load-reserve/store-conditional primitives as provided by POWER multiprocessors, for the first time since they were introduced 20 years ago; we cover their interaction with relaxed loads, stores, barriers, and dependencies. Our model, while not officially sanctioned by the vendor, is validated by extensive testing, comparing actual implementation behaviour against an oracle generated from the model, and by detailed discussion with IBM staff. We believe the ARM semantics to be similar. On the software side, we prove sound a proposed compilation scheme of the C/C++ synchronisation constructs to POWER, including C/C++ spinlock mutexes, fences, and read-modify-write operations, together with the simpler atomic operations for which soundness is already known from our previous work; this is a first step in verifying concurrent algorithms that use load-reserve/store-conditional with respect to a realistic semantics. We also build confidence in the C/C++ model in its own terms, fixing some omissions and contributing to the C standards committee adoption of the C++11 concurrency model

    Acute: high-level programming language design for distributed computation

    No full text
    Existing languages provide good support for typeful programming of standalone programs. In a distributed system, however, there may be interaction between multiple instances of many distinct programs, sharing some (but not necessarily all) of their module structure, and with some instances rebuilt with new versions of certain modules as time goes on. In this paper we discuss programming language support for such systems, focussing on their typing and naming issues. We describe an experimental language, Acute, which extends an ML core to support distributed development, deployment, and execution, allowing type-safe interaction between separately-built programs. The main features are: (1) type-safe marshalling of arbitrary values; (2) type names that are generated (freshly and by hashing) to ensure that type equality tests suffice to protect the invariants of abstract types, across the entire distributed system; (3) expression-level names generated to ensure that name equality tests suffice for type-safety of associated values, e.g. values carried on named channels; (4) controlled dynamic rebinding of marshalled values to local resources; and (5) thunkification of threads and mutexes to support computation mobility. These features are a large part of what is needed for typeful distributed programming. They are a relatively lightweight extension of ML, should be efficiently implementable, and are expressive enough to enable a wide variety of distributed infrastructure layers to be written as simple library code above the byte-string network and persistent store APIs. This disentangles the language runtime from communication intricacies. This paper highlights the main design choices in Acute. It is supported by a full language definition (of typing, compilation, and operational semantics), by a prototype implementation, and by example distribution libraries

    Mathematizing C++ concurrency

    Get PDF
    Shared-memory concurrency in C and C++ is pervasive in systems programming, but has long been poorly defined. This motivated an ongoing shared effort by the standards committees to specify concurrent behaviour in the next versions of both languages. They aim to provide strong guarantees for race-free programs, together with new (but subtle) relaxed-memory atomic primitives for high-performance concurrent code. However, the current draft standards, while the result of careful deliberation, are not yet clear and rigorous definitions, and harbour substantial problems in their details. In this paper we establish a mathematical (yet readable) semantics for C++ concurrency. We aim to capture the intent of the current (`Final Committee') Draft as closely as possible, but discuss changes that fix many of its problems. We prove that a proposed x86 implementation of the concurrency primitives is correct with respect to the x86-TSO model, and describe our Cppmem tool for exploring the semantics of examples, using code generated from our Isabelle/HOL definitions. Having already motivated changes to the draft standard, this work will aid discussion of any further changes, provide a correctness condition for compilers, and give a much-needed basis for analysis and verification of concurrent C and C++ programs

    Effectiveness and cost-effectiveness of a universal parenting skills programme in deprived communities : multicentre randomised controlled trial

    Get PDF
    Objective: To evaluate the effectiveness and cost utility of a universally provided early years parenting programme. Design: Multicentre randomised controlled trial with cost-effectiveness analysis. Setting: Early years centres in four deprived areas of South Wales. Participants: Families with children aged between 2 and 4 years. 286 families were recruited and randomly allocated to the intervention or waiting list control. Intervention: The Family Links Nurturing Programme (FLNP), a 10-week course with weekly 2 h facilitated group sessions. Main outcome measures: Negative and supportive parenting, child and parental well-being and costs assessed before the intervention, following the course (3 months) and at 9 months using standardised measures. Results: There were no significant differences in primary or secondary outcomes between trial arms at 3 or 9 months. With ‘+’ indicating improvement, difference in change in negative parenting score at 9 months was +0.90 (95%CI −1.90 to 3.69); in supportive parenting, +0.17 (95%CI −0.61 to 0.94); and 12 of the 17 secondary outcomes showed a non-significant positive effect in the FLNP arm. Based on changes in parental well-being (SF-12), the cost per quality-adjusted life year (QALY) gained was estimated to be £34 913 (range 21 485–46 578) over 5 years and £18 954 (range 11 664–25 287) over 10 years. Probability of cost per QALY gained below £30 000 was 47% at 5 years and 57% at 10 years. Attendance was low: 34% of intervention families attended no sessions (n=48); only 47% completed the course (n=68). Also, 19% of control families attended a parenting programme before 9-month follow-up. Conclusions: Our trial has not found evidence of clinical or cost utility for the FLNP in a universal setting. However, low levels of exposure and contamination mean that uncertainty remains. Trial registration: The trial is registered with Current Controlled Trials ISRCTN13919732

    The contribution of volunteer recorders to our understanding of biological invasions

    Get PDF
    The process of invasion and the desire to predict the invasiveness (and associated impacts) of new arrivals has been a focus of attention for ecologists over centuries. The volunteer recording community has made unique and inspiring contributions to our understanding of invasion biology within Britain. Indeed information on non-native species (NNS) compiled within the GB Non-Native Species Information Portal (GB-NNSIP) would not have been possible without the involvement of volunteer experts from across Britain. Here we review examples of ways in which biological records have informed invasion biology. We specifically examine NNS information available within the GB-NNSIP to describe patterns in the arrival and establishment of NNS providing an overview of habitat associations of NNS in terrestrial, marine and freshwater environments. Monitoring and surveillance of the subset of NNS that are considered to be adversely affecting biodiversity, society or the economy, termed invasive non-native species (INNS), is critical for early warning and rapid response. Volunteers are major contributors to monitoring and surveillance of INNS and not only provide records from across Britain but also underpin the system of verification necessary to confirm the identification of sightings. Here we describe the so-called ‘alert system’ which links volunteer experts with the wider recording community to provide early warning of INNS occurrence. We highlight the need to increase understanding of community and ecosystem-level effects of invasions and particularly understanding of ecological resilience. Detailed field observations, through biological recording, will provide the spatial, temporal and taxonomic breadth required for such research. The role of the volunteer recording community in contributing to the understanding of invasion biology has been invaluable and it is clear that their expertise and commitment will continue to be so

    Intersection types for unbind and rebind

    Full text link
    We define a type system with intersection types for an extension of lambda-calculus with unbind and rebind operators. In this calculus, a term with free variables, representing open code, can be packed into an "unbound" term, and passed around as a value. In order to execute inside code, an unbound term should be explicitly rebound at the point where it is used. Unbinding and rebinding are hierarchical, that is, the term can contain arbitrarily nested unbound terms, whose inside code can only be executed after a sequence of rebinds has been applied. Correspondingly, types are decorated with levels, and a term has type decorated with k if it needs k rebinds in order to reduce to a value. With intersection types we model the fact that a term can be used differently in contexts providing different numbers of unbinds. In particular, top-level terms, that is, terms not requiring unbinds to reduce to values, should have a value type, that is, an intersection type where at least one element has level 0. With the proposed intersection type system we get soundness under the call-by-value strategy, an issue which was not resolved by previous type systems.Comment: In Proceedings ITRS 2010, arXiv:1101.410

    New England Coral Canyons and Seamounts

    Get PDF
    Just 150 miles off the coast of Cape Cod lie some of our country's greatest marine treasures. Hidden beneath thousands of feet of ocean, where the continental shelf drops off to the pitch-black abyss of the deep Atlantic Ocean, five massive canyons plunge down, some deeper than the Grand Canyon. Just beyond these canyons, four extinct underwater volcanoes – called seamounts – rise as high as 7,700 feet above the ocean floor, higher than any mountain east of the Rockies and the only such seamounts in U.S. Atlantic waters. The plunging walls and deep floors of the canyons and the towering slopes of the seamounts are alive with vivid coldwater corals of otherworldly beauty – some the size of small trees and centuries, if not thousands of years, old. These corals, together with other structure-forming fauna including sponges and anemones, form a foundation for vibrant deep-sea ecosystems, providing food, spawning habitat, and shelter for an array of fish and invertebrate species. The varied habitats and strong and complex currents of the canyons and seamounts also support significant and diverse concentrations of marine life throughout the water column. These deep-sea biodiversity hotspots are sites of active scientific exploration, investigations and discovery. The canyons and seamounts proposed for designation represent tremendous opportunities for further scientific exploration and education around deep-sea ecosystems. Importantly, these remote and relatively pristine areas function as a scientific reference site, giving researchers the chance to advance our understanding of undisturbed nature in a world otherwise transformed by humans. In recognition of this area's value, 141 eminent ocean scientists from 84 research institutions, along with the three major New England Aquaria and 226 accredited aquaria from around the world, have urged robust long-term protections for these "particularly outstanding examples" of New England's canyons and seamounts

    Innocent strategies as presheaves and interactive equivalences for CCS

    Get PDF
    Seeking a general framework for reasoning about and comparing programming languages, we derive a new view of Milner's CCS. We construct a category E of plays, and a subcategory V of views. We argue that presheaves on V adequately represent innocent strategies, in the sense of game semantics. We then equip innocent strategies with a simple notion of interaction. This results in an interpretation of CCS. Based on this, we propose a notion of interactive equivalence for innocent strategies, which is close in spirit to Beffara's interpretation of testing equivalences in concurrency theory. In this framework we prove that the analogues of fair and must testing equivalences coincide, while they differ in the standard setting.Comment: In Proceedings ICE 2011, arXiv:1108.014
    • 

    corecore