181,463 research outputs found

    Verifying message-passing programs with dependent behavioural types

    Get PDF
    Concurrent and distributed programming is notoriously hard. Modern languages and toolkits ease this difficulty by offering message-passing abstractions, such as actors (e.g., Erlang, Akka, Orleans) or processes (e.g., Go): they allow for simpler reasoning w.r.t. shared-memory concurrency, but do not ensure that a program implements a given specification. To address this challenge, it would be desirable to specify and verify the intended behaviour of message-passing applications using types, and ensure that, if a program type-checks and compiles, then it will run and communicate as desired. We develop this idea in theory and practice. We formalise a concurrent functional language λπ, with a new blend of behavioural types (from π-calculus theory), and dependent function types (from the Dotty programming language, a.k.a. the future Scala 3). Our theory yields four main payoffs: (1) it verifies safety and liveness properties of programs via typeś level model checking; (2) unlike previous work, it accurately verifies channel-passing (covering a typical pattern of actor programs) and higher-order interaction (i.e., sending/receiving mobile code); (3) it is directly embedded in Dotty, as a toolkit called Effpi, offering a simplified actor-based API; (4) it enables an efficient runtime system for Effpi, for highly concurrent programs with millions of processes/actors

    Verifying message-passing programs with dependent behavioural types

    Get PDF
    Concurrent and distributed programming is notoriously hard. Modern languages and toolkits ease this difficulty by offering message-passing abstractions, such as actors (e.g., Erlang, Akka, Orleans) or processes (e.g., Go): they allow for simpler reasoning w.r.t. shared-memory concurrency, but do not ensure that a program implements a given specification. To address this challenge, it would be desirable to specify and verify the intended behaviour of message-passing applications using types, and ensure that, if a program type-checks and compiles, then it will run and communicate as desired. We develop this idea in theory and practice. We formalise a concurrent functional language λπ ⩽, with a new blend of behavioural types (from π-calculus theory), and dependent function types (from the Dotty programming language, a.k.a. the future Scala 3). Our theory yields four main payoffs: (1) it verifies safety and liveness properties of programs via type– level model checking; (2) unlike previous work, it accurately verifies channel-passing (covering a typical pattern of actor programs) and higher-order interaction (i.e., sending/receiving mobile code); (3) it is directly embedded in Dotty, as a toolkit called Effpi, offering a simplified actor-based API; (4) it enables an efficient runtime system for Effpi, for highly concurrent programs with millions of processes/actors

    On Modeling Heterogeneous Wireless Networks Using Non-Poisson Point Processes

    Full text link
    Future wireless networks are required to support 1000 times higher data rate, than the current LTE standard. In order to meet the ever increasing demand, it is inevitable that, future wireless networks will have to develop seamless interconnection between multiple technologies. A manifestation of this idea is the collaboration among different types of network tiers such as macro and small cells, leading to the so-called heterogeneous networks (HetNets). Researchers have used stochastic geometry to analyze such networks and understand their real potential. Unsurprisingly, it has been revealed that interference has a detrimental effect on performance, especially if not modeled properly. Interference can be correlated in space and/or time, which has been overlooked in the past. For instance, it is normally assumed that the nodes are located completely independent of each other and follow a homogeneous Poisson point process (PPP), which is not necessarily true in real networks since the node locations are spatially dependent. In addition, the interference correlation created by correlated stochastic processes has mostly been ignored. To this end, we take a different approach in modeling the interference where we use non-PPP, as well as we study the impact of spatial and temporal correlation on the performance of HetNets. To illustrate the impact of correlation on performance, we consider three case studies from real-life scenarios. Specifically, we use massive multiple-input multiple-output (MIMO) to understand the impact of spatial correlation; we use the random medium access protocol to examine the temporal correlation; and we use cooperative relay networks to illustrate the spatial-temporal correlation. We present several numerical examples through which we demonstrate the impact of various correlation types on the performance of HetNets.Comment: Submitted to IEEE Communications Magazin

    The MobyDick Project: A Mobile Heterogeneous All-IP Architecture

    Get PDF
    Proceedings of Advanced Technologies, Applications and Market Strategies for 3G (ATAMS 2001). Cracow, Poland: 17-20 June, 2001.This paper presents the current stage of an IP-based architecture for heterogeneous environments, covering UMTS-like W-CDMA wireless access technology, wireless and wired LANs, that is being developed under the aegis of the IST Moby Dick project. This architecture treats all transmission capabilities as basic physical and data-link layers, and attempts to replace all higher-level tasks by IP-based strategies. The proposed architecture incorporates aspects of mobile-IPv6, fast handover, AAA-control, and Quality of Service. The architecture allows for an optimised control on the radio link layer resources. The Moby dick architecture is currently under refinement for implementation on field trials. The services planned for trials are data transfer and voice-over-IP.Publicad

    Actor Network Procedures as Psi-calculi for Security Ceremonies

    Full text link
    The actor network procedures of Pavlovic and Meadows are a recent graphical formalism developed for describing security ceremonies and for reasoning about their security properties. The present work studies the relations of the actor network procedures (ANP) to the recent psi-calculi framework. Psi-calculi is a parametric formalism where calculi like spi- or applied-pi are found as instances. Psi-calculi are operational and largely non-graphical, but have strong foundation based on the theory of nominal sets and process algebras. One purpose of the present work is to give a semantics to ANP through psi-calculi. Another aim was to give a graphical language for a psi-calculus instance for security ceremonies. At the same time, this work provides more insight into the details of the ANPs formalization and the graphical representation.Comment: In Proceedings GraMSec 2014, arXiv:1404.163

    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

    Spatial networks with wireless applications

    Get PDF
    Many networks have nodes located in physical space, with links more common between closely spaced pairs of nodes. For example, the nodes could be wireless devices and links communication channels in a wireless mesh network. We describe recent work involving such networks, considering effects due to the geometry (convex,non-convex, and fractal), node distribution, distance-dependent link probability, mobility, directivity and interference.Comment: Review article- an amended version with a new title from the origina
    corecore