The $\pi$-calculus is used as a model for programming languages. Its contexts exhibit arbitrary concurrency, making them very discriminating. This may prevent validating desirable behavioural equivalences in cases when more disciplined contexts are expected. In this paper we focus on two such common disciplines: sequentiality, meaning that at any time there is a single thread of computation, and well-bracketing, meaning that calls to external services obey a stack-like discipline. We formalise the disciplines by means of type systems. The main focus of the paper is on studying the consequence of the disciplines on behavioural equivalence. We define and study labelled bisimilarities for sequentiality and well-bracketing. These relations are coarser than ordinary bisimilarity. We prove that they are sound for the respective (contextual) barbed equivalence, and also complete under a certain technical condition. We show the usefulness of our techniques on a number of examples, that have mainly to do with the representation of functions and store.
翻译:$\ pi$- calculus 被用作编程语言的模型。 它的背景表现出任意的共通性, 使得它们非常有差别。 这可能会防止在预期纪律性更强的情况下验证理想的行为等同性。 在本文中, 我们集中关注两个共同的学科: 顺序, 意指在任何时间都有单一的计算线, 以及打孔, 意思是呼叫外部服务时都服从于堆叠式的学科。 我们通过类型系统将学科正规化。 论文的主要焦点是研究行为等同的学科结果。 我们定义并研究相继性和括弧式的两样性。 这些关系比普通的两样性粗略。 我们证明它们对于各自的( comtextal) 条形的等同性是健全的, 并且在某些技术条件下也是完整的。 我们用许多例子来展示我们的技术的效用, 这些例子主要涉及功能和存储的表示方式。