Models and model transformation, as the key concept in model-driven software development (MDSD), require methods to facilitate their use. In MDSD, models are usually defined using meta-models, describing the abstract syntax of the languages. Model transformations are defined based on such descriptions for the source and target languages.We focus on the development, quality assurance, and re-use of model transformations in MDSD. We demonstrate that the existing meta-model based approaches suffer from the over-abstraction via meta-models. While meta-models are able to abstract from details of concrete syntax, they often loose structural information inherent in languages, for example, which elements belong in structures. As a consequence, model transformations cannot re-use such structures, which leads to unnecessary complexity in their development and quality assurance.We propose an approach to the development of transformations, which allows to simplify and improve the quality of transformations via the use of language structures. It is based on context-free graph grammars, used for the definition of languages, and produces transformations, defined by pairing productions of grammars. This way, the explicit structural information can be directly used during the definition of transformations. We prove that the defined transformations exhibit four characteristics: termination, soundness, completeness, and determinism. With respect to the re-use of transformations, we demonstrate that existing approaches require extensions, when multiple inter-linked models are transformed. We proposed a modular approach to the re-use of transformations based on the model weaving technique. This approach allows modeling of inter-relations between the transformed models in a non-invasive and extensible way, as weavings in a configuration model. Furthermore,it enables the non-invasive re-use of existing transformations and of their results.