9 research outputs found
Multiparty compatibility in communicating automata: characterisation and synthesis of global session types
Multiparty session types are a type system that can ensure the safety and liveness of distributed peers via the global specification of their interactions. To construct a global specification from a set of distributed uncontrolled behaviours, this paper explores the problem of fully characterising multiparty session types in terms of communicating automata. We equip global and local session types with labelled transition systems (LTSs) that faithfully represent asynchronous communications through unbounded buffered channels. Using the equivalence between the two LTSs, we identify a class of communicating automata that exactly correspond to the projected local types. We exhibit an algorithm to synthesise a global type from a collection of communicating automata. The key property of our findings is the notion of multiparty compatibility which non-trivially extends the duality condition for binary session types
Behavioral types in programming languages
A recent trend in programming language research is to use behav- ioral type theory to ensure various correctness properties of large- scale, communication-intensive systems. Behavioral types encompass concepts such as interfaces, communication protocols, contracts, and choreography. The successful application of behavioral types requires a solid understanding of several practical aspects, from their represen- tation in a concrete programming language, to their integration with other programming constructs such as methods and functions, to de- sign and monitoring methodologies that take behaviors into account. This survey provides an overview of the state of the art of these aspects, which we summarize as the pragmatics of behavioral types
The CanOE Strategy: Integrating Genomic and Metabolic Contexts across Multiple Prokaryote Genomes to Find Candidate Genes for Orphan Enzymes
Of all biochemically characterized metabolic reactions formalized by the IUBMB, over one out of four have yet to be associated with a nucleic or protein sequence, i.e. are sequence-orphan enzymatic activities. Few bioinformatics annotation tools are able to propose candidate genes for such activities by exploiting context-dependent rather than sequence-dependent data, and none are readily accessible and propose result integration across multiple genomes. Here, we present CanOE (Candidate genes for Orphan Enzymes), a four-step bioinformatics strategy that proposes ranked candidate genes for sequence-orphan enzymatic activities (or orphan enzymes for short). The first step locates âgenomic metabolonsâ, i.e. groups of co-localized genes coding proteins catalyzing reactions linked by shared metabolites, in one genome at a time. These metabolons can be particularly helpful for aiding bioanalysts to visualize relevant metabolic data. In the second step, they are used to generate candidate associations between un-annotated genes and gene-less reactions. The third step integrates these gene-reaction associations over several genomes using gene families, and summarizes the strength of family-reaction associations by several scores. In the final step, these scores are used to rank members of gene families which are proposed for metabolic reactions. These associations are of particular interest when the metabolic reaction is a sequence-orphan enzymatic activity. Our strategy found over 60,000 genomic metabolons in more than 1,000 prokaryote organisms from the MicroScope platform, generating candidate genes for many metabolic reactions, of which more than 70 distinct orphan reactions. A computational validation of the approach is discussed. Finally, we present a case study on the anaerobic allantoin degradation pathway in Escherichia coli K-12
A Protocol Compiler for Secure Sessions in ML
Distributed applications can be structured using sessions that
specify flows of messages between roles. We design a small specific
language to declare sessions. We then build a compiler, called s2ml, that
transforms these declarations down to ML modules securely implementing
the sessions. Every run of a well-typed program executing a session
through its generated module is guaranteed to follow the session
specification, despite any low-level attempt by coalitions of remote
peers to deviate from their roles. We detail the inner workings of
our compiler, along with our design choices, and illustrate
the usage of s2ml with two examples: a simple remote procedure call
session, and a complex session for a conference management system
Aboveground test of an advanced LiMoO scintillating bolometer to search for neutrinoless double beta decay of Mo
Large lithium molybdate (Li2MoO4) crystal boules were produced by using the low thermal gradient Czochralski growth technique from deeply purified molybdenum. A small sample from one of the boules was preliminary characterized in terms of X-ray-induced and thermally-excited luminescence. A large cylindrical crystalline element (with a size of circle divide 40 x 40 mm) was used to fabricate a scintillating bolometer, which was operated aboveground at similar to 15 mK by using a pulse-tube cryostat housing a high-power dilution refrigerator. The excellent detector performance in terms of energy resolution and alpha background suppression along with preliminary positive indications on the radiopurity of this material show the potentiality of Li2MoO4 scintillating bolometers for low-counting experiment to search for neutrinoless double beta decay of Mo-100. (C) 2015 Elsevier B.V. All rights reserved