Résumé
SCADE 6 est un harmonieux mélange de Lustre, base de SCADE 4 utilisé par exemple pour l’Airbus A380, d’Esterel pour sa vision du contrôle synchrone, et des SyncCharts de C. André qui une version synchrone des Statecharts de D. Harel. SCADE 6 y ajoute un traitement fonctionnel des tableaux de données et de processus. Il est intégré dans un atelier logiciel, qui comporte des interfaces avec des méthodes de spécification de haut niveau (Simulink, SysML, etc.) et des outils de génie logiciel (documentation, simulation, gestion de tests, etc.). La compilation de SCADE 6 est soumise à des contraintes dures, le compilateur étant lui-même certifié au niveau maximal A de la norme DO-178B. Sa certification repose sur une documentation et des tests extensifs, et, techniquement, sur un mécanisme de traçabilité complète du code source au code objet. Elle est facilitée par la sémantique mathématique du langage et lui donne un avantage commercial considérable.
B. Pagano a présenté le langage et ses méthodes de compilation, en insistant sur les points techniques originaux : traduction du graphique en texte, ordonnancement conduisant à des codes générés efficaces, détection des problèmes de causalité par typage statique, polymorphisme des types et traitement des tableaux – très propre conceptuellement mais dont l’efficacité reste améliorable.