Hostname: page-component-89b8bd64d-sd5qd Total loading time: 0 Render date: 2026-05-08T18:42:09.402Z Has data issue: false hasContentIssue false

Unfolding for CHR programs

Published online by Cambridge University Press:  08 October 2013

MAURIZIO GABBRIELLI
Affiliation:
Department of Computer Science/Focus, Università di Bologna/INRIA Mura Anteo Zamboni 7, 40127 Bologna, Italy (email: gabbri@cs.unibo.it)
MARIA CHIARA MEO
Affiliation:
Dipartimento di Economia, Università di Chieti-Pescara Viale Pindaro 42, 65127 Pescara, Italy (email: cmeo@unich.it)
PAOLO TACCHELLA
Affiliation:
Università di Bologna, Mura Anteo Zamboni 7, 40127 Bologna, Italy (email: Paolo.Tacchella@cs.unibo.it)
HERBERT WIKLICKY
Affiliation:
Imperial College London, 180 Queen's Gate, London SW7 2BZ, UK (email: herbert@doc.ic.ac.uk)

Abstract

Program transformation is an appealing technique which allows to improve run-time efficiency, space-consumption, and more generally to optimize a given program. Essentially, it consists of a sequence of syntactic program manipulations which preserves some kind of semantic equivalence. Unfolding is one of the basic operations used by most program transformation systems and consists of the replacement of a procedure call by its definition. While there is a large body of literature on the transformation and unfolding of sequential programs, very few papers have addressed this issue for concurrent languages. This paper defines an unfolding system for Constraint Handling Rules programs. We define an unfolding rule, show its correctness and discuss some conditions that can be used to delete an unfolded rule while preserving the program meaning. We also prove that, under some suitable conditions, confluence and termination are preserved by the above transformation.

Information

Type
Regular Papers
Copyright
Copyright © Cambridge University Press 2013 

Access options

Get access to the full version of this content by using one of the access options below. (Log in options will check for institutional or personal access. Content may require purchase if you do not have access.)

Article purchase

Temporarily unavailable