{"title":"Or-parallel Prolog on a distributed memory architecture","authors":"Fernando Silva , Paul Watson","doi":"10.1016/S0743-1066(99)00064-3","DOIUrl":"10.1016/S0743-1066(99)00064-3","url":null,"abstract":"<div><p>This paper discusses the design of Dorpp, an or-parallel Prolog system for distributed memory architectures. The problem of sharing the environment across a set of nodes that do not physically share memory is addressed in a novel manner by designing a Virtual Shared Memory (VSM) scheme to specifically meet the requirements of or-parallelism. The aim is to avoid the overheads of a general VSM scheme that would provide a stricter level of memory coherence than is actually required. The paper identifies the requirements for memory coherence in or-parallel Prolog, and describes how they can be met cheaply. Simulation results are presented and analyzed in order to highlight key aspects of the system's run-time behavior.</p></div>","PeriodicalId":101236,"journal":{"name":"The Journal of Logic Programming","volume":"43 2","pages":"Pages 173-186"},"PeriodicalIF":0.0,"publicationDate":"2000-05-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"https://sci-hub-pdf.com/10.1016/S0743-1066(99)00064-3","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"125643278","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"OA","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
{"title":"Interprocedural analyses: a comparison","authors":"Helmut Seidl , Christian Fecht","doi":"10.1016/S0743-1066(99)00058-8","DOIUrl":"10.1016/S0743-1066(99)00058-8","url":null,"abstract":"<div><p>We present a framework for program analysis of languages with procedures which is general enough to allow for a comparison of various approaches to interprocedural analysis. Our framework is based on a small-step operational semantics and subsumes both frameworks for imperative and for logic languages. We consider <em>reachability analysis</em>, that is, the problem of approximating the sets of program states reaching program points. We use our framework in order to clarify the impact of several independent design decisions on the precision of the analysis. Thus, we compare intraprocedural <em>forward accumulation</em> with intraprocedural <em>backward accumulation</em>. Furthermore, we consider both <em>relational</em> and <em>functional</em> approaches. While for relational analysis the accumulation strategy makes no difference in precision, we prove for functional analysis that forward accumulation may lose precision against backward accumulation. Concerning the relative precision of relational analyses and corresponding functional analyses, we exhibit scenarios where functional analysis does not lose precision. Finally, we explain why even an enhancement of functional analysis through disjunctive completion of the underlying abstract domain may sometimes lose precision against relational analysis.</p></div>","PeriodicalId":101236,"journal":{"name":"The Journal of Logic Programming","volume":"43 2","pages":"Pages 123-156"},"PeriodicalIF":0.0,"publicationDate":"2000-05-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"https://sci-hub-pdf.com/10.1016/S0743-1066(99)00058-8","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"133779478","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"OA","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
{"title":"Expressive capabilities description languages and query rewriting algorithms","authors":"Vasilis Vassalos , Yannis Papakonstantinou","doi":"10.1016/S0743-1066(99)00026-6","DOIUrl":"10.1016/S0743-1066(99)00026-6","url":null,"abstract":"<div><p>Information integration systems have to cope with a wide variety of different information sources, which support query interfaces with very varied capabilities. To deal with this problem, the integration systems need descriptions of the query capabilities of each source, i.e., the set of queries supported by each source. Moreover, the integration systems need algorithms for deciding how a query can be answered given the capabilities of the sources. Finally, they need to translate a query into the format that the source understands. We present two languages suitable for descriptions of query capabilities of sources and compare their expressive power. We also use one of the languages to automatically derive the capabilities description of the integration system itself, in terms of the capabilities of the sources it integrates. We describe algorithms for deciding whether a query “matches” the description and show their application to the problem of translating user queries into source-specific queries and commands. We propose new, improved algorithms for the problem of answering queries using these descriptions. Finally, we identify an interesting class of source capability descriptions, for which our algorithms are much more efficient.</p></div>","PeriodicalId":101236,"journal":{"name":"The Journal of Logic Programming","volume":"43 1","pages":"Pages 75-122"},"PeriodicalIF":0.0,"publicationDate":"2000-04-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"https://sci-hub-pdf.com/10.1016/S0743-1066(99)00026-6","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"130521126","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"OA","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
D. Aquilino , P. Asirelli , A. Formuso , C. Renso , F. Turini
{"title":"Using MedLan to integrate geographical data","authors":"D. Aquilino , P. Asirelli , A. Formuso , C. Renso , F. Turini","doi":"10.1016/S0743-1066(99)00023-0","DOIUrl":"10.1016/S0743-1066(99)00023-0","url":null,"abstract":"<div><p>In this paper we focus on the application of the declarative mediator language MedLan to the integration of geographical information systems and deductive databases. The language provides the ability to handle multiple logic theories via the notion of program expressions. We present an application example that deals with finding the best habitat for wild boars in a region of Tuscany.</p></div>","PeriodicalId":101236,"journal":{"name":"The Journal of Logic Programming","volume":"43 1","pages":"Pages 3-14"},"PeriodicalIF":0.0,"publicationDate":"2000-04-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"https://sci-hub-pdf.com/10.1016/S0743-1066(99)00023-0","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"121756307","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"OA","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
Elisa Bertino , Barbara Catania , Vincenzo Gervasi , Alessandra Raffaetà
{"title":"A logical approach to cooperative information systems","authors":"Elisa Bertino , Barbara Catania , Vincenzo Gervasi , Alessandra Raffaetà","doi":"10.1016/S0743-1066(99)00024-2","DOIUrl":"10.1016/S0743-1066(99)00024-2","url":null,"abstract":"<div><p>“Cooperative information system management” refers to the capacity of several computing systems to communicate and cooperate in order to acquire, store, manage, query data and knowledge. Current solutions to the problem of cooperative information management are still far from being satisfactory. In particular, they lack the ability to fully model cooperation among heterogeneous systems according to a declarative style. The use of a logical approach to model all aspects of cooperation seems very promising. In this paper, we define a logical language able to support cooperative queries, updates and update propagation. We model the sources of information as deductive databases, sharing the same logical language to express queries and updates, but containing independent, even if possibly related, data. We use the Obj-U-Datalog (E. Bertino, G. Guerrini, D. Montesi, Toward deductive object databases, Theory and Practice of Object Systems 1 (1) (1995) 19–39) language to model queries and transactions in each source of data. Such language is then extended to deal with active rules in the style of Active-U-Datalog (E. Bertino, B. Catania, V. Gervasi, A. Raffaetà, Active-U-Datalog: Integrating active rules in a logical update language, in: B. Freitag, H. Decker, M. Kifer, A. Voronkov (Eds.), LBCS 1472: Transactions and Change in Login Databases, 1998, pp. 106–132; V. Gervasi, A. Raffaetà, Active-U-Datalog: Integrating Active Rules in a Deductive Database, Technical Report 97–19, Dipartimento di Informatica, Pisa, Italy, 1997), interpreted according to the PARK semantics proposed in G. Gottlob, G. Moerkotte, V.S. Subrahmanian (The PARK semantics for active rules, in: P.M.G. Apers, M. Bouzeghoub, G. Gardarin (Eds.), LNCS 1057: Proceedings of the Fifth International Conference on Extending Database Technology, 1996, pp. 35–55). By using active rules, a system can efficiently perform update propagation among different databases. The result is a logical environment, integrating active and deductive rules, to perform update propagation in a cooperative framework.</p></div>","PeriodicalId":101236,"journal":{"name":"The Journal of Logic Programming","volume":"43 1","pages":"Pages 15-48"},"PeriodicalIF":0.0,"publicationDate":"2000-04-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"https://sci-hub-pdf.com/10.1016/S0743-1066(99)00024-2","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"128735804","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"OA","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
Oliver M. Duschka , Michael R. Genesereth , Alon Y. Levy
{"title":"Recursive query plans for data integration","authors":"Oliver M. Duschka , Michael R. Genesereth , Alon Y. Levy","doi":"10.1016/S0743-1066(99)00025-4","DOIUrl":"10.1016/S0743-1066(99)00025-4","url":null,"abstract":"<div><p>Generating query-answering plans for data integration systems requires to translate a user query, formulated in terms of a mediated schema, to a query that uses relations that are actually stored in data sources. Previous solutions to the translation problem produced sets of <em>conjunctive plans</em>, and were therefore limited in their ability to handle recursive queries and to exploit data sources with binding-pattern limitations and functional dependencies that are known to hold in the mediated schema. As a result, these plans were incomplete w.r.t. sources encountered in practice (i.e., produced only a subset of the possible answers). We describe the novel class of <em>recursive</em> query answering plans, which enables us to settle three open problems. First, we describe an algorithm for finding a query plan that produces the maximal set of answers from the sources for arbitrary recursive queries. Second, we extend this algorithm to use the presence of functional and full dependencies in the mediated schema. Third, we describe an algorithm for finding the maximal query plan in the presence of binding-pattern restrictions in the sources. In all three cases, recursive plans are necessary in order to obtain a maximal query plan.</p></div>","PeriodicalId":101236,"journal":{"name":"The Journal of Logic Programming","volume":"43 1","pages":"Pages 49-73"},"PeriodicalIF":0.0,"publicationDate":"2000-04-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"https://sci-hub-pdf.com/10.1016/S0743-1066(99)00025-4","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"134315743","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"OA","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
{"title":"Abstract domains for reordering CLP(RLin) programs","authors":"V. Ramachandran , P. Van Hentenryck , A. Cortesi","doi":"10.1016/S0743-1066(99)00011-4","DOIUrl":"https://doi.org/10.1016/S0743-1066(99)00011-4","url":null,"abstract":"<div><p>In order to address the multi-directional nature of constraint logic programs, recent optimizing compilers generate several versions of a procedure and optimize them independently. Reordering, i.e., moving constraints towards the end of a clause, plays a fundamental role in this optimization: it may lead to significant improvements in performance by bypassing the constraint solver entirely. This paper focuses on CLP over linear real constraints, and studies two abstract domains, i.e., <span>LSign</span> and <span>LInt</span>, which can be used to decide at compile time when constraints can be safely reordered. The domain <span>LSign</span> was originally proposed by Marriott and Stuckey. Its fundamental ideas consist of abstracting coefficients by signs and of keeping multiplicity information on constraints. <span>LInt</span> is a new, and infinite, domain which is similar in nature to <span>LSign</span>, except that signs are replaced by intervals of rational numbers. A comprehensive description of the two domains is given, together with some very preliminary evidence showing that the domains are precise enough to perform the intended optimizations on small programs.</p></div>","PeriodicalId":101236,"journal":{"name":"The Journal of Logic Programming","volume":"42 3","pages":"Pages 217-256"},"PeriodicalIF":0.0,"publicationDate":"2000-03-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"https://sci-hub-pdf.com/10.1016/S0743-1066(99)00011-4","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"91726616","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"OA","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
{"title":"Compositionality of normal open logic programs","authors":"Sofie Verbaeten, Marc Denecker , Danny de Schreye","doi":"10.1016/S0743-1066(99)00003-5","DOIUrl":"https://doi.org/10.1016/S0743-1066(99)00003-5","url":null,"abstract":"<div><p>Compositionality of programs is an important concern in knowledge representation and software development. In the context of Logic Programming, up till now, the issue has mostly been studied for <em>definite</em> programs only. Here, we study compositionality in the context of <em>normal open logic programming</em>. This is a logic for knowledge representation in the context of uncertainty and incomplete knowledge on concepts and on problem domain, in which the compositionality issue turns up very naturally. The semantics of the logic is a generalisation (allowing non-Herbrand interpretations) of the well-founded semantics. We provide a number of results which offer different sufficient conditions under which the models of the composition of two theories can be related to the intersection of the models of the composing theories. In particular, under these conditions, logical consequence will be preserved under composition.</p></div>","PeriodicalId":101236,"journal":{"name":"The Journal of Logic Programming","volume":"42 3","pages":"Pages 151-183"},"PeriodicalIF":0.0,"publicationDate":"2000-03-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"https://sci-hub-pdf.com/10.1016/S0743-1066(99)00003-5","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"91726615","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"OA","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
Moreno Falaschi , Patrick Hicks , William Winsborough
{"title":"Demand transformation analysis for concurrent constraint programs","authors":"Moreno Falaschi , Patrick Hicks , William Winsborough","doi":"10.1016/S0743-1066(99)00004-7","DOIUrl":"https://doi.org/10.1016/S0743-1066(99)00004-7","url":null,"abstract":"<div><p>This paper presents a demand transformation analysis that maps a predicate's output demands to its input demands. This backward dataflow analysis for concurrent constraint programs is constructed in the framework of abstract interpretation. In the context of stream parallelism, this analysis identifies an amount of input data for which predicate execution can safely wait without danger of introducing deadlock. We assume that programs are well-moded and prove that our analysis is safe. We have constructed an implementation of this analysis and tested it on some small, illustrative programs and have determined that it gives useful results in practice. We identify several applications of the analysis results to distributed implementations of concurrent constraint languages, including thread construction and communication granularity control. This analysis will enable existing computational cost estimation analyses to be applied to stream-parallel logic languages.</p></div>","PeriodicalId":101236,"journal":{"name":"The Journal of Logic Programming","volume":"42 3","pages":"Pages 185-215"},"PeriodicalIF":0.0,"publicationDate":"2000-03-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"https://sci-hub-pdf.com/10.1016/S0743-1066(99)00004-7","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"91726617","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"OA","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}