Complete OCL supports definition of an OCL document that complements an existing meta-model. It provides for the definition of pre/post-conditions on operations.
If your transformation language provides a metamodel, as QVT does, then since a Transformation is-a Class you could add invariants to the Transformation. However a Rule is not an Operation so you cannot add pre/post-conditions to Rules.
However you write vaguely that you want transformation pre/post-conditions. What are they? A declarative model transformation has only two states, the input and the output, so do you really just mean a set of invariants on the input and a set of invariants on the output? These can be specified by Complete OCL using your input/output meta-models totally independent of your unspecified transformation technology.
If you are looking towards new technology, I can see a case whereby a transformation language's input/output model declarations could be extended to support invariants that could optionally be checked at run-time and could be exploited by the execution.
Thanks for your answer and sorry, my question was not clear. The transformation constraints are as follow :
constraints on a model to be transformed
constraints on a model to be a valid result of the transformation (these constraints are independent of the source model)
constraints on the evolution between source and target models
My OCL constraints specification doesn't depend on a language or an execution (but they are specific to input/output metamodel). My goal is to be able to express them conforming to a metamodel in order provide them as input of a higher order transformation.