{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2025,11,2]],"date-time":"2025-11-02T17:01:21Z","timestamp":1762102881549},"publisher-location":"California","reference-count":0,"publisher":"International Joint Conferences on Artificial Intelligence Organization","content-domain":{"domain":[],"crossmark-restriction":false},"short-container-title":[],"published-print":{"date-parts":[[2020,7]]},"abstract":"<jats:p>We look at program synthesis where the aim is to automatically synthesize a controller that operates on data structures and from which a concrete program can be easily derived. We do not aim at a fully-automatic process or tool that produces a program meeting a given specification of the program\u2019s behaviour. Rather, we aim at the design of a clear and well-founded approach for supporting programmers at the design and implementation phases. Concretely, we first show that a program synthesis task can be modeled as a generalized planning problem. This is done at an abstraction level where the involved data structures are seen as black-boxes that can be interfaced with actions and observations, the first corresponding to the operations and the second to the queries provided by the data structure. The abstraction level is high enough to capture intuitive and common assumptions as well as general and simple strategies used by programmers, and yet it contains sufficient structure to support the automated generation of concrete solutions (in the form of controllers). From such controllers and the use of standard data structures, an actual program in a general language like C++ or Python can be easily obtained. Then, we discuss how the resulting generalized planning problem can be reduced to an LTL synthesis problem, thus making available any LTL synthesis engine for obtaining the controllers. We illustrate the effectiveness of the approach on a series of examples.<\/jats:p>","DOI":"10.24963\/kr.2020\/16","type":"proceedings-article","created":{"date-parts":[[2020,8,20]],"date-time":"2020-08-20T00:39:16Z","timestamp":1597883956000},"page":"152-161","source":"Crossref","is-referenced-by-count":0,"title":["High-level Programming via Generalized Planning and LTL Synthesis"],"prefix":"10.24963","author":[{"given":"Blai","family":"Bonet","sequence":"first","affiliation":[{"name":"Universidad Simon Bolivar"}]},{"given":"Giuseppe","family":"De Giacomo","sequence":"additional","affiliation":[{"name":"University of Rome \"La Sapienza\""}]},{"given":"Hector","family":"Geffner","sequence":"additional","affiliation":[{"name":"ICREA & Universitat Pompeu Fabra"}]},{"given":"Fabio","family":"Patrizi","sequence":"additional","affiliation":[{"name":"University of Rome \"La Sapienza\""}]},{"given":"Sasha","family":"Rubin","sequence":"additional","affiliation":[{"name":"The University of Sydney"}]}],"member":"10584","event":{"number":"17","sponsor":["Artificial Intelligence Journal","Principles of Knowledge Representation and Reasoning Inc.","Association for Logic Programming","Center for Perspicuous Computing","European Association for Artificial Intelligence","Ontopic - The Virtual Knowledge Graph Company"],"acronym":"KR-2020","name":"17th International Conference on Principles of Knowledge Representation and Reasoning {KR-2020}","start":{"date-parts":[[2020,9,12]]},"theme":"Artificial Intelligence","location":"Rhodes, Greece","end":{"date-parts":[[2020,9,18]]}},"container-title":["Proceedings of the Seventeenth International Conference on Principles of Knowledge Representation and Reasoning"],"original-title":[],"deposited":{"date-parts":[[2020,11,5]],"date-time":"2020-11-05T16:18:31Z","timestamp":1604593111000},"score":1,"resource":{"primary":{"URL":"https:\/\/proceedings.kr.org\/2020\/16"}},"subtitle":[],"proceedings-subject":"Artificial Intelligence Research Articles","short-title":[],"issued":{"date-parts":[[2020,7]]},"references-count":0,"URL":"https:\/\/doi.org\/10.24963\/kr.2020\/16","relation":{},"subject":[],"published":{"date-parts":[[2020,7]]}}}