10,819 research outputs found
Session-Based Programming for Parallel Algorithms: Expressiveness and Performance
This paper investigates session programming and typing of benchmark examples
to compare productivity, safety and performance with other communications
programming languages. Parallel algorithms are used to examine the above
aspects due to their extensive use of message passing for interaction, and
their increasing prominence in algorithmic research with the rising
availability of hardware resources such as multicore machines and clusters. We
contribute new benchmark results for SJ, an extension of Java for type-safe,
binary session programming, against MPJ Express, a Java messaging system based
on the MPI standard. In conclusion, we observe that (1) despite rich libraries
and functionality, MPI remains a low-level API, and can suffer from commonly
perceived disadvantages of explicit message passing such as deadlocks and
unexpected message types, and (2) the benefits of high-level session
abstraction, which has significant impact on program structure to improve
readability and reliability, and session type-safety can greatly facilitate the
task of communications programming whilst retaining competitive performance
Parameterised Multiparty Session Types
For many application-level distributed protocols and parallel algorithms, the
set of participants, the number of messages or the interaction structure are
only known at run-time. This paper proposes a dependent type theory for
multiparty sessions which can statically guarantee type-safe, deadlock-free
multiparty interactions among processes whose specifications are parameterised
by indices. We use the primitive recursion operator from G\"odel's System T to
express a wide range of communication patterns while keeping type checking
decidable. To type individual distributed processes, a parameterised global
type is projected onto a generic generator which represents a class of all
possible end-point types. We prove the termination of the type-checking
algorithm in the full system with both multiparty session types and recursive
types. We illustrate our type theory through non-trivial programming and
verification examples taken from parallel algorithms and Web services usecases.Comment: LMCS 201
Service Robotics: Robot-Assisted Training for Stroke Rehabilitation
Author name used in this publication: Raymond Kai-yu Tongpublished_fina
Recommended from our members
III/V-on-Si MQW lasers by using a novel photonic integration method of regrowth on a bonding template.
Silicon photonics is becoming a mainstream data-transmission solution for next-generation data centers, high-performance computers, and many emerging applications. The inefficiency of light emission in silicon still requires the integration of a III/V laser chip or optical gain materials onto a silicon substrate. A number of integration approaches, including flip-chip bonding, molecule or polymer wafer bonding, and monolithic III/V epitaxy, have been extensively explored in the past decade. Here, we demonstrate a novel photonic integration method of epitaxial regrowth of III/V on a III/V-on-SOI bonding template to realize heterogeneous lasers on silicon. This method decouples the correlated root causes, i.e., lattice, thermal, and domain mismatches, which are all responsible for a large number of detrimental dislocations in the heteroepitaxy process. The grown multi-quantum well vertical p-i-n diode laser structure shows a significantly low dislocation density of 9.5 × 104 cm-2, two orders of magnitude lower than the state-of-the-art conventional monolithic growth on Si. This low dislocation density would eliminate defect-induced laser lifetime concerns for practical applications. The fabricated lasers show room-temperature pulsed and continuous-wave lasing at 1.31 μm, with a minimal threshold current density of 813 A/cm2. This generic concept can be applied to other material systems to provide higher integration density, more functionalities and lower total cost for photonics as well as microelectronics, MEMS, and many other applications
A linear decomposition of multiparty sessions for safe distributed programming
Multiparty Session Types (MPST) is a typing discipline for message-passing distributed processes that can ensure properties such as absence of communication errors and deadlocks, and protocol conformance. Can MPST provide a theoretical foundation for concurrent and distributed programming in "mainstream" languages? We address this problem by (1) developing the first encoding of a full-fledged multiparty session π-calculus into linear π-calculus, and(2) using the encoding as the foundation of a practical toolchain for safe multiparty programming in Scala. Our encoding is type-preserving and operationally sound and complete. Crucially, it keeps the distributed choreographic nature of MPST, illuminating that the safety properties of multiparty sessions can be precisely represented with a decomposition into binary linear channels. Previous works have only studied the relation between (limited) multiparty and binary sessions via centralised orchestration means. We exploit these results to implement an automated generation of Scala APIs for multiparty sessions, abstracting existing libraries for binary communication channels. This allows multiparty systems to be safely implemented over binary message transports, as commonly found in practice. Our implementation is the first to support distributed multiparty delegation: Our encoding yields it for free, via existing mechanisms for binary delegation
Chemical logic gates on active colloids
Synthetic active colloidal systems are being studied extensively because of
the diverse and often unusual phenomena these nonequilibrium systems manifest,
and their potential applications in fields ranging from biology to material
science. Recent studies have shown that active colloidal motors that use
enzymatic reactions for propulsion hold special promise for applications that
require motors to carry out active sensing tasks in complicated biomedical
environments. In such applications it would be desirable to have active
colloids with some capability of computation so that they could act
autonomously to sense their surroundings and alter their own dynamics to
perform specific tasks. Here we describe how small chemical networks that make
use of enzymatic chemical reactions on the colloid surface can be used to
construct motor-based chemical logic gates. Some basic features of coupled
enzymatic reactions that are responsible for propulsion and underlie the
construction and function of chemical gates are described using continuum
theory and molecular simulation. Examples are given that show how colloids with
specific chemical logic gates can perform simple sensing tasks. Due to the
diverse functions of different enzyme gates, operating alone or in circuits,
the work presented here supports the suggestion that synthetic motors using
such gates could be designed to operate in an autonomous way in order to
complete complicated tasks
Predicting Rating Polarity through Automatic Classification of Review Texts
Online reviews and ratings are important for potential customers when deciding whether to purchase a product or service. However, reading and synthesizing the massive amount of review data, which is often unstructured, is a huge challenge. In this study, we investigate the use of machine learning models to predict rating polarity (positive, neutral or negative) through automatic classification of review texts. We apply various single and ensemble classifiers to identify rating polarity of reviews from the 2017 Yelp dataset. Experimental results show that the linear
kernel Support Vector Machine, Logistic Regression and Multilayer Perceptron are among the three best single classifiers in terms of accuracy, precision, recall and F-measure. Their performances can be further improved when used as base classifiers for ensemble models
- …