Constructing Recursions by Similarity

A formal specification can describe software models which are difficult to program. Transformational methods based on fold/unfold strategies have been proposed to palliate this problem. The objective of applying transformations is to filter out a new version of the specification where recursion may...

Full description

Bibliographic Details
Authors: Galán Morillo, Francisco José, Cañete Valdeón, José Miguel, Díaz Madrigal, Víctor Jesús
Format: article
Status:Versión enviada para evaluación y publicación
Publication Date:2003
Country:España
Institution:Universidad de Sevilla (US)
Repository:idUS. Depósito de Investigación de la Universidad de Sevilla
OAI Identifier:oai:idus.us.es:11441/97971
Online Access:https://hdl.handle.net/11441/97971
https://doi.org/10.1590/S0104-65002003000200003
Access Level:Open access
Keyword:Specification transformation
Program synthesis
Correctness preservation
Program specification
Description
Summary:A formal specification can describe software models which are difficult to program. Transformational methods based on fold/unfold strategies have been proposed to palliate this problem. The objective of applying transformations is to filter out a new version of the specification where recursion may be introduced by a folding step. Among many problems, the “eureka” about when and how to define a new predicate is difficult to find automatically. We propose a new version of the folding rule which decides automatically how to introduce new predicates in a specification. Our method is based on finding similarities between formulas represented as parsing trees and it constitutes an assistance to the complex problem of deriving recursive specifications from non recursive ones.