{"title":"An execution scheme for interactive problem-solving in concurrent constraint logic programming languages","authors":"Jimmy H.M. Lee, Ho-fung Leung","doi":"10.1016/S0096-0551(99)00013-2","DOIUrl":null,"url":null,"abstract":"<div><p>Van Emden’s <em>incremental queries</em> address the inadequacy of current Prolog-style querying mechanism in most logic programming systems for interactive problem-solving. In the context of constraint logic programming, incremental queries involve adding new constraints or deleting old ones from a query after a solution is found. This paper presents an implementation scheme IQ of incremental queries in Constraint Pandora, which defines a class of non-deterministic concurrent constraint logic programming languages. We use Van Hentenryck and Le Provost’s scheme (VHLP-scheme hereafter), a re-execution approach, as a starting point. Re-execution is costly in concurrent languages, in which process creation and inter-process communications are common operations. The main idea of IQ is that the basic trail unwinding operation used in backtracking is more efficient than re-execution in reaching an execution context along a recorded execution path. We modify the conventional trail-unwinding operation in such a way that constraints are used actively to prune the search space. Analysis shows that the IQ-scheme is at least as efficient as the VHLP-scheme in sequential systems and is much more efficient in concurrent systems. We show the feasibility of our proposal by incorporating the IQ-scheme into IFD-Constraint Pandora, an instance of Constraint Pandora supporting interval and finite domain constraint solving. Our preliminary results agree with that of theoretical analysis.</p></div>","PeriodicalId":100315,"journal":{"name":"Computer Languages","volume":"25 3","pages":"Pages 119-144"},"PeriodicalIF":0.0000,"publicationDate":"1999-10-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"https://sci-hub-pdf.com/10.1016/S0096-0551(99)00013-2","citationCount":"1","resultStr":null,"platform":"Semanticscholar","paperid":null,"PeriodicalName":"Computer Languages","FirstCategoryId":"1085","ListUrlMain":"https://www.sciencedirect.com/science/article/pii/S0096055199000132","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 1
Abstract
Van Emden’s incremental queries address the inadequacy of current Prolog-style querying mechanism in most logic programming systems for interactive problem-solving. In the context of constraint logic programming, incremental queries involve adding new constraints or deleting old ones from a query after a solution is found. This paper presents an implementation scheme IQ of incremental queries in Constraint Pandora, which defines a class of non-deterministic concurrent constraint logic programming languages. We use Van Hentenryck and Le Provost’s scheme (VHLP-scheme hereafter), a re-execution approach, as a starting point. Re-execution is costly in concurrent languages, in which process creation and inter-process communications are common operations. The main idea of IQ is that the basic trail unwinding operation used in backtracking is more efficient than re-execution in reaching an execution context along a recorded execution path. We modify the conventional trail-unwinding operation in such a way that constraints are used actively to prune the search space. Analysis shows that the IQ-scheme is at least as efficient as the VHLP-scheme in sequential systems and is much more efficient in concurrent systems. We show the feasibility of our proposal by incorporating the IQ-scheme into IFD-Constraint Pandora, an instance of Constraint Pandora supporting interval and finite domain constraint solving. Our preliminary results agree with that of theoretical analysis.
Van Emden的增量查询解决了当前大多数逻辑编程系统中prolog风格的查询机制在交互式问题解决方面的不足。在约束逻辑编程的上下文中,增量查询涉及在找到解决方案后从查询中添加新约束或删除旧约束。本文提出了一种约束潘多拉中增量查询的实现方案IQ,该方案定义了一类不确定并发约束逻辑编程语言。我们使用Van henenryck和Le Provost的方案(以下简称vhlp方案),一种重新执行的方法,作为起点。在并发语言中,重新执行的代价很高,在并发语言中,进程创建和进程间通信是常见的操作。IQ的主要思想是回溯中使用的基本轨迹展开操作比沿着记录的执行路径到达执行上下文的重新执行更有效。我们修改了传统的尾部展开操作,这样就可以主动使用约束来精简搜索空间。分析表明,iq方案在顺序系统中至少与vhp方案一样高效,而在并发系统中效率更高。我们通过将IQ-scheme结合到IFD-Constraint Pandora(约束Pandora支持区间和有限域约束求解的实例)中来证明了我们的建议的可行性。初步结果与理论分析一致。