A constraint language for algebraic term based on rewriting theory - Inria - Institut national de recherche en sciences et technologies du numérique Access content directly
Reports (Research Report) Year : 2011

A constraint language for algebraic term based on rewriting theory


A key feature of Model Driven Engineering is the ability to define meta-models, but also constraints that have to be satisfied by their instances. Constraints are expressed in OCL (Object Constraint Language), which became a standard. OCL Constraints offer the possibility to capture properties which cannot be easily encoded in the meta-model. In the programming language community, instead of meta-models, we generally use grammars or algebraic signatures to define the syntax of the programs or abstract syntax trees (AST) we consider. But unfortunately, even when considering rich formalisms such as many-sorted signatures with subtyping or dependent types, they are not expressive enough to encode in a simple way some subsets of terms we want to consider. For instance arithmetic expressions which have at most two levels of plus operator, this includes a, a+b, (a+b)+(b+c), but not a+(b+(c+d)) for instance. There is a need for a constraint language dedicated to tree based data structures such as terms and AST. In this paper we present both a language to express constraints on trees, and a compilation scheme that shows how to translate constraints into an executable formalism based on term rewriting and strategies.
Fichier principal
Vignette du fichier
paper.pdf (188.67 Ko) Télécharger le fichier
Origin : Files produced by the author(s)

Dates and versions

hal-00646343 , version 1 (29-11-2011)


  • HAL Id : hal-00646343 , version 1


François Prugniel, Pierre-Etienne Moreau, Horatiu Cirstea. A constraint language for algebraic term based on rewriting theory. [Research Report] 2011, pp.8. ⟨hal-00646343⟩
122 View
90 Download


Gmail Facebook Twitter LinkedIn More