We address the problem of analysing the complexity of concurrent programs written in Pi-calculus. We are interested in parallel complexity, or span, understood as the execution time in a model with maximal parallelism. A type system for parallel complexity has been recently proposed by Baillot and Ghyselen but it is too imprecise for non-linear channels and cannot analyse some concurrent processes. Aiming for a more precise analysis, we design a type system which builds on the concepts of sized types and usages. The new variant of usages we define accounts for the various ways a channel is employed and relies on time annotations to track under which conditions processes can synchronize. We prove that a type derivation for a process provides an upper bound on its parallel complexity.
翻译:我们处理的是分析以Pi-calculus 撰写的并行程序的复杂性的问题。 我们感兴趣的是平行的复杂性或跨度,即被理解为在最大平行模式下的执行时间。 拜洛特和盖西伦最近提出了一个平行复杂性的类型系统,但对于非线性渠道来说,这个系统太不精确,无法分析一些并行过程。 为了进行更精确的分析,我们设计了一个基于大小类型和使用概念的型号系统。 我们定义的新的用途变式说明了频道使用的不同方式,并依靠时间说明跟踪条件进程在何种情况下可以同步。 我们证明,一个过程的型号衍生提供了其平行复杂性的上限。