El paradigma MDD (Model Driven Development) tiene dos ejes principales: - por un lado hace énfasis en la separación entre la especificación de la funcionalidad esencial del sistema y la implementación de dicha funcionalidad usando plataformas tecnológicas específicas. Los modelos son considerados los conductores primarios en todos los aspectos del desarrollo de software. La transformación entre modelos constituye el motor del MDD y de esta manera los modelos pasan de ser entidades meramente contemplativas a ser entidades productivas. Existe también una visión genérica sobre la metodología MDD, en la cual el proceso de desarrollo de software es implementado mediante una red de transformaciones que se combinan o componen en modos diversos. La habilidad de organizar o componer diferentes transformaciones en manera flexible y confiable con el fin de producir el resultado requerido, es un desafío principal en MDD. Este trabajo tiene como objetivo general definir una base formal para lenguajes de transformación de modelos. Constituye así un aporte a la madurez de estos lenguajes en el contexto MDD.