10,357 research outputs found

    Session-Based Programming for Parallel Algorithms: Expressiveness and Performance

    Full text link
    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

    Full text link
    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

    Get PDF
    Author name used in this publication: Raymond Kai-yu Tongpublished_fina

    A linear decomposition of multiparty sessions for safe distributed programming

    Get PDF
    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

    Full text link
    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

    Get PDF
    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
    corecore