A modern feature of constraint languages is the ability of compiling a model into a set of solver languages. This allows one to model a problem in a single language and to execute it in a set of solver engines. The idea is to facilitate experimentation as well as model sharing. The common architecture to support this task is composed of three layers: an upper layer for the modeling language, a bottom layer for the solver language, and a middle one for performing the mapping process. However, this architecture has an important inconvenience: there is no mechanism for updating the modeling language. This paper addresses this concern by introducing a simple description language for extending the syntax of the modeling language. The goal is to make the architecture adaptable to further upgrades of the solver layer.