Rejoignez-nous le 30 avril : dévoilement de Parasoft C/C++test CT pour l'excellence en matière de tests continus et de conformité | En savoir plus

Exigences d'architecture AUTOSAR sur les environnements d'exécution

Portrait de Ricardo Camacho, directeur de la conformité de la sûreté et de la sécurité
20 avril 2021
4 min lire

AUTOSAR fournit les directives de fabrication pour développer des logiciels embarqués pour les unités de commande électroniques automobiles. Ce logiciel embarqué nécessite des tests pour fonctionner de manière optimale. Voici comment Parasoft C/C++test Automotive Compliance Pack aide à cela.

L'architecture du système ouvert automobile (AUTOSAR), fondée en 2003, a été créée pour aider les fabricants à développer en toute sécurité des logiciels embarqués pour les unités de commande électroniques (ECU) automobiles. AUTOSAR est un partenariat de titans de l'industrie automobile du monde entier comme Toyota, BMW, Ford, etc., avec un accent sur la standardisation de l'architecture logicielle dans toute l'industrie pour gérer les systèmes de contrôle de plus en plus complexes, tout en améliorant la qualité et la fiabilité de cette sécurité. logiciel critique.

Architecture AUTOSAR

Un ECU moyen peut contenir des milliers de fonctions. Avant l'architecture AUTOSAR, chaque ECU devait être complètement réécrit lorsque des modifications matérielles se produisaient. Une fois AUTOSAR assemblé, le groupe a trouvé un moyen de rendre le logiciel indépendant du matériel, créant ainsi un nouveau standard pour l'ensemble de l'industrie afin de créer des applications modulaires et durables. Mieux encore, les nouvelles normes étaient conformes aux normes internationales de sécurité automobile, notamment ISO 14229, ISO 27145, entre autres.

Bien que l'Association de fiabilité des logiciels de l'industrie automobile (MISRA) avait développé une norme de codage C ++, MISRA C ++: 2008, ses règles sont basées sur C ++ 03 (ISO / CEI 14882: 2003), qui ne prend pas en charge la plupart des aspects logiciels critiques et liés à la sécurité requis. Par conséquent, le groupe AUTOSAR a sélectionné C ++ 14 (ISO / CEI 14882: 2014) et construit autour de lui sa propre norme de codage, appelée AUTOSAR C ++ 14. Cette norme a été mise à jour et publiée deux fois par an depuis mars 2017.

Explication d'AUTOSAR C ++ 14

En 2017, le groupe AUTOSAR a publié des lignes directrices pour l'utilisation du langage C++14 dans les systèmes critiques et liés à la sécurité. Il est communément appelé AUTOSAR C++14 et fait désormais partie de sa plate-forme d'architecture AUTOSAR globale. La version d'AUTOSAR C++14 a été introduite avec l'intention de remplacer MISRA C++:2008 et de devenir la norme de codage de facto dans l'ensemble de l'industrie automobile. En fait, ces directives sont si robustes qu'elles peuvent être appliquées à n'importe quel secteur nécessitant une programmation embarquée.

Une autre raison pour laquelle C ++ 14 est resté choisi, était parce que les ingénieurs de sécurité acceptaient désormais les langages orientés objet et qu'il donnait aux développeurs la possibilité d'utiliser des compilateurs supérieurs et un accès amélioré à des outils de test, de vérification et d'analyse améliorés. Cela a également permis d'utiliser de nouvelles méthodes de développement, comme l'intégration continue / la livraison continue (CI / CD), qui peuvent détecter les erreurs plus tôt dans le cycle de vie du développement logiciel. MISRA C ++: 2008 n'a tout simplement pas réussi à intégrer l'une de ces innovations émergentes.

Utilisation d'AUTOSAR C ++ 14 pour les nouvelles technologies automobiles

Les directives AUTOSAR C ++ 14 sont utilisées pour les nouvelles technologies automobiles telles que la conduite automatisée, la communication de véhicule à véhicule ou de véhicule à infrastructure (V2X), les mises à jour OTA (OTA) continues, les écrans haute définition et l'IA l'informatique. Si MISRA C ++: 2008 est encore utilisé dans certains projets et a aidé les ingénieurs à adopter une norme de codage, elle reste une norme incomplète. En effet, depuis la sortie de C ++ 03, il y a eu un nombre impressionnant d'améliorations du langage au fur et à mesure de l'évolution du C ++, ce que MISRA C ++: 2008 n'a pas.

Si une organisation s'appuie sur MISRA C ++: 2008, la migration vers AUTOSAR C ++ 14 représentera un effort important pour elle. Mais il y a aussi une énorme valeur à le faire, car le delta entre MISRA C ++: 2008 et AUTOSAR C ++ 14 répond aux changements ajoutés dans le langage C ++ depuis 2003. Par conséquent, toutes les nouveautés en C ++ 11 et C ++ 14 sont inclus dans AUTOSAR C ++ 14. Donc oui, il y a un impact, mais il y a aussi beaucoup de valeur à mettre à jour vers la nouvelle norme.

Exigences d'architecture et de codage AUTOSAR

