Program transformation is an appealing technique which allows to improve run-time efficiency, space-consumption and more gener- ally to optimize a given program. Essentially it consists of a se- quence of syntactic program manipulations which preserves some kind of semantic equivalence. One of the basic operations which is used by most program transformation systems is unfolding which consists in the replacement of a procedure call by its definition. While there is a large body of literature on transformation and un- folding of sequential programs, very few papers have addressed this issue for concurrent languages and, to the best of our knowledge, no one has considered unfolding of CHR programs. This paper is a first attempt to define a correct unfolding system for CHR programs. We define an unfolding rule, show its correct- ness and discuss some conditions which can be used to delete an unfolded rule while preserving the program meaning. discuss later.
P. Tacchella, M. Gabbrielli, M.C. Meo (2007). Unfolding in CHR. NEW YORK : ACM Press.
Unfolding in CHR
TACCHELLA, PAOLO;GABBRIELLI, MAURIZIO;
2007
Abstract
Program transformation is an appealing technique which allows to improve run-time efficiency, space-consumption and more gener- ally to optimize a given program. Essentially it consists of a se- quence of syntactic program manipulations which preserves some kind of semantic equivalence. One of the basic operations which is used by most program transformation systems is unfolding which consists in the replacement of a procedure call by its definition. While there is a large body of literature on transformation and un- folding of sequential programs, very few papers have addressed this issue for concurrent languages and, to the best of our knowledge, no one has considered unfolding of CHR programs. This paper is a first attempt to define a correct unfolding system for CHR programs. We define an unfolding rule, show its correct- ness and discuss some conditions which can be used to delete an unfolded rule while preserving the program meaning. discuss later.I documenti in IRIS sono protetti da copyright e tutti i diritti sono riservati, salvo diversa indicazione.