We introduce Concurrent NetKAT (CNetKAT), an extension of NetKAT with operators for specifying and reasoning about concurrency in scenarios where multiple packets interact through state. We provide a model of the language based on partially-ordered multisets (pomsets), which are a well-established mathematical structure for defining the denotational semantics of concurrent languages. We provide a sound and complete axiomatization of this model, and we illustrate the use of CNetKAT through examples. More generally, CNetKAT can be understood as an algebraic framework for reasoning about programs with both local state (in packets) and global state (in a global store).
翻译:我们引入了同步NetKAT(CNetKAT),这是NetKAT(CNetKAT)与操作员的延伸,用于在多包通过状态相互作用的情况下具体说明和推理同值货币。 我们提供了一个基于部分排序的多套语言(pomsets)的语言模型(pomsets),这是用来界定并行语言的注解语义的完善的数学结构。 我们为这一模型提供了一个健全和完整的分解化,我们通过实例来说明CNetKAT的使用情况。 更一般地说, CNetKAT可以被理解为一个代数框架,用来解释与本地州(inpacks)和全球州(全球商店)的方案。