Context: In order for model-driven engineering to succeed, automated code generation from models through model transformations has to guarantee that extra-functional properties modelled at design level are preserved at code level. Objective: The goal of this research work is to provide a full round-trip engineering approach in order to evaluate quality attributes of the embedded system by code execution monitoring as well as code static analysis and then provide back-propagation of the resulting values to modelling level. In this way, properties that can only be roughly estimated statically are evaluated against observed values and this consequently allows to refine the design models for ensuring preservation of analysed extra-functional properties at code level. Method: Following the model-driven engineering vision, (meta-)models and transformations are used as main artefacts for the realisation of the round-trip support which is finally validated against an industrial case-study. Result: This article presents an approach to support the whole round-trip process starting from the generation of source code for a target platform, passing through the monitoring of selected system quality attributes at code level, and finishing with the back-propagation of observed values to modelling level. The technique is validated against an industrial case-study in the telecommunications applicative domain. Conclusion: Preservation of extra-functional properties through appropriate description, computation and evaluation allows to reduce final product verification and validation effort and costs by providing correctness-by-construction of the generated code. The proposed round-trip support aids a model-driven component-based development process in ensuring a desired level of extra-functional properties preservation from the source modelling artefacts to the generated code.