En esta tesis describimos las principales aportaciones de nuestras actividades de investigación. Estas actividades se enmarcan en el tema de las arquitecturas de software en un contexto de tiempo real distribuido embebido (TR2E). Se describen cuatro contribuciones principales: reconfiguración dinámica, tolerancia a fallos, optimización multiobjetivo y verificación formal de sistemas TR2E. Todas estas contribuciones se basan en lenguajes de descripción de arquitecturas (ADL) como pilar principal de modelado, debido a la potentísima capacidad de expresión de los ADL, que permite describir la arquitectura global de un sistema antes de utilizar técnicas de transformación de modelos y generación de código para llevar a cabo las distintas acciones relacionadas con cada una de las contribuciones. Utilizamos ampliamente estas técnicas para maximizar la automatización y reducir la cantidad de código escrito a mano por el desarrollador.