## Rules and Strategies for Contextual Specialization of Constraint Logic Programs (2000)

### Cached

### Download Links

- [www.iasi.rm.cnr.it]
- [www.iasi.rm.cnr.it]
- DBLP

### Other Repositories/Bibliography

Venue: | Electronic Notes in Theoretical Computer Science 30(2 |

Citations: | 4 - 2 self |

### BibTeX

@INPROCEEDINGS{Fioravanti00rulesand,

author = {Fabio Fioravanti and Alberto Pettorossi and Maurizio Proietti},

title = {Rules and Strategies for Contextual Specialization of Constraint Logic Programs},

booktitle = {Electronic Notes in Theoretical Computer Science 30(2},

year = {2000},

pages = {1--9}

}

### OpenURL

### Abstract

We address the problem of specializing a constraint logic program w.r.t. a constrained atom which specifies the context of use of the program. We follow an approach based on transformation rules and strategies. We introduce a novel transformation rule, called contextual constraint replacement, to be combined with variants of the traditional unfolding and folding rules. We present a general Partial Evaluation Strategy for automating the application of these rules, and two additional strategies: the Context Propagation Strategy which is instrumental for the application of our contextual constraint replacement rule, and the Invariant Promotion Strategy for taking advantage of invariance properties of the computation. We show through some examples the power of our method and we compare it with existing methods for partial deduction of constraint logic programs based on extensions of Lloyd and Shepherdson's approach.

### Citations

786 | Constraint logic programming
- Jaffar, Lassez
- 1987
(Show Context)
Citation Context ...ariable an element of D, we have that: lm(P ; D) j= oe c; A iff lm(P s ; D) j= oe c; A s (1: Contextual Specialization) where, for any program P and domain D, lm(P ; D) denotes the least D-model of P =-=[8]-=-. Thus, contextual specialization is more general than standard specialization performed via partial evaluation [10,21]. Indeed, in the case of partial evaluation, given a CLP(D) program P and a const... |

769 | Constraint logic programming: A survey
- Jaffar, Maher
- 1994
(Show Context)
Citation Context ... been proposed in the literature for achieving program specialization. One of the most well known among these techniques is partial evaluation [9]. In this paper we consider constraint logic programs =-=[7]-=- over a domain D (CLP(D), for short). For this class of programs we assume that the context of use is given by a constrained atom, that is, a conjunction c; A, where c is a constraint over D and A is ... |

642 |
Partial Evaluation and Automatic Program Generation
- Jones, Gomard, et al.
- 1993
(Show Context)
Citation Context ...t is used. Several program transformation techniques have been proposed in the literature for achieving program specialization. One of the most well known among these techniques is partial evaluation =-=[9]-=-. In this paper we consider constraint logic programs [7] over a domain D (CLP(D), for short). For this class of programs we assume that the context of use is given by a constrained atom, that is, a c... |

240 |
Partial evaluation in logic programming
- Lloyd, Shepherdson
- 1987
(Show Context)
Citation Context ...traint replacement rule. Finally, the papers [10,21] report on some correctness results for partial deduction, that is, partial evaluation of logic programs based on Lloyd and Shepherdson 's approach =-=[12]-=-. Apart from some technical issues that make partial deduction different from program specialization based on unfolding/folding rules, we would like to point out that the frameworks described in [10,2... |

131 |
ndergaard. Analysis of constraint logic programs
- Marriott, S
- 1990
(Show Context)
Citation Context ...h variable an element of D, we have that: lm(P ; D) j= c; A i lm(P s ; D) j= c; A s (1: Contextual Specialization) where, for any program P and domain D, lm(P ; D) denotes the least D-model of P [8]=-=-=-. Thus, contextual specialization is more general than standard specialization performed via partial evaluation [10, 20]. Indeed, in the case of partial evaluation, given a CLP(D) program P and a cons... |

103 | Mixtus: an automatic partial evaluator for full prolog
- Sahlin
- 1993
(Show Context)
Citation Context ...icient CLP programs by partial evaluation. Our strategy is a generalization of the strategies for the partial evaluation of definite logic programs using unfold/fold transformation rules presented in =-=[6,18,20]-=-. In our Partial Evaluation Strategy the unfolding steps are performed according to a slightly modified version of the determinate unfolding strategy proposed in [5]. Partial Evaluation Strategy Input... |

50 |
P.J.: The 3 r’s of optimizing constraint logic programs: Refinement, removal and reordering
- Marriott, Stuckey
- 1993
(Show Context)
Citation Context ...programs presented in [2,15], (ii) the method for multiple specialization of logic programs presented in [19], (iii) the method for reducing the workload of the constraint solving engine presented in =-=[14]-=-, and (iv) the method for parameterized partial evaluation of functional programs presented in [3]. In [2,15] the authors present very general approaches to the specialization of definite logic progra... |

45 |
Parameterized partial evaluation
- Consel, Khoo
- 1993
(Show Context)
Citation Context ...tes. In Section 5 we compare our contextual specialization technique to related work in the field of partial deduction [10,21] and specialization of programs w.r.t. properties of their context of use =-=[3,19]-=-. 2 Rules and Strategies for Partial Evaluation of CLP In this section we introduce a set of transformation rules and a strategy for partial evaluation of CLP programs over a domain D. Our rules diffe... |

42 | Redundant argument filtering of logic programs
- Leuschel, Srensen
- 1996
(Show Context)
Citation Context ...e property that the first three arguments of newp(A; B;C; S; I) are indeed redundant, may be discovered by a suitable program analysis (such as the redundant argument filtering technique presented in =-=[11]-=-). This property may also be proved by showing the equivalence: lm(f16;17;16:1;17:1g; D) j=8A; B;C; S; I (newp(A; B;C; S; I) $ newp1(S; I)) which, in turn, may easily be shown by using the unfold/fold... |

42 |
A Transformation System for Deductive Database Modules with Perfect Model Semantics
- Maher
- 1989
(Show Context)
Citation Context ...milarly to what has been done in [17] for the case of partial evaluation of definite logic programs. To this end, we consider variants of the unfolding and folding rules for CLP programs presented in =-=[1,4,13]-=-. In Section 3 we present an extra rule, called contextual constraint replacement, and an extra strategy, called context propagation strategy, which allow us to specialize a set of clauses defining a ... |

37 | Transformations of CLP modules
- Etalle, Gabbrielli
- 1996
(Show Context)
Citation Context ...milarly to what has been done in [17] for the case of partial evaluation of definite logic programs. To this end, we consider variants of the unfolding and folding rules for CLP programs presented in =-=[1,4,13]-=-. In Section 3 we present an extra rule, called contextual constraint replacement, and an extra strategy, called context propagation strategy, which allow us to specialize a set of clauses defining a ... |

30 |
A Method for Specializing Logic Programs
- Bossi, N, et al.
- 1990
(Show Context)
Citation Context ...ch can be used for the specialization of programs w.r.t. properties of their context of use. Among these methods we would like to mention: (i) the methods for specializing logic programs presented in =-=[2,15]-=-, (ii) the method for multiple specialization of logic programs presented in [19], (iii) the method for reducing the workload of the constraint solving engine presented in [14], and (iv) the method fo... |

29 | Synthesis and transformation of logic programs using unfold/fold proofs
- Pettorossi, Proietti
- 1999
(Show Context)
Citation Context ...ty may also be proved by showing the equivalence: lm(f16;17;16:1;17:1g; D) j=8A; B;C; S; I (newp(A; B;C; S; I) $ newp1(S; I)) which, in turn, may easily be shown by using the unfold/fold proof method =-=[16]-=-. 5 Related Work and Conclusions We have presented some transformation rules and strategies for the specialization of constraint logic programs by taking into account their context of use. Our method ... |

28 |
Towards the Partial Evaluation of CLP Languages
- Hickey, Smith
- 1991
(Show Context)
Citation Context ...icient CLP programs by partial evaluation. Our strategy is a generalization of the strategies for the partial evaluation of definite logic programs using unfold/fold transformation rules presented in =-=[6,18,20]-=-. In our Partial Evaluation Strategy the unfolding steps are performed according to a slightly modified version of the determinate unfolding strategy proposed in [5]. Partial Evaluation Strategy Input... |

26 |
Transforming constraint logic programs
- Bensaou, Guessarian
- 1998
(Show Context)
Citation Context ...milarly to what has been done in [17] for the case of partial evaluation of definite logic programs. To this end, we consider variants of the unfolding and folding rules for CLP programs presented in =-=[1,4,13]-=-. In Section 3 we present an extra rule, called contextual constraint replacement, and an extra strategy, called context propagation strategy, which allow us to specialize a set of clauses defining a ... |

25 | Reducing nondeterminism while specializing logic programs
- Pettorossi, Proietti, et al.
- 1997
(Show Context)
Citation Context ...plan of the paper is as follows. In Section 2 we present a reconstruction of the partial evaluation of CLP programs by means of transformation rules and strategies, similarly to what has been done in =-=[17]-=- for the case of partial evaluation of definite logic programs. To this end, we consider variants of the unfolding and folding rules for CLP programs presented in [1,4,13]. In Section 3 we present an ... |

25 | Abstract Multiple Specialization and its Application to Program Parallelization
- Puebla, Hermenegildo
- 1999
(Show Context)
Citation Context ...tes. In Section 5 we compare our contextual specialization technique to related work in the field of partial deduction [10,21] and specialization of programs w.r.t. properties of their context of use =-=[3,19]-=-. 2 Rules and Strategies for Partial Evaluation of CLP In this section we introduce a set of transformation rules and a strategy for partial evaluation of CLP programs over a domain D. Our rules diffe... |

21 |
Tutorial on Specialization of Logic Programs
- Gallagher
- 1993
(Show Context)
Citation Context ...formation rules presented in [6,18,20]. In our Partial Evaluation Strategy the unfolding steps are performed according to a slightly modified version of the determinate unfolding strategy proposed in =-=[5]-=-. Partial Evaluation Strategy Input : A CLP(D) program P and a constrained atom c; A. Output : A CLP(D) program P pe and an atom A pe of the form p pe (X 1 ; : : : ; X h ). Initialization: Def := fp p... |

17 |
Online Partial Deduction of Large Programs
- Prestwich
- 1993
(Show Context)
Citation Context ...icient CLP programs by partial evaluation. Our strategy is a generalization of the strategies for the partial evaluation of definite logic programs using unfold/fold transformation rules presented in =-=[6,18,20]-=-. In our Partial Evaluation Strategy the unfolding steps are performed according to a slightly modified version of the determinate unfolding strategy proposed in [5]. Partial Evaluation Strategy Input... |

8 | A theory of logic program specialization and generalization for dealing with input data properties
- Pettorossi, Proietti
- 1996
(Show Context)
Citation Context ...ch can be used for the specialization of programs w.r.t. properties of their context of use. Among these methods we would like to mention: (i) the methods for specializing logic programs presented in =-=[2,15]-=-, (ii) the method for multiple specialization of logic programs presented in [19], (iii) the method for reducing the workload of the constraint solving engine presented in [14], and (iv) the method fo... |

4 |
Partial Evaluation in Constraint Logic Programming
- Wrzos-Kaminska
- 1996
(Show Context)
Citation Context ...ion) where, for any program P and domain D, lm(P ; D) denotes the least D-model of P [8]. Thus, contextual specialization is more general than standard specialization performed via partial evaluation =-=[10,21]-=-. Indeed, in the case of partial evaluation, given a CLP(D) program P and a constrained atom c; A, we derive a program P pe and an atom A pe such that, for every variable assignment oe, we have that: ... |

3 | Schreye. Constrained partial deduction
- Leuschel, De
- 1997
(Show Context)
Citation Context ...ion) where, for any program P and domain D, lm(P ; D) denotes the least D-model of P [8]. Thus, contextual specialization is more general than standard specialization performed via partial evaluation =-=[10,21]-=-. Indeed, in the case of partial evaluation, given a CLP(D) program P and a constrained atom c; A, we derive a program P pe and an atom A pe such that, for every variable assignment oe, we have that: ... |

1 |
Redundant argument ltering of logic programs
- Leuschel, Srensen
- 1996
(Show Context)
Citation Context ...he property that the rst three arguments of newp(A; B; C; S; I) are indeed redundant, may be discovered by a suitable program analysis (such as the redundant argument ltering technique presented in [1=-=1]-=-). This property may also be proved by showing the equivalence: lm(f16; 17; 16:1; 17:1g; D) j= 8A; B; C; S; I (newp(A; B; C; S; I) $ newp1(S; I)) which, in turn, may easily be shown by using the unfol... |