**A Tool Support for Reusing ELAN Rule-Based Components **

A. Martins Moreia (Universidade Federal do Rio Grande do Norte, Natal, Brazil)

C. Ringeissen
(LORIA-INRIA, France)

A. Santana (Universidade Federal do Rio Grande do Norte, Natal, Brazil)

**OnDemandOBJ: A Laboratory for Strategy Annotations**

M. Alpuente
(Universidad Politécnica de Valencia, Spain)

S. Escobar
(Universidad Politécnica de Valencia, Spain)

S. Lucas
(Universidad Politécnica de Valencia, Spain)

Strategy annotations are used in rule-based
programming languages such as
OBJ2, OBJ3, CafeOBJ, and Maude
to improve efficiency
and/or reduce the risk of nontermination.
Syntactically, they are given either as lists of natural numbers or as
lists of integers associated to function symbols whose (absolute) values
refer to the arguments of the corresponding symbol. A positive index
enables the evaluation of an argument whereas a negative index means
``evaluate on-demand''.
In this paper,
we present OnDemandOBJ, an
implementation
of strategy-guided on-demand evaluation,
which
improves previous
mechanizations
that were lacking satisfactory computational
properties.

**On-Demand evaluation by program transformation**

M. Alpuente
(Universidad Politécnica de Valencia, Spain)

S. Escobar
(Universidad Politécnica de Valencia, Spain)

S. Lucas
(Universidad Politécnica de Valencia, Spain)

Strategy annotations are used in eager programming languages (e.g.,
OBJ2, OBJ3, CafeOBJ, and Maude) for improving efficiency
and/or reducing the risk of nontermination.
Syntactically, they are given either as lists of natural numbers or as
lists of integers associated to function symbols whose (absolute) values
refer to the arguments of the corresponding symbol. A positive index
enables the evaluation of an argument whereas a negative index means
``evaluation on-demand''. Recently, we have introduced a formal description
of the operational meaning of such on-demand strategy annotations which
improves previous formalizations that were lacking satisfactory computational
properties.
In this paper, we
introduce an automatic, semantics--preserving program transformation which
produces a program
(without negative annotations)
which can be then correctly executed by typical
OBJ interpreters.
Moreover, to demonstrate the practicality of our ideas,
the program transformation
has
been implemented (in Haskell) and we compare
the evaluation of transformed programs with the original ones
on a set of representative benchmarks.

**Domain-Specific Optimisation with User-Defined Rules in CodeBoost**

O.S. Bagge (University of Bergen, Norway)

M. Haveraaen (University of Bergen, Norway)

** Translating Combinatory Reduction Systems into the Rewriting Calculus**

C. Bertolissi (LORIA-INPL, France)

H. Cirstea
(LORIA-Nancy 2, France)

C. Kirchner
(LORIA-INRIA, France)

**Deductive Generation of Constraint Propagation Rules**

S. Brand (CWI, Amsterdam, The Netherlands)

E. Monfroy
(Université de Nantes, France)

Constraint propagation can often be conveniently captured in a
rule-based paradigm. In recent years, a number of techniques for
automatic generation of rule-based constraint solvers have been
described. Most of them use the generate-and-test principle. We present
here a rule-generation method that is based on deduction. A solver for
a simple constraint represented by a rule set is transformed into a new
solver for a complex constraint, with a guarantee on the associated
consistency notion. We describe deductive incremental constructions of
constraint solvers for several types of constraint definitions, among
them conjunction, universal and existential quantification, and
restriction.

**Typing rule-based transformations over topological collections**

J. Cohen
(LaMI-CNRS, Évry, France)

Pattern-matching programming is an example of a rule-based programming
style developed in functional languages. This programming style is
intensively used in dialects of ML but is restricted to algebraic
data-types.
This restriction limits the application domain. However, as shown
by Giavitto and Michel at RULE'02, case-based function definitions can be
extended to more general data structures called topological
collections. We show in this paper that this extension retains the
benefits of the typed discipline of the functional languages. More
precisely, we show that topological collections and the rule-based
definition of functions associated with them fit in a polytypic
extension of mini-ML where type inference is still possible.

**Design and Implementation of the L+C Modeling Language**

R. Karwowski (University of Calgary, Canada)

P. Prusinkiewicz (University of Calgary, Canada)