J'ai eu la chance d'être développeur de logiciels pendant des années et travaille maintenant en tant qu'ingénieur en électronique.
Tout système complexe présente des erreurs et des bogues. Les microcontrôleurs et les circuits intégrés présentent des avantages et des inconvénients en fonction de leurs domaines d’utilisation.
Pour les projets de petite taille, les circuits intégrés sont plus rapides, moins chers et plus fiables que les microcontrôleurs. Pour les projets à grande échelle comportant des millions d'entrées, de logiques d'analyse et de comparaison, les microcontrôleurs ont certainement l'avantage sur les circuits intégrés.
Tous les logiciels échouent à un moment donné, même le code sans bogues est sujet à des modifications car il est enregistré sur une ROM, ce qui entraîne des erreurs logiques (par exemple, des fuites de mémoire) qui sont difficiles à détecter, mais aboutissent parfois à des conséquences catastrophiques.
Afin de protéger les systèmes logiciels contre les pannes des applications critiques (telles que les systèmes de niveau militaire ou les systèmes de sauvetage, tels que les systèmes de contrôle des trains), des concepts de "sécurité intégrée" sont mis en œuvre et développés.
Les systèmes à sécurité intégrée reviennent à un état sûr en cas d'erreur exceptionnelle. En général, deux processeurs exécutent le même code, comparent les résultats de chaque instruction et, s'ils sont égaux, l'instruction est exécutée. Sinon, le système utilise des relais électriques physiques pour revenir à un état sûr.
Les systèmes à base de logiciel Fail Safe sont utilisés dans les systèmes de verrouillage de train et ATPs (Automatic Train Protection).
Concevoir le même système complexe avec Ics est un casse-tête génial pour tout ingénieur. Et c'est pourquoi le logiciel a été conçu dès le premier jour!