La complexité croissante des systèmes embarqués les expose à davantage de bogues logiciels, d'erreurs de conception et de failles de sécurité. Les besoins en vérification et en validation sont donc de plus en plus importants.
Pour exécuter et analyser des modèles de ces systèmes, des transformations sont généralement nécessaires pour obtenir (i) le code exécutable pouvant être déployé sur une cible embarquée et (ii) des modèles d'analyse permettant d'appliquer des techniques de vérification formelle (p. ex. de model-checking). Cependant, ces transformations typiquement non-prouvées sont à l'origine de fossés sémantiques et nécessitent d'établir une relation d'équivalence entre le code exécutable et les modèles d'analyse afin de garantir que ce qui est exécuté est bien ce qui a été vérifié. Pour unifier les activités d'analyse et l'exécution embarquée de modèles, l'approche EMI repose sur un interpréteur de modèles pilotable permettant d'utiliser un unique couple (modèle + sémantique) pour toutes les activités de développement logiciel. Pour évaluer cette approche, un interpréteur de modèles UML a été conçu et appliqué à différents cas d'études de systèmes embarqués afin de mettre en œuvre diverses activités d'analyse (p. ex. simulation, animation, débogage, model-checking, monitoring).