Transforming rule-based programs: from the sequential to the parallel

R. Gamble
{"title":"Transforming rule-based programs: from the sequential to the parallel","authors":"R. Gamble","doi":"10.1145/98894.98939","DOIUrl":null,"url":null,"abstract":"Conflict resolution is a form of global control used in production systems to achieve an efficient sequential execution of a rule-based program. This type of control is not used in parallel production system models[6, 13]. Instead, only those programs are executed which make no assumptions regarding conflict resolution. Therefore, the initial sequential rule-based programs are either executed in parallel without their conflict resolution strategy, which normally results in incorrect behavior, or the programs are transformed in an ad hoc manner to execute on a particular parallel production system model. As a result, these programs do not exhibit the parallelism hoped for [10, 13]. We believe that a second reason behind the lack of parallelism is that no formal methods of verifying the correctness of rule-based programs are utilized. Correctness is especially important when conflict resolution is no longer utilized, because it necessary to transform sequential rule-based programs into equivalent programs without conflict resolution. Also, the parallel execution of a rule-based program is more complex and demands these formal methods even more than its sequential counterpart. We are concerned with designing and developing correct rule-based programs for parallel execution. In this paper, we show the difficulty in transforming a simple sequential rule-based program to a new version of the program with no conflict resolution. Also, we show that the use of a new programming paradigm and language may result in more efficient programs which are provably correct, and can be executed in parallel.","PeriodicalId":175812,"journal":{"name":"Proceedings of the 3rd international conference on Industrial and engineering applications of artificial intelligence and expert systems - Volume 2","volume":"31 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"1990-06-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"9","resultStr":null,"platform":"Semanticscholar","paperid":null,"PeriodicalName":"Proceedings of the 3rd international conference on Industrial and engineering applications of artificial intelligence and expert systems - Volume 2","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1145/98894.98939","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 9

Abstract

Conflict resolution is a form of global control used in production systems to achieve an efficient sequential execution of a rule-based program. This type of control is not used in parallel production system models[6, 13]. Instead, only those programs are executed which make no assumptions regarding conflict resolution. Therefore, the initial sequential rule-based programs are either executed in parallel without their conflict resolution strategy, which normally results in incorrect behavior, or the programs are transformed in an ad hoc manner to execute on a particular parallel production system model. As a result, these programs do not exhibit the parallelism hoped for [10, 13]. We believe that a second reason behind the lack of parallelism is that no formal methods of verifying the correctness of rule-based programs are utilized. Correctness is especially important when conflict resolution is no longer utilized, because it necessary to transform sequential rule-based programs into equivalent programs without conflict resolution. Also, the parallel execution of a rule-based program is more complex and demands these formal methods even more than its sequential counterpart. We are concerned with designing and developing correct rule-based programs for parallel execution. In this paper, we show the difficulty in transforming a simple sequential rule-based program to a new version of the program with no conflict resolution. Also, we show that the use of a new programming paradigm and language may result in more efficient programs which are provably correct, and can be executed in parallel.
转换基于规则的程序:从顺序到并行
冲突解决是生产系统中使用的一种全局控制形式,用于实现基于规则的程序的有效顺序执行。这种类型的控制不用于并行生产系统模型[6,13]。相反,只执行那些对冲突解决没有任何假设的程序。因此,最初的顺序的基于规则的程序要么在没有冲突解决策略的情况下并行执行,这通常会导致不正确的行为,要么程序以一种特殊的方式被转换为在特定的并行生产系统模型上执行。因此,这些程序没有表现出所希望的并行性[10,13]。我们认为,缺乏并行性背后的第二个原因是没有使用正式的方法来验证基于规则的程序的正确性。当不再使用冲突解决方案时,正确性尤为重要,因为有必要将顺序的基于规则的程序转换为没有冲突解决的等效程序。此外,基于规则的程序的并行执行更加复杂,比顺序执行的程序更需要这些形式化方法。我们关心的是为并行执行设计和开发正确的基于规则的程序。在本文中,我们展示了将一个简单的基于顺序规则的程序转换为一个没有冲突解决的程序的新版本的困难。此外,我们还表明,使用新的编程范式和语言可能会产生更高效的程序,这些程序可以被证明是正确的,并且可以并行执行。
本文章由计算机程序翻译,如有差异,请以英文原文为准。
求助全文
约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学术文献互助群
群 号:604180095
Book学术官方微信