{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2025,2,21]],"date-time":"2025-02-21T03:38:11Z","timestamp":1740109091640,"version":"3.37.3"},"reference-count":27,"publisher":"Association for Computing Machinery (ACM)","issue":"1","license":[{"start":{"date-parts":[[2017,1,1]],"date-time":"2017-01-01T00:00:00Z","timestamp":1483228800000},"content-version":"unspecified","delay-in-days":0,"URL":"http:\/\/www.springer.com\/tdm"}],"funder":[{"DOI":"10.13039\/501100003130","name":"Fonds Wetenschappelijk Onderzoek","doi-asserted-by":"publisher","award":["G088414N"],"award-info":[{"award-number":["G088414N"]}],"id":[{"id":"10.13039\/501100003130","id-type":"DOI","asserted-by":"publisher"}]}],"content-domain":{"domain":["link.springer.com"],"crossmark-restriction":false},"short-container-title":["Form. Asp. Comput."],"published-print":{"date-parts":[[2017,1]]},"abstract":"<jats:title>Abstract<\/jats:title><jats:p>We provide an approach to formally analyze the computational behavior of coroutines in logic programs and to compile these computations into new programs, not requiring any support for coroutines. The problem was already studied near to 30\u00a0years ago, in an analysis and transformation technique called compiling control. However, this technique had a strong ad hoc flavor: the completeness of the analysis was not well understood and its symbolic evaluation was also rather ad hoc. We show how abstract conjunctive partial deduction, introduced by Leuschel in 2004, provides an appropriate setting to redefine compiling control. We define an abstract domain and all abstract operations required by abstract conjunctive partial deduction. We prove that these concepts satisfy all the correctness conditions imposed by the framework and therefore inherit its main correctness theorem. We also show that there exist more complex coroutining examples which do not fit within abstract conjunctive partial deduction and we propose some further extensions to include them.<\/jats:p>","DOI":"10.1007\/s00165-016-0389-8","type":"journal-article","created":{"date-parts":[[2016,8,12]],"date-time":"2016-08-12T07:26:23Z","timestamp":1470986783000},"page":"125-153","update-policy":"https:\/\/doi.org\/10.1007\/springer_crossmark_policy","source":"Crossref","is-referenced-by-count":2,"title":["Abstract conjunctive partial deduction for the analysis and compilation of coroutines"],"prefix":"10.1145","volume":"29","author":[{"ORCID":"https:\/\/orcid.org\/0000-0003-3561-8575","authenticated-orcid":false,"given":"Vincent","family":"Nys","sequence":"first","affiliation":[{"name":"Department of Computer Science, KU Leuven, Celestijnenlaan 200A, 3001, Heverlee, Belgium"}],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Danny","family":"De Schreye","sequence":"additional","affiliation":[{"name":"Department of Computer Science, KU Leuven, Celestijnenlaan 200A, 3001, Heverlee, Belgium"}],"role":[{"role":"author","vocabulary":"crossref"}]}],"member":"320","reference":[{"key":"e_1_2_1_2_1_2","unstructured":"Boulanger D Bruynooghe M De Schreye D (1993) Compiling control revisited: a new approach based upon abstract interpretation for constraint logic programs. In: Proceedings of the 5th workshop on logic programming environments (LPE 1993) October 29\u201330 1993 in conjunction with ILPS 1993 Vancouver British Columbia Canada pp 39\u201351"},{"key":"e_1_2_1_2_2_2","unstructured":"Bruynooghe M De Schreye D Krekels B (1986) Compiling control. In: Proceedings of the 1986 symposium on logic programming pp 70\u201377 Salt Lake City. IEEE Society Press"},{"key":"e_1_2_1_2_3_2","doi-asserted-by":"publisher","DOI":"10.1016\/0743-1066(89)90033-2"},{"key":"e_1_2_1_2_4_2","doi-asserted-by":"publisher","DOI":"10.5555\/280474"},{"key":"e_1_2_1_2_5_2","doi-asserted-by":"publisher","DOI":"10.1016\/0743-1066(91)80001-T"},{"key":"e_1_2_1_2_6_2","doi-asserted-by":"crossref","unstructured":"De Angelis E Fioravanti F Pettorossi A Proietti (2015) Proving correctness of imperative programs by linearizing constrained horn clauses. TPLP 15(4\u20135):635\u2013650","DOI":"10.1017\/S1471068415000289"},{"key":"e_1_2_1_2_7_2","doi-asserted-by":"publisher","DOI":"10.1016\/S0743-1066(99)00030-8"},{"key":"e_1_2_1_2_8_2","doi-asserted-by":"crossref","unstructured":"De Schreye D Nys V Nicholson C (2014) Analysing and compiling coroutines with abstract conjunctive partial deduction. In: Logic-based program synthesis and transformation. Springer Berlin pp 21\u201338","DOI":"10.1007\/978-3-319-17822-6_2"},{"key":"e_1_2_1_2_9_2","unstructured":"Gallagher JP (1986) Transforming logic programs by specialising interpreters. In: ECAI pp 313\u2013326"},{"key":"e_1_2_1_2_10_2","doi-asserted-by":"publisher","DOI":"10.1017\/S147106840300190X"},{"key":"e_1_2_1_2_11_2","unstructured":"Komorowski HJ (1981) A specification of an abstract Prolog machine and its application to partial evaluation. PhD thesis Link\u00f6ping University"},{"key":"e_1_2_1_2_12_2","doi-asserted-by":"publisher","DOI":"10.1145\/982158.982159"},{"key":"e_1_2_1_2_13_2","doi-asserted-by":"publisher","DOI":"10.5555\/39279"},{"key":"e_1_2_1_2_14_2","doi-asserted-by":"crossref","unstructured":"Leuschel M Martens B (1996) Global control for partial deduction through characteristic atoms and global trees. In: Partial evaluation international seminar Dagstuhl Castle Germany February 12\u201316 1996 Selected Papers pp 263\u2013283","DOI":"10.1007\/3-540-61580-6_13"},{"key":"e_1_2_1_2_15_2","doi-asserted-by":"publisher","DOI":"10.1145\/271510.271525"},{"key":"e_1_2_1_2_16_2","doi-asserted-by":"publisher","DOI":"10.1016\/0743-1066(91)90027-M"},{"key":"e_1_2_1_2_17_2","doi-asserted-by":"publisher","DOI":"10.1016\/0304-3975(94)90203-8"},{"key":"e_1_2_1_2_18_2","doi-asserted-by":"publisher","DOI":"10.1145\/357162.357169"},{"key":"e_1_2_1_2_19_2","unstructured":"Nys V (2004) Extended concepts acpd. http:\/\/perswww.kuleuven.be\/~u0055408\/generalization-acpd.html"},{"key":"e_1_2_1_2_20_2","unstructured":"Nys V (2015) Examples of coroutining programs. http:\/\/perswww.kuleuven.be\/~u0055408\/analyzed-examples-acpd.html"},{"key":"e_1_2_1_2_21_2","unstructured":"Nys V (2016) Implementation of ACPD. http:\/\/perswww.kuleuven.be\/~u0055408\/implementation-acpd.html"},{"key":"e_1_2_1_2_22_2","doi-asserted-by":"crossref","unstructured":"Puebla G Garcia de la Banda MJ Marriott K Stuckey PJ (1997) Optimization of logic programs with dynamic scheduling. In: Logic programming: proceedings of the international conference on logic programming vol 97. MIT Press pp 93\u2013107","DOI":"10.7551\/mitpress\/4299.003.0013"},{"key":"e_1_2_1_2_23_2","doi-asserted-by":"publisher","DOI":"10.1016\/0743-1066(94)90028-0"},{"key":"e_1_2_1_2_24_2","doi-asserted-by":"publisher","DOI":"10.1007\/s001650200011"},{"key":"e_1_2_1_2_25_2","doi-asserted-by":"crossref","unstructured":"Vidal G (2011) A hybrid approach to conjunctive partial evaluation of logic programs. In: Logic-based program synthesis and transformation. Springer Berlin pp 200\u2013214","DOI":"10.1007\/978-3-642-20551-4_13"},{"key":"e_1_2_1_2_26_2","doi-asserted-by":"publisher","DOI":"10.1017\/S1471068412000191"},{"key":"e_1_2_1_2_27_2","unstructured":"Wiggins GA (1990) The improvement of Prolog program efficiency by compiling control: a proof-theoretic view. Department of Artificial Intelligence University of Edinburgh"}],"container-title":["Formal Aspects of Computing"],"original-title":[],"language":"en","link":[{"URL":"http:\/\/link.springer.com\/content\/pdf\/10.1007\/s00165-016-0389-8.pdf","content-type":"application\/pdf","content-version":"vor","intended-application":"text-mining"},{"URL":"http:\/\/link.springer.com\/article\/10.1007\/s00165-016-0389-8\/fulltext.html","content-type":"text\/html","content-version":"vor","intended-application":"text-mining"},{"URL":"https:\/\/dl.acm.org\/doi\/pdf\/10.1007\/s00165-016-0389-8","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"},{"URL":"http:\/\/link.springer.com\/content\/pdf\/10.1007\/s00165-016-0389-8.pdf","content-type":"application\/pdf","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2024,6,18]],"date-time":"2024-06-18T21:08:47Z","timestamp":1718744927000},"score":1,"resource":{"primary":{"URL":"https:\/\/dl.acm.org\/doi\/10.1007\/s00165-016-0389-8"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2017,1]]},"references-count":27,"journal-issue":{"issue":"1","published-print":{"date-parts":[[2017,1]]}},"alternative-id":["10.1007\/s00165-016-0389-8"],"URL":"https:\/\/doi.org\/10.1007\/s00165-016-0389-8","relation":{},"ISSN":["0934-5043","1433-299X"],"issn-type":[{"type":"print","value":"0934-5043"},{"type":"electronic","value":"1433-299X"}],"subject":[],"published":{"date-parts":[[2017,1]]}}}