Types for Parallel Complexity in the Pi-calculus
This work addresses the challenge of controlling parallel complexity in concurrent systems, representing an incremental adaptation of existing type-based methods to a new domain.
The authors tackled the problem of analyzing parallel complexity in the pi-calculus by adapting type systems from functional programming to extract complexity bounds for work and span, presenting two type systems with temporal information for communications.
Type systems as a way to control or analyze programs have been largely studied in the context of functional programming languages. Some of those work allow to extract from a typing derivation for a program a complexity bound on this program. We present how to adapt this result for parallel complexity in the pi-calculus, as a model of concurrency and parallel communication. We study two notions of time complexity: the total computation time without parallelism (the work) and the computation time under maximal parallelism (the span). We define reduction relations in the pi-calculus to capture those two notions, and we present two type systems from which one can extract a complexity bound on a process. The type systems are inspired by input/output types and size types, with temporal information about communications.