After being considered only as documentation for a long time, models are gaining more and more importance in the software
development lifecycle, as full software artefacts. The UML standard contributes a lot to this mutation, with the identification
and the structuration of models space dimensions and constructs. Models can nowadays be explicitly manipulated through metamodeling
techniques,
... [Show full abstract] dedicated tools or processes such as model transformation chains. This is ”Model Driven Engineering”. Once it
is clear that models are full software ingredients, we are faced with new problems (needs!) such as the possibility of their
reusability and composability. As a consequence, specific constructs are introduced in order to facilitate this, such as the
template notion initiated by UML1.3. Applications of this notion are growing more and more so that it was deeply revisited
and strengthened in UML2. Though, its specification still lacks precision, particularly concerning the ”binding” mechanism
that allows to obtain models from templates. We propose a set of OCL constraints which strengthens the definition and helps
in verifying the correctness of resulting models. These constraints apply to the UML2 metamodel and were implemented in an
OCL verifier that we integrated in the Eclipse environment.