Embedding as a Tool for Language Comparison: On the CSP Hierarchy
Embedding as a Tool for Language Comparison: On the CSP Hierarchy
复制标题
嵌入作为语言比较工具:在 CSP 层次结构上
DOI:
10.1007/3-540-54430-5_85
复制
发表时间:
1991
期刊:
影响因子:
0.6
通讯作者:
C. Palamidessi
中科院分区:
文献类型:
--
作者:
F. S. Boer;C. Palamidessi
The concept of embedding has recently been introduced as a formal tool to study the relative expressive power of (concurrent) programming languages. We use the notion of “modular embedding” to compare various dialects of CSP and ACSP (Asynchronous CSP), which differ on the kind of communication primitives allowed in the guards: all, only input, or none. Concerning the synchronous paradigm, we show that CSP is strictly more powerful than \(CSP_\mathcal{I}\)(the version of CSP with no output guards), and that \(CSP_\mathcal{I}\)is strictly more powerful than \(CSP_{\not 0}\)(the version of CSP with no communication primitives in the guards). The first separation result does not hold in the asynchronous variants of these languages: since asynchronous output guards cannot be influenced by the environment (they can always proceed), it is irrelevant to have or not to have them in the language. Therefore, ACSP and \(ACSP_\mathcal{I}\)are equivalent. Still, they are strictly more expressive than \(ACSP_{\not 0}\). Finally, we come to compare the synchronous and asynchronous paradigms. The asynchronous communication can be modeled synchronously by means of “buffer” processes. On the other hand, synchronous communication (when not fully used to control nondeterminism) can be modeled asynchronously by means of acknowledgement messages. As a consequence, \(CSP_\mathcal{I}\), ACSP, and \(ACSP_\mathcal{I}\)are equivalent. An interesting corollary of these results is that ACSP is strictly less powerful than CSP.