We present a type-based approach to the verification of the communication structure of parallel programs. We model parallel imperative programs where a fixed number of processes, each equipped with its local memory, communicates via a rich diversity of primitives, including point-to-point messages, broadcast, reduce, and array scatter and gather. The paper proposes a decidable dependent type system incorporating abstractions for the various communication operators, a form of primitive recursion, and collective choice. Term types may refer to values in the programming language, including integer, floating point and arrays. The paper further introduces a core programming language for imperative, message-passing, parallel progr...
As a means of transmitting not only data but also code encapsulated within functions, higher-order c...
Recent research efforts have developed sophisticated type systems for eliminating unwanted interfere...
AbstractA framework is presented for designing parallel programming languages whose semantics is fun...
Abstract. We present a type-based approach to the verification of the communication structure of par...
For many application-level distributed protocols and parallel algorithms, theset of participants, th...
As a means of transmitting not only data but also code encapsulated within functions, higher-order c...
A simple but general parallel programming language is considered. The semantics of programs is defin...
Abstract. This paper introduces a programming framework based on the theory of session types for saf...
This thesis develops a verification theory for systems of parallel processes communicating with one...
Parallel programming is becoming an important cornerstone of general computing. In addition, type s...
Abstract—Many parallel and distributed message-passing programs are written in a parametric way over...
. We introduce basic language constructs and a type discipline as a foundation of structured communi...
Modern software systems rely on communication, for example mobile applcations communicating with a c...
We present a small language L and its typing system based on the idea of interaction, one of the imp...
Modern software systems rely on communication, for example mobile applications communicating with a ...
As a means of transmitting not only data but also code encapsulated within functions, higher-order c...
Recent research efforts have developed sophisticated type systems for eliminating unwanted interfere...
AbstractA framework is presented for designing parallel programming languages whose semantics is fun...
Abstract. We present a type-based approach to the verification of the communication structure of par...
For many application-level distributed protocols and parallel algorithms, theset of participants, th...
As a means of transmitting not only data but also code encapsulated within functions, higher-order c...
A simple but general parallel programming language is considered. The semantics of programs is defin...
Abstract. This paper introduces a programming framework based on the theory of session types for saf...
This thesis develops a verification theory for systems of parallel processes communicating with one...
Parallel programming is becoming an important cornerstone of general computing. In addition, type s...
Abstract—Many parallel and distributed message-passing programs are written in a parametric way over...
. We introduce basic language constructs and a type discipline as a foundation of structured communi...
Modern software systems rely on communication, for example mobile applcations communicating with a c...
We present a small language L and its typing system based on the idea of interaction, one of the imp...
Modern software systems rely on communication, for example mobile applications communicating with a ...
As a means of transmitting not only data but also code encapsulated within functions, higher-order c...
Recent research efforts have developed sophisticated type systems for eliminating unwanted interfere...
AbstractA framework is presented for designing parallel programming languages whose semantics is fun...