AUTOSAR C ++ 14 a 342 règles pour aider à donner à l'utilisateur une compréhension claire et des conseils sur les exigences de codage. Il classe chaque règle en fonction de son exigence ou d'une recommandation. Les «règles requises» sont obligatoires pour la conformité AUTOSAR C ++ 14, tandis que les «règles de conseil» n'ont pas besoin d'être respectées, mais elles sont fortement recommandées. Cependant, une dérogation à une règle ou à une directive peut être autorisée. Néanmoins, une procédure d'obtention d'une approbation pour chaque écart doit être incluse, car elle empêche d'abuser du concept de déviation par les développeurs qui s'écartent à volonté.

Décomposition des directives de codage AUTOSAR C ++ 14 pour AUTOSAR adaptatif

Lorsque vous envisagez d'utiliser une norme de codage comme AUTOSAR C ++ 14, le seul moyen pratique de faire respecter la conformité est d'utiliser un outil d'analyse statique qui dispose également d'un système de rapport interactif sophistiqué et permet un flux de travail quotidien efficace. En fait, envisagez une solution qui intègre le processus de numérisation dans l'intégration continue (CI) s'appuie sur les serveurs. Ce type d'automatisation permet d'économiser beaucoup de temps et d'argent.

De plus, si vous nettoyez les bases de code existantes, il est recommandé de commencer par le sous-ensemble des règles de la norme et d'augmenter progressivement le nombre de règles actives au fur et à mesure que le nettoyage du code progresse. Cela évite qu'un grand nombre de violations ou de bruit ne submerge l'équipe et permet de surveiller la progression de votre base de code, de contrôler le processus de déviation et de prendre des décisions éclairées sur l'extension du jeu de règles.

Un standard AUTOSAR-MISRA unifié

Depuis 2017, le groupe AUTOSAR a publié les directives AUTOSAR C ++ 14 deux fois par an, en partenariat avec plus de 200 constructeurs automobiles pour maintenir le support ainsi que les changements qui accompagnent les nouvelles mises à jour du langage C ++. Doublant l'avenir, AUTOSAR a annoncé en 2019 qu'il travaillerait avec MISRA pour fusionner les deux ensembles de règles C ++ et fournir une seule directive universelle de développement de logiciels C ++. Ces nouvelles directives dirigées par MISRA devraient être générées avec une prise en charge complète des versions de langage C ++ modernes telles que C ++ 17 et C ++ 20.

Avec le nouveau fusion/collaboration de MISRA & AUTOSAR pour construire le dernier et le meilleur ensemble de règles et de directives de codage pour C++, je m'attends à ce qu'il soit largement adopté par d'autres industries que l'automobile. Industries telles que l'aérospatiale, le médical, l'industrie, le ferroviaire, les télécommunications, l'énergie et bien d'autres. Les développeurs de logiciels attendent avec impatience de pouvoir livrer des projets sûrs et sécurisés qui ont été ou seront développés dans les langages de programmation C++17 et C++20.

Utilisez les directives de codage AUTOSAR C++ pour rationaliser la conformité ISO 26262

L'analyse statique aide à créer un code C ++ sûr et sécurisé

Un aspect important de l'ISO 26262 est la recommandation d'utiliser une norme de conformité de codage comme AUTOSAR C ++ 14. La meilleure façon d'atteindre la conformité consiste à automatiser et à utiliser un outil certifié TUV comme Parasoft. Test C / C ++, qui est également capable de prendre en charge plusieurs technologies de test et des fonctionnalités telles que les tests unitaires, la couverture du code structurel, la traçabilité des exigences et plus encore. En tant que solution de test de logiciels entièrement intégrée pour les industries critiques pour la sécurité, Parasoft C/C++test peut également être facilement intégré dans votre pipeline C++ IDE ou CI/CD pour être configuré pour détecter les défauts de manière précoce et appliquer automatiquement la conformité.

Spécialement conçu pour l'industrie automobile, le pack de conformité automobile de test Parasoft C / C ++ intègre règles pour AUTOSAR C ++ 14, MISRA C ++ 2008et C ++ à haute intégrité (HI) pour aider tout développeur automobile à étendre les fonctionnalités de test et à rationaliser les tests pour l'équipe de développement. Les développeurs peuvent également utiliser le test Parasoft C / C ++ pour analyser la conformité du code à partir de l'EDI, tout en créant automatiquement des rapports pour informer les équipes de toute mise à jour de statut.

En tant que l'une des solutions les plus complètes pour tester les applications critiques pour la sécurité, Parasoft C/C++test offre une solution simplifiée pour l'analyse statique, tout en offrant une meilleure prise en charge des normes de codage requises par l'industrie automobile. Avec une plate-forme qui assure automatiquement la conformité des systèmes critiques pour la sécurité, vous êtes en mesure de détecter les défauts à un stade précoce et de gagner du temps dans le processus de développement, de hiérarchiser les mises à jour pour résoudre les problèmes importants en premier et d'automatiser la conformité.

Découvrez comment Parasoft C/C++test peut vous aider à fournir un code sûr, sécurisé et conforme aux normes de l'industrie.

« MISRA », « MISRA C » et le logo triangulaire sont des marques déposées de The MISRA Consortium Limited. ©The MISRA Consortium Limited, 2021. Tous droits réservés.