Dans le monde du logiciel, la conception basée sur un modèle (model based design) s’est imposée comme le meilleur moyen de respecter les exigences de coût, de qualité et de délais.
Un modèle, c’est un ensemble d’équations, lois ou règles qui décrivent le comportement d’un système plus ou moins finement, selon les phénomènes à étudier. Les prototypes physiques peuvent être remplacés par des modèles virtuels, ajustés (calés) sur la base de données expérimentales pour se rapprocher le plus possible de la réalité. La simulation permet alors d’étudier le comportement du système dans tous types de situations (scénarios).
En conception, les mêmes modèles servent aussi à tester en simulation les nouvelles fonctionnalités (par exemple, sur un véhicule hybride, le choix du moteur, thermique ou électrique, selon les situations de conduite).
L’approche model based design permet de gagner du temps dans la conception d’un logiciel embarqué en testant chaque fonctionnalité au fur et à mesure qu’elle est développée. Dès la phase de rédaction du cahier des charges, cette approche permet de tester la faisabilité des exigences client. Chaque étape du développement bénéficie de la méthode, grâce au prototypage rapide et aux solutions de simulation modulaires (hardware in the loop, software in the loop et model in the loop).
L’approche model based design facilite aussi le dimensionnement des systèmes, en montrant très en amont les limites de performances face aux exigences souhaitées.