61 research outputs found
A Universal Session Type for Untyped Asynchronous Communication
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
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
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
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
Pentacarbonyl-2κ5 C-chlorido-1κCl-bis[1(η5)-cyclopentadienyl](μ-α-oxidobenzylidene-1:2κ2 O:C)titanium(IV)tungsten(0)
The title compound, [TiW(C5H5)2(C7H5O)Cl(CO)5], consists of two metal centres, with a (tungstenpentacarbonyl)oxyphenylcarbene 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 cyclopentadienyl rings undergoes an offset face-to-face π–π interaction [3.544 (6) Å] with the symmetry-related cyclopentadienyl ring of a neighbouring molecule
A New Linear Logic for Deadlock-Free Session-Typed Processes
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
- …