Adacore accélère les développements des applications pour l’embarqué critique

Avec GNATemulator et GNATcoverage, Adacore entend simplifier les développements, phases de tests et processus de certifications indispensables aux applications critiques destinées à l’embarqué tel que l’avionite.

« Si vous travaillez dans l’embarqué, l’usage d’un émulateur vous change la vie. C’est fondamental, cela permet de faire de l’embarqué avec une méthode agile. » Quentin Ochem, responsable technique chez Adacore, éditeur open source spécialisé dans le langage Ada, s’emballe pour GNATemulator, un outil qui, comme son nom l’indique, permet de tester simplement et rapidement le code des logiciels destinés à l’embarqué. Selon le responsable, avec GNATemulator « une semaine de test est réduite à une demi heure. ».

Rappelons que le domaine de l’embarqué s’inscrit généralement dans un schéma de développement lourd qui nécessite des tests sur des simulateurs ou directement sur les solutions matérielles auxquelles les applications sont destinées. Dans les deux cas, les projets demandent un environnement matériel souvent onéreux et nécessite beaucoup de temps. Deux barrières que GNATemulator entend faire sauter en ramenant la découverte des bugs directement sur le poste de travail des développeurs et éviter ainsi les allers-retours avec le matériel de test.

GNATcoverage pour les applications hautement critiques

L’outil d’Adacore se veut léger (une solution purement logicielle) et efficace en assurant le traitement à la volée des instructions. De plus, la solution est indépendante du langage et du compilateur utilisés et supporte un ensemble d’architectures (processeurs PowerPC, environnements ERC32/Leon, VxWorks…). Conçu à partir de la technologie de virtualisation open source Quemu, GNATemulator s’intègre à la suite d’outils GNAT Pro et peut s’utiliser avec le débogueur de GNAT (issu de Programming Studio) et, surtout, GNATcoverage, également signé par l’éditeur français.

GNATcoverage est l’autre projet d’importance qu’a récemment présenté Adacore. Là encore, il s’agit pas moins d’accélérer les développements des applications embarquées nécessitant de hauts niveaux de certification (DO-178B niveau A, EN 50128, IEC 61508, ECCS-E40B) que l’on retrouve dans les secteurs de l’aviation, du ferrovière ou de l’armement. « Des secteurs où l’on n’a pas droit à l’erreur », rappelle Jamie Ayre, directeur marketing d’Adacore. Mais surtout, GNATcoverage se concentre sur la qualité du code.

Deux ans de développement

Issu du projet de recherche Couverture qui a nécessité deux ans de développement, GNATcoverage permet d’analyser la couverture à la fois sur le code objet (instructions objet et branches) et sur le code source Ada ou C (instructions source, décisions et du Modified Condition/Decision Coverage (MC/DC). L’outil s’appuie notamment sur GNATemulator pour éviter l’instrumentation de l’exécutable à tester. « Adacore a réussi à combiner une approche par instrumentation et par exécution sur machine », justifie Quentin Ochem. Ce qui permet de ne travailler que sur un seul exécutable depuis la plate-forme de développement, le même qui tournera sur la machine hôte. De plus, plusieurs instances de l’application pouvant être lancées simultanément, la phase des tests de couverture ne pourra que s’en trouver accélérée.

Au final, le testeur permet de « repérer les endroits par où on est passé lors de l’exécution du code ». Une traçabilité du code tel qu’il fonctionnera sur sa machine hôte qui consolide les résultats du test et simplifie sa vérification. Ce qui permet de mieux estimer l’exhaustivité d’une campagne de tests facilitant ainsi l’obtention des précieux certificats qui valideront la commercialisation de tel ou tel appareil embarqué, particulièrement indispensables en avionique. Si demain nos avions volent mieux, Adacore n’y sera sûrement pas totalement étranger…