46 research outputs found
Hybrid Session Verification through Endpoint API Generation
© Springer-Verlag Berlin Heidelberg 2016.This paper proposes a new hybrid session verification methodology for applying session types directly to mainstream languages, based on generating protocol-specific endpoint APIs from multiparty session types. The API generation promotes static type checking of the behavioural aspect of the source protocol by mapping the state space of an endpoint in the protocol to a family of channel types in the target language. This is supplemented by very light run-time checks in the generated API that enforce a linear usage discipline on instances of the channel types. The resulting hybrid verification guarantees the absence of protocol violation errors during the execution of the session. We implement our methodology for Java as an extension to the Scribble framework, and use it to specify and implement compliant clients and servers for real-world protocols such as HTTP and SMTP
An Optimized Concurrent Proof of Authority Consensus Protocol
Security and reliability in Blockchain software systems is a major challenge in Blockchain Oriented Software Engineering. One of the most critical components to address at the architectural level is the consensus protocol, as it serves as the mechanism for accepting valid transactions and incorporating them into the ledger history. Given that this process is executed by specific blockchain nodes, it is crucial to consider them as a key point of focus for ensuring the integrity of the entire blockchain history. This paper addresses the major challenge of security and reliability in Blockchain software systems by proposing a new protocol for Permissioned Concurrent Proof of Authority (CPoA). This protocol involves selecting a group of nodes as authority nodes, responsible for validating new identities, blocks, and transactions. The protocol is integrated with a framework that subjects validators to a unique eligibility criterion and a combination of reputation, security score, online aging, and general performance indicators related to node reliability, significantly reducing the risk of validator misbehavior and enhancing security, reliability and confidentiality of the entire blockchain compared to other existing approaches
Timed runtime monitoring for multiparty conversations
We propose a dynamic verification framework for protocols in real-time distributed systems. The framework
is based on Scribble, a tool-chain for design and verification of choreographies based on multiparty session
types, which we have developed with our industrial partners. Drawing from recent work on multiparty session
types for real-time interactions, we extend Scribble with clocks, resets, and clock predicates in order to constrain
the times inwhich interactions occur.We present a timedAPI for Python to programdistributed implementations
of Scribble specifications. A dynamic verification framework ensures the safe execution of applications written
with our timed API: we have implemented dedicated runtime monitors that check that each interaction occurs at
a correct timing with respect to the corresponding Scribble specification. To demonstrate the practicality of the
proposed framework, we express and verify four categories of widely used temporal patterns from use cases in
literature.We analyse the performance of our implementation via benchmarking and show negligible overhead
Asynchronous timed session types: from duality to time-sensitive processes
We present a behavioural typing system for a higher-order timed calculus, using session types to model timed protocols, and the calculus to abstract implementations. Behavioural typing ensures that processes in the calculus will perform actions in the time-windows prescribed by their protocols. We introduce duality and subtyping for timed asynchronous session types. Duality includes a class of protocols that previous work on asynchronous timed session types could not type-check. Subtyping is critical for precision of our typing system, especially for
session delegation. The composition of dual (timed asynchronous) types enjoys progress when using an urgent receive semantics, in which receive actions are executed as soon as the expected message is available. Our calculus increases the modelling power of calculi used in the previous work on timed sessions, adding a blocking receive primitive with timeout, and a primitive that consumes an arbitrary amount of time in a given range
Safe sessions of channel actions in Clojure: A tour of the Discourje Project
To simplify shared-memory concurrent programming, in addition to low-level synchronisation primitives, several modern programming languages have started to offer core support for higher-level communication primitives as well, in the guise of message passing through channels. Yet, a growing body of evidence suggests that channel-based programming abstractions for shared memory also have their issues. The Discourje project aims to help programmers cope with message-passing concurrency bugs in Clojure programs, based on run-time verification and dynamic monitoring. The idea is that programmers write not only implementations, but also specifications (of sessions of channel actions). Discourje then offers a library to ensure that implementations run safely relative to specifications (= “bad” channel actions never happen). This paper gives a tour of the current state of Discourje, by example; it is intended to serve both as a general overview for readers who are unfamiliar with previous work on Discourje, and as an introduction to new features for readers who are familiar
Comparative effectiveness and safety of non-vitamin K antagonists for atrial fibrillation in clinical practice: GLORIA-AF Registry
Background and purpose: Prospectively collected data comparing the safety and effectiveness of individual non-vitamin K antagonists (NOACs) are lacking. Our objective was to directly compare the effectiveness and safety of NOACs in patients with newly diagnosed atrial fibrillation (AF). Methods: In GLORIA-AF, a large, prospective, global registry program, consecutive patients with newly diagnosed AF were followed for 3 years. The comparative analyses for (1) dabigatran vs rivaroxaban or apixaban and (2) rivaroxaban vs apixaban were performed on propensity score (PS)-matched patient sets. Proportional hazards regression was used to estimate hazard ratios (HRs) for outcomes of interest. Results: The GLORIA-AF Phase III registry enrolled 21,300 patients between January 2014 and December 2016. Of these, 3839 were prescribed dabigatran, 4015 rivaroxaban and 4505 apixaban, with median ages of 71.0, 71.0, and 73.0 years, respectively. In the PS-matched set, the adjusted HRs and 95% confidence intervals (CIs) for dabigatran vs rivaroxaban were, for stroke: 1.27 (0.79–2.03), major bleeding 0.59 (0.40–0.88), myocardial infarction 0.68 (0.40–1.16), and all-cause death 0.86 (0.67–1.10). For the comparison of dabigatran vs apixaban, in the PS-matched set, the adjusted HRs were, for stroke 1.16 (0.76–1.78), myocardial infarction 0.84 (0.48–1.46), major bleeding 0.98 (0.63–1.52) and all-cause death 1.01 (0.79–1.29). For the comparison of rivaroxaban vs apixaban, in the PS-matched set, the adjusted HRs were, for stroke 0.78 (0.52–1.19), myocardial infarction 0.96 (0.63–1.45), major bleeding 1.54 (1.14–2.08), and all-cause death 0.97 (0.80–1.19). Conclusions: Patients treated with dabigatran had a 41% lower risk of major bleeding compared with rivaroxaban, but similar risks of stroke, MI, and death. Relative to apixaban, patients treated with dabigatran had similar risks of stroke, major bleeding, MI, and death. Rivaroxaban relative to apixaban had increased risk for major bleeding, but similar risks for stroke, MI, and death. Registration: URL: https://www.clinicaltrials.gov. Unique identifiers: NCT01468701, NCT01671007. Date of registration: September 2013
Anticoagulant selection in relation to the SAMe-TT2R2 score in patients with atrial fibrillation. the GLORIA-AF registry
Aim: The SAMe-TT2R2 score helps identify patients with atrial fibrillation (AF) likely to have poor anticoagulation control during anticoagulation with vitamin K antagonists (VKA) and those with scores >2 might be better managed with a target-specific oral anticoagulant (NOAC). We hypothesized that in clinical practice, VKAs may be prescribed less frequently to patients with AF and SAMe-TT2R2 scores >2 than to patients with lower scores. Methods and results: We analyzed the Phase III dataset of the Global Registry on Long-Term Oral Antithrombotic Treatment in Patients with Atrial Fibrillation (GLORIA-AF), a large, global, prospective global registry of patients with newly diagnosed AF and ≥1 stroke risk factor. We compared baseline clinical characteristics and antithrombotic prescriptions to determine the probability of the VKA prescription among anticoagulated patients with the baseline SAMe-TT2R2 score >2 and ≤ 2. Among 17,465 anticoagulated patients with AF, 4,828 (27.6%) patients were prescribed VKA and 12,637 (72.4%) patients an NOAC: 11,884 (68.0%) patients had SAMe-TT2R2 scores 0-2 and 5,581 (32.0%) patients had scores >2. The proportion of patients prescribed VKA was 28.0% among patients with SAMe-TT2R2 scores >2 and 27.5% in those with scores ≤2. Conclusions: The lack of a clear association between the SAMe-TT2R2 score and anticoagulant selection may be attributed to the relative efficacy and safety profiles between NOACs and VKAs as well as to the absence of trial evidence that an SAMe-TT2R2-guided strategy for the selection of the type of anticoagulation in NVAF patients has an impact on clinical outcomes of efficacy and safety. The latter hypothesis is currently being tested in a randomized controlled trial. Clinical trial registration: URL: https://www.clinicaltrials.gov//Unique identifier: NCT01937377, NCT01468701, and NCT01671007