We introduce RevMiGo, a reversible version of MiGo, a process calculus based on Go’s asynchronous message-passing. In RevMiGo, send and receive actions can be reversed: a receive can enqueue a message, and a send can dequeue it in the backward direction. Communication keys are used to link actions in send and receive and maintain consistency. To prevent deadlocks in the backward direction, we derive an order from the history of send actions, ensuring correct message flow and causality.

错误:搜索内容不能为空,请输入英文关键词
错误:关键词超出字数限制,请精简
高级检索

RevMiGo: Reversible Channel-Based Communication in Go Language

  • Shunya Oguchi,
  • Shoji Yuen,
  • Nobuko Yoshida

摘要

We introduce RevMiGo, a reversible version of MiGo, a process calculus based on Go’s asynchronous message-passing. In RevMiGo, send and receive actions can be reversed: a receive can enqueue a message, and a send can dequeue it in the backward direction. Communication keys are used to link actions in send and receive and maintain consistency. To prevent deadlocks in the backward direction, we derive an order from the history of send actions, ensuring correct message flow and causality.