一句话:提出首个保证二元会话公平终止的类型系统,并首次实际采用公平子类型。
二元会话是连接两个进程的私有通道,进程需遵循会话类型协议。已有类型系统多保证无死锁或强终止,却无法刻画只排除不公平无限执行的公平终止。本文提出首个保证二元会话公平终止的类型系统:若协议允许的无限执行都因违反公平性假设而不现实,则会话公平终止,并蕴含所有未完成的输入/输出最终完成,即使其依赖跨会话、数量无界的其他动作,从而提供一种 lock freedom,并覆盖既有系统难以处理的通信模式。该系统还首次采用 fair subtyping——会话类型标准子类型的保持活性的精化,此前仅有理论研究;为保持活性,类型系统须谨慎追踪 fair subtyping 的所有使用。
A binary session is a private communication channel that connects two processes, each adhering to a protocol description called session type . In this work, we study the first type system that ensures the fair termination of binary sessions. A session fairly terminates if all of the infinite executions admitted by its protocol are deemed unrealistic because they violate certain fairness assumptions . Fair termination entails the eventual completion of all pending input/output actions, including those that depend on the completion of an unbounded number of other actions in possibly different sessions. This form of lock freedom allows us to address a large family of natural communication patterns that fall outside the scope of existing type systems. Our type system is also the first to adopt fair subtyping , a liveness-preserving refinement of the standard subtyping relation for session types that so far has only been studied theoretically. Fair subtyping is surprisingly subtle not only to characterize concisely but also to use appropriately, to the point that the type system must carefully account for all usages of fair subtyping to avoid compromising its liveness-preserving properties.