The complexity of modern software systems is ever increasing thus demanding new powerful development mechanisms. In the research work summarised in this paper we aim at providing a model-driven engineering approach centred on the generation of 100% of the implementation from source models defined using a UML profile enriched with Action Language for Foundational UML. The focus is on the development of industrial embedded systems. The final aim is to increase productivity by automating development tasks through the exploitation of model-driven and component-based techniques as well as to tackle the error-proneness typical of code-based approaches.