三种求解器辅助编程语言的比较:αRby、ProB和Rosette

IF 1.7 3区 计算机科学 Q3 COMPUTER SCIENCE, SOFTWARE ENGINEERING
Richard St-Denis
{"title":"三种求解器辅助编程语言的比较:αRby、ProB和Rosette","authors":"Richard St-Denis","doi":"10.1016/j.cola.2023.101238","DOIUrl":null,"url":null,"abstract":"<div><p>The premise of this paper asserts that the source code of software programs must preserve the underlying domain knowledge in the form of declarative domain models and fully exploit the capacity of satisfiability solvers, or constraint solvers in general, to get solutions of domain-specific problem instances so as to interleave data processing with such problem-solving techniques. This way of contemplating programming upsets the usual practice of software developers and lays the foundation for an original programming paradigm that has begun to take root in a novel family of programming languages classified under the name <em>solver-aided programming language</em>. This paper explores and compares three of them: <span><math><mi>α</mi></math></span> <span>Rby</span>, <span>ProB</span>, and <span>Rosette</span>. It highlights the wide spectrum of ideas and features that emerged from these research efforts. It reveals how these initial attempts provide valuable clues for how best to design a new generation of programming languages notwithstanding the current limitations of <span><math><mi>α</mi></math></span> <span>Rby</span>, <span>ProB</span>, and <span>Rosette</span> to fully achieve the goal conveyed by the above premise.</p></div>","PeriodicalId":48552,"journal":{"name":"Journal of Computer Languages","volume":"77 ","pages":"Article 101238"},"PeriodicalIF":1.7000,"publicationDate":"2023-09-07","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"0","resultStr":"{\"title\":\"A comparison of three solver-aided programming languages: αRby, ProB, and Rosette\",\"authors\":\"Richard St-Denis\",\"doi\":\"10.1016/j.cola.2023.101238\",\"DOIUrl\":null,\"url\":null,\"abstract\":\"<div><p>The premise of this paper asserts that the source code of software programs must preserve the underlying domain knowledge in the form of declarative domain models and fully exploit the capacity of satisfiability solvers, or constraint solvers in general, to get solutions of domain-specific problem instances so as to interleave data processing with such problem-solving techniques. This way of contemplating programming upsets the usual practice of software developers and lays the foundation for an original programming paradigm that has begun to take root in a novel family of programming languages classified under the name <em>solver-aided programming language</em>. This paper explores and compares three of them: <span><math><mi>α</mi></math></span> <span>Rby</span>, <span>ProB</span>, and <span>Rosette</span>. It highlights the wide spectrum of ideas and features that emerged from these research efforts. It reveals how these initial attempts provide valuable clues for how best to design a new generation of programming languages notwithstanding the current limitations of <span><math><mi>α</mi></math></span> <span>Rby</span>, <span>ProB</span>, and <span>Rosette</span> to fully achieve the goal conveyed by the above premise.</p></div>\",\"PeriodicalId\":48552,\"journal\":{\"name\":\"Journal of Computer Languages\",\"volume\":\"77 \",\"pages\":\"Article 101238\"},\"PeriodicalIF\":1.7000,\"publicationDate\":\"2023-09-07\",\"publicationTypes\":\"Journal Article\",\"fieldsOfStudy\":null,\"isOpenAccess\":false,\"openAccessPdf\":\"\",\"citationCount\":\"0\",\"resultStr\":null,\"platform\":\"Semanticscholar\",\"paperid\":null,\"PeriodicalName\":\"Journal of Computer Languages\",\"FirstCategoryId\":\"94\",\"ListUrlMain\":\"https://www.sciencedirect.com/science/article/pii/S2590118423000485\",\"RegionNum\":3,\"RegionCategory\":\"计算机科学\",\"ArticlePicture\":[],\"TitleCN\":null,\"AbstractTextCN\":null,\"PMCID\":null,\"EPubDate\":\"\",\"PubModel\":\"\",\"JCR\":\"Q3\",\"JCRName\":\"COMPUTER SCIENCE, SOFTWARE ENGINEERING\",\"Score\":null,\"Total\":0}","platform":"Semanticscholar","paperid":null,"PeriodicalName":"Journal of Computer Languages","FirstCategoryId":"94","ListUrlMain":"https://www.sciencedirect.com/science/article/pii/S2590118423000485","RegionNum":3,"RegionCategory":"计算机科学","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"Q3","JCRName":"COMPUTER SCIENCE, SOFTWARE ENGINEERING","Score":null,"Total":0}
引用次数: 0

摘要

本文的前提是,软件程序的源代码必须以声明性领域模型的形式保留底层领域知识,并充分利用可满足性求解器(或一般的约束求解器)的能力来获得特定领域问题实例的解决方案,从而将数据处理与此类问题解决技术交织在一起。这种思考编程的方式颠覆了软件开发人员的常规做法,并为原始编程范式奠定了基础,该范式已开始在一个新的编程语言家族中扎根,该家族被归类为求解器辅助编程语言。本文对其中三种进行了探索和比较:αRby、ProB和Rosette。它强调了从这些研究工作中产生的广泛的思想和特征。它揭示了这些最初的尝试如何为如何最好地设计新一代编程语言提供有价值的线索,尽管αRby、ProB和Rosette目前存在局限性,以完全实现上述前提所传达的目标。
本文章由计算机程序翻译,如有差异,请以英文原文为准。
A comparison of three solver-aided programming languages: αRby, ProB, and Rosette

The premise of this paper asserts that the source code of software programs must preserve the underlying domain knowledge in the form of declarative domain models and fully exploit the capacity of satisfiability solvers, or constraint solvers in general, to get solutions of domain-specific problem instances so as to interleave data processing with such problem-solving techniques. This way of contemplating programming upsets the usual practice of software developers and lays the foundation for an original programming paradigm that has begun to take root in a novel family of programming languages classified under the name solver-aided programming language. This paper explores and compares three of them: α Rby, ProB, and Rosette. It highlights the wide spectrum of ideas and features that emerged from these research efforts. It reveals how these initial attempts provide valuable clues for how best to design a new generation of programming languages notwithstanding the current limitations of α Rby, ProB, and Rosette to fully achieve the goal conveyed by the above premise.

求助全文
通过发布文献求助,成功后即可免费获取论文全文。 去求助
来源期刊
Journal of Computer Languages
Journal of Computer Languages Computer Science-Computer Networks and Communications
CiteScore
5.00
自引率
13.60%
发文量
36
×
引用
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学术官方微信