Skip to Main Content (Press Enter)

Logo CNR
  • ×
  • Home
  • Persone
  • Pubblicazioni
  • Strutture
  • Competenze

UNI-FIND
Logo CNR

|

UNI-FIND

cnr.it
  • ×
  • Home
  • Persone
  • Pubblicazioni
  • Strutture
  • Competenze
  1. Pubblicazioni

Developing Correct and Efficient Logic Programs by Transformation

Articolo
Data di Pubblicazione:
1996
Abstract:
The complex process of deriving programs from specifications is often divided into the following three steps: i) the derivation of formal specifications from the informal ones, ii) the validation of the formal specifications, and iii) the derivation of executable programs from the formal specifications. Each step of this derivation process can be supported by the use of elegant and well-understood notions of mathematical logic. In particular, from informal specifications given as sentences in a restricted form of the natural language, one can derive formal specifications as formulas of a first order logical theory [20]. One may then validate the derived formal specifications by checking whether or not they are consistent and satisfy some suitable properties. Finally, as we will illustrate in this paper, from formal specifications one may obtain executable, efficient programs by using techniques for transforming logic programs. This is, indeed, one of the reasons that makes logic programming very attractive for program construction. During this final step from specifications to programs, in order to improve efficiency one may want to use program transformation for avoiding multiple visits of data structures, or replacing complex forms of recursion by tail recursion, or reducing nondeterminism of procedures.
Tipologia CRIS:
01.01 Articolo in rivista
Elenco autori:
Proietti, Maurizio
Autori di Ateneo:
PROIETTI MAURIZIO
Link alla scheda completa:
https://iris.cnr.it/handle/20.500.14243/3728
Pubblicato in:
KNOWLEDGE ENGINEERING REVIEW
Journal
  • Utilizzo dei cookie

Realizzato con VIVO | Designed by Cineca | 26.5.0.0 | Sorgente dati: PREPROD (Ribaltamento disabilitato)