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’s 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.

High-level programming via generalized planning and LTL synthesis / Bonet, Blai; De Giacomo, Giuseppe; Geffner, Hector; Patrizi, Fabio; Rubin, Sasha. - (2020), pp. 152-161. (Intervento presentato al convegno International Conference on the Principles of Knowledge Representation and Reasoning tenutosi a Rhodes, Greece) [10.24963/kr.2020/16].

High-level programming via generalized planning and LTL synthesis

De Giacomo, Giuseppe
;
Patrizi, Fabio;
2020

Abstract

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’s 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.
2020
International Conference on the Principles of Knowledge Representation and Reasoning
Artificial intelligence; knowledge representation; reasoning about actions
04 Pubblicazione in atti di convegno::04b Atto di convegno in volume
High-level programming via generalized planning and LTL synthesis / Bonet, Blai; De Giacomo, Giuseppe; Geffner, Hector; Patrizi, Fabio; Rubin, Sasha. - (2020), pp. 152-161. (Intervento presentato al convegno International Conference on the Principles of Knowledge Representation and Reasoning tenutosi a Rhodes, Greece) [10.24963/kr.2020/16].
File allegati a questo prodotto
File Dimensione Formato  
Bonet_High-level_2020.pdf

accesso aperto

Note: https://doi.org/10.24963/kr.2020/16
Tipologia: Versione editoriale (versione pubblicata con il layout dell'editore)
Licenza: Tutti i diritti riservati (All rights reserved)
Dimensione 178.35 kB
Formato Adobe PDF
178.35 kB Adobe PDF

I documenti in IRIS sono protetti da copyright e tutti i diritti sono riservati, salvo diversa indicazione.

Utilizza questo identificativo per citare o creare un link a questo documento: https://hdl.handle.net/11573/1506317
Citazioni
  • ???jsp.display-item.citation.pmc??? ND
  • Scopus 7
  • ???jsp.display-item.citation.isi??? 1
social impact