Conversational Concurrency

Tony Garnock-Jones
{"title":"Conversational Concurrency","authors":"Tony Garnock-Jones","doi":"arxiv-2409.04055","DOIUrl":null,"url":null,"abstract":"Concurrent computations resemble conversations. In a conversation,\nparticipants direct utterances at others and, as the conversation evolves,\nexploit the known common context to advance the conversation. Similarly,\ncollaborating software components share knowledge with each other in order to\nmake progress as a group towards a common goal. This dissertation studies concurrency from the perspective of cooperative\nknowledge-sharing, taking the conversational exchange of knowledge as a central\nconcern in the design of concurrent programming languages. In doing so, it\nmakes five contributions: 1. It develops the idea of a common dataspace as a\nmedium for knowledge exchange among concurrent components, enabling a new\napproach to concurrent programming. While dataspaces loosely resemble both\n\"fact spaces\" from the world of Linda-style languages and Erlang's\ncollaborative model, they significantly differ in many details. 2. It offers\nthe first crisp formulation of cooperative, conversational knowledge-exchange\nas a mathematical model. 3. It describes two faithful implementations of the\nmodel for two quite different languages. 4. It proposes a completely novel\nsuite of linguistic constructs for organizing the internal structure of\nindividual actors in a conversational setting. The combination of dataspaces\nwith these constructs is dubbed Syndicate. 5. It presents and analyzes evidence\nsuggesting that the proposed techniques and constructs combine to simplify\nconcurrent programming. The dataspace concept stands alone in its focus on representation and\nmanipulation of conversational frames and conversational state and in its\nintegral use of explicit epistemic knowledge. The design is particularly suited\nto integration of general-purpose I/O with otherwise-functional languages, but\nalso applies to actor-like settings more generally.","PeriodicalId":501197,"journal":{"name":"arXiv - CS - Programming Languages","volume":"5 1","pages":""},"PeriodicalIF":0.0000,"publicationDate":"2024-09-06","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"0","resultStr":null,"platform":"Semanticscholar","paperid":null,"PeriodicalName":"arXiv - CS - Programming Languages","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/arxiv-2409.04055","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 0

Abstract

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.
会话并发
并发计算类似于对话。在会话中,参与者会直接向他人发表言论,并随着会话的发展,利用已知的共同语境来推进会话。同样,协作软件组件之间也会共享知识,以便作为一个群体朝着共同的目标前进。本论文从合作知识共享的角度研究并发性,将知识的对话交流作为并发编程语言设计的核心问题。为此,本论文做出了五项贡献:1.它提出了将公共数据空间作为并发组件之间进行知识交流的媒介的观点,为并发编程提供了一种新方法。虽然数据空间与 Linda 风格语言世界中的 "事实空间 "和 Erlang 的协作模型大致相似,但它们在许多细节上存在显著差异。2.它首次以数学模型的形式清晰地表述了合作式会话知识交换。3.3. 它描述了两种完全不同的语言对该模型的两种忠实实现。4.4. 它提出了一套全新的语言构造,用于组织会话环境中个体行动者的内部结构。数据空间与这些结构的组合被称为 Syndicate。5.它提出并分析了一些证据,这些证据表明,所提出的技术与结构相结合,可以简化当前的程序设计。数据空间概念的独特之处在于,它侧重于会话框架和会话状态的表示和操作,以及对显式认识论知识的整合使用。这种设计特别适用于将通用输入/输出与其他功能语言整合在一起,但也适用于更广泛的演员式设置。
本文章由计算机程序翻译,如有差异,请以英文原文为准。
求助全文
约1分钟内获得全文 求助全文
来源期刊
自引率
0.00%
发文量
0
×
引用
GB/T 7714-2015
复制
MLA
复制
APA
复制
导出至
BibTeX EndNote RefMan NoteFirst NoteExpress
×
提示
您的信息不完整,为了账户安全,请先补充。
现在去补充
×
提示
您因"违规操作"
具体请查看互助需知
我知道了
×
提示
确定
请完成安全验证×
copy
已复制链接
快去分享给好友吧!
我知道了
右上角分享
点击右上角分享
0
联系我们:info@booksci.cn Book学术提供免费学术资源搜索服务,方便国内外学者检索中英文文献。致力于提供最便捷和优质的服务体验。 Copyright © 2023 布克学术 All rights reserved.
京ICP备2023020795号-1
ghs 京公网安备 11010802042870号
Book学术文献互助
Book学术文献互助群
群 号:481959085
Book学术官方微信