The session-typed programming language Session Java (SJ) has proved to be an effective tool for distributed programming, promoting productivity and compile-time safety. This paper investigates the use of SJ for session-typed parallel programming, and introduces new language primitives for chained iteration and multi-channel communication. These primitives allow the efficient coordination of parallel computation across multiple processes, thus enabling SJ to express the complex communication topologies often used by parallel algorithms with static safety guarantees. We demonstrate that the new primitives yield clearer and safer code for pipeline, ring and mesh topologies, and through implementations of a parallel Jacobi method and an n-Body ...
We present a generic framework to transform a single-threaded operational semantics into a semantics...
Abstract—Many parallel and distributed message-passing programs are written in a parametric way over...
The design of concurrent programs has a reputation for being difficult, and thus potentially dangero...
International audienceThe session-typed programming language Session Java (SJ) has proved to be an e...
This paper investigates session programming and typing of benchmark examples to compare productivity...
This paper investigates session programming and typing of benchmark examples to compare pro-ductivit...
ABSTRACT This paper introduces a new programming framework based on the theory of session types for ...
Parallel programming is a technique that can coordinate and utilise multiple hardware resources simu...
Communication is a fundamental element in computing systems. Unfortunately, language design and typi...
Abstract. This paper introduces a programming framework based on the theory of session types for saf...
Abstract. This paper presents a new efficient programming toolchain for message-passing parallel alg...
Multiparty session typing (MPST) is a method to automatically prove safety and liveness of protocol ...
Event-driven programming is a major paradigm in concurrent and communication-based programming, and ...
The Java programming language provides safety and security guarantees such as type safety and its se...
With distributed computing becoming ubiquitous in the modern era, safe distributed programming is an...
We present a generic framework to transform a single-threaded operational semantics into a semantics...
Abstract—Many parallel and distributed message-passing programs are written in a parametric way over...
The design of concurrent programs has a reputation for being difficult, and thus potentially dangero...
International audienceThe session-typed programming language Session Java (SJ) has proved to be an e...
This paper investigates session programming and typing of benchmark examples to compare productivity...
This paper investigates session programming and typing of benchmark examples to compare pro-ductivit...
ABSTRACT This paper introduces a new programming framework based on the theory of session types for ...
Parallel programming is a technique that can coordinate and utilise multiple hardware resources simu...
Communication is a fundamental element in computing systems. Unfortunately, language design and typi...
Abstract. This paper introduces a programming framework based on the theory of session types for saf...
Abstract. This paper presents a new efficient programming toolchain for message-passing parallel alg...
Multiparty session typing (MPST) is a method to automatically prove safety and liveness of protocol ...
Event-driven programming is a major paradigm in concurrent and communication-based programming, and ...
The Java programming language provides safety and security guarantees such as type safety and its se...
With distributed computing becoming ubiquitous in the modern era, safe distributed programming is an...
We present a generic framework to transform a single-threaded operational semantics into a semantics...
Abstract—Many parallel and distributed message-passing programs are written in a parametric way over...
The design of concurrent programs has a reputation for being difficult, and thus potentially dangero...