arXivDaily arXiv每日学术速递 周一至周五更新
arXiv 2409.04055cs.PL
收藏

会话式并发

Conversational Concurrency

Tony Garnock-Jones

AI总结:

本文提出以会话式知识交换为核心的并发编程模型,通过公共数据空间与新型 actor 结构构造形成 Syndicate,并以数学模型、两种语言实现及证据验证其可简化并发编程。

摘要:

并发计算类似于会话。在会话中,参与者将话语指向他人,并随着会话的推进,利用已知的共同语境来推动会话发展。类似地,协作的软件组件彼此共享知识,以便作为一个整体朝着共同目标取得进展。本论文从协作式知识共享的视角研究并发,将知识的会话式交换作为并发编程语言设计中的核心关注点。在此过程中,论文作出五项贡献:1. 发展了公共数据空间(dataspace)的思想,将其作为并发组件之间知识交换的媒介,从而促成一种新的并发编程方法。虽然数据空间在松散意义上既类似于 Linda 风格语言世界中的“事实空间”,也类似于 Erlang 的协作模型,但它们在许多细节上存在显著差异。2. 首次以清晰的形式将协作式、会话式的知识交换表述为一个数学模型。3. 针对两种截然不同的语言,描述了该模型的两个忠实实现。4. 提出了一套全新的语言构造,用于在会话环境中组织各个 actor 的内部结构。数据空间与这些构造的结合被命名为 Syndicate。5. 呈现并分析了相关证据,这些证据表明所提出的技术和构造相结合可简化并发编程。数据空间概念的独特之处在于,它关注会话框架与会话状态的表示和操作,并整体性地使用显式的认知知识。该设计特别适合将通用 I/O 与原本的函数式语言集成,但也更广泛地适用于类似 actor 的环境。

英文摘要:

Concurrent computations resemble conversations. In a conversation, participants direct utterances at others and, as the conversation evolves, exploit the known common context to advance the conversation. Similarly, collaborating software components share knowledge with each other in order to make progress as a group towards a common goal. This dissertation studies concurrency from the perspective of cooperative knowledge-sharing, taking the conversational exchange of knowledge as a central concern in the design of concurrent programming languages. In doing so, it makes five contributions: 1. It develops the idea of a common dataspace as a medium for knowledge exchange among concurrent components, enabling a new approach to concurrent programming. While dataspaces loosely resemble both "fact spaces" from the world of Linda-style languages and Erlang's collaborative model, they significantly differ in many details. 2. It offers the first crisp formulation of cooperative, conversational knowledge-exchange as a mathematical model. 3. It describes two faithful implementations of the model for two quite different languages. 4. It proposes a completely novel suite of linguistic constructs for organizing the internal structure of individual actors in a conversational setting. The combination of dataspaces with these constructs is dubbed Syndicate. 5. It presents and analyzes evidence suggesting that the proposed techniques and constructs combine to simplify concurrent programming. The dataspace concept stands alone in its focus on representation and manipulation of conversational frames and conversational state and in its integral use of explicit epistemic knowledge. The design is particularly suited to integration of general-purpose I/O with otherwise-functional languages, but also applies to actor-like settings more generally.

机构、总结、中文摘要均由AI分析而来,可能存在错误,请以论文正文为准。

↑