58 research outputs found

    A Universal Session Type for Untyped Asynchronous Communication

    Get PDF
    In the simply-typed lambda-calculus we can recover the full range of expressiveness of the untyped lambda-calculus solely by adding a single recursive type U = U -> U. In contrast, in the session-typed pi-calculus, recursion alone is insufficient to recover the untyped pi-calculus, primarily due to linearity: each channel just has two unique endpoints. In this paper, we show that shared channels with a corresponding sharing semantics (based on the language SILL_S developed in prior work) are enough to embed the untyped asynchronous pi-calculus via a universal shared session type U_S. We show that our encoding of the asynchronous pi-calculus satisfies operational correspondence and preserves observable actions (i.e., processes are weakly bisimilar to their encoding). Moreover, we clarify the expressiveness of SILL_S by developing an operationally correct encoding of SILL_S in the asynchronous pi-calculus

    Ferrite: A Judgmental Embedding of Session Types in Rust

    Get PDF
    This paper introduces Ferrite, a shallow embedding of session types in Rust. In contrast to existing session type libraries and embeddings for mainstream languages, Ferrite not only supports linear session types but also shared session types. Shared session types allow sharing (aliasing) of channels while preserving session fidelity (preservation) using type modalities for acquiring and releasing sessions. Ferrite adopts a propositions as types approach and encodes typing derivations as Rust functions, with the proof of successful type-checking manifesting as a Rust program. We provide an evaluation of Ferrite using Servo as a practical example, and demonstrate how safe communication can be achieved in the canvas component using Ferrite

    Logical Relations for Session-Typed Concurrency

    Full text link
    Program equivalence is the fulcrum for reasoning about and proving properties of programs. For noninterference, for example, program equivalence up to the secrecy level of an observer is shown. A powerful enabler for such proofs are logical relations. Logical relations only recently were adopted for session types -- but exclusively for terminating languages. This paper scales logical relations to general recursive session types. It develops a logical relation for progress-sensitive noninterference (PSNI) for intuitionistic linear logic session types (ILLST), tackling the challenges non-termination and concurrency pose, and shows that logical equivalence is sound and complete with regard to closure of weak bisimilarity under parallel composition, using a biorthogonality argument. A distinguishing feature of the logical relation is its stratification with an observation index (as opposed to a step or unfolding index), a crucial shift to make the logical relation closed under parallel composition in a concurrent setting. To demonstrate practicality of the logical relation, the paper develops an information flow control (IFC) refinement type system for ILLST, with support of secrecy-polymorphic processes, and shows that well-typed programs are self-related by the logical relation and thus enjoy PSNI. The refinement type system has been implemented in a type checker, featuring local security theories to support secrecy-polymorphic processes.Comment: arXiv admin note: text overlap with arXiv:2208.1374

    Comparison of the non-invasive Nexfin® monitor with conventional methods for the measurement of arterial blood pressure in moderate risk orthopaedic surgery patients

    Get PDF
    Objective Continuous invasive arterial blood pressure (IBP) monitoring remains the gold standard for BP measurement, but traditional oscillometric non- invasive intermittent pressure (NIBP) measurement is used in most low-to- moderate risk procedures. This study compared non-invasive continuous arterial BP measurement using a Nexfin® monitor with NIBP and IBP monitors. Methods This was a single-centre, prospective, pilot study in patients scheduled for elective orthopaedic surgery. Systolic BP, diastolic BP and mean arterial blood pressure (MAP) were measured by Nexfin®, IBP and NIBP at five intraoperative time-points. Pearson correlation coefficients, Bland–Altman plots and trending ability of Nexfin® measurements were used as criteria for success in the investigation of measurement reliability. Results A total of 20 patients were enrolled in the study. For MAP, there was a sufficient correlation between IBP/Nexfin® (Pearson = 0.75), which was better than the correlation between IBP/NIBP (Pearson = 0.70). Bland–Altman analysis of the data showed that compared with IBP, there was a higher percentage error for MAPNIBP (30%) compared with MAPNexfin® (27%). Nexfin® and NIBP underestimated systolic BP; NIBP also underestimated diastolic BP and MAP. Trending ability for MAPNexfin® and MAPNIBP were comparable to IBP. Conclusion Non-invasive BP measurement with Nexfin® was comparable with IBP and tended to be more precise than NIBP

    Penta­carbonyl-2κ5 C-chlorido-1κCl-bis­[1(η5)-cyclo­penta­dien­yl](μ-α-oxido­benzyl­idene-1:2κ2 O:C)titanium(IV)tungsten(0)

    Get PDF
    The title compound, [TiW(C5H5)2(C7H5O)Cl(CO)5], consists of two metal centres, with a (tungstenpenta­carbon­yl)oxy­phenyl­carbene unit coordinated by a titanocene chloride. The oxycarbene group is nearly planar, with the phenyl ring twisted by an angle of 39.1 (2)° with respect to this plane. One of the cyclo­penta­dienyl rings undergoes an offset face-to-face π–π inter­action [3.544 (6) Å] with the symmetry-related cyclo­penta­dienyl ring of a neighbouring mol­ecule

    A New Linear Logic for Deadlock-Free Session-Typed Processes

    Get PDF
    The π -calculus, viewed as a core concurrent programming language, has been used as the target of much research on type systems for concurrency. In this paper we propose a new type system for deadlock-free session-typed π -calculus processes, by integrating two separate lines of work. The first is the propositions-as-types approach by Caires and Pfenning, which provides a linear logic foundation for session types and guarantees deadlock-freedom by forbidding cyclic process connections. The second is Kobayashi’s approach in which types are annotated with priorities so that the type system can check whether or not processes contain genuine cyclic dependencies between communication operations. We combine these two techniques for the first time, and define a new and more expressive variant of classical linear logic with a proof assignment that gives a session type system with Kobayashi-style priorities. This can be seen in three ways: (i) as a new linear logic in which cyclic structures can be derived and a CYCLE -elimination theorem generalises CUT -elimination; (ii) as a logically-based session type system, which is more expressive than Caires and Pfenning’s; (iii) as a logical foundation for Kobayashi’s system, bringing it into the sphere of the propositions-as-types paradigm
    corecore