Sommet de l'ASTQ est disponible sur demande! Écoutez les chefs de file de l'industrie expliquer comment ils offrent une qualité continue. Regardez maintenant >>

X
BLOG

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

Exigences d'architecture AUTOSAR sur les environnements d'exécution Temps de lecture : 5 minutes

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é 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 maintenant partie de sa plate-forme d'architecture AUTOSAR globale. La sortie 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 intégré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.

La fusion de MISRA C ++ et AUTOSAR C ++: une table ronde

Avec cette nouvelle fusion / collaboration de MISRA et AUTOSAR pour créer le dernier et 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. Des industries telles que l'aérospatiale, le médical, l'industrie, le rail, les télécommunications, l'énergie et bien d'autres. Les développeurs de logiciels sont très impatients de pouvoir livrer des projets sûrs et sécurisés qui ont été ou doivent être développés dans les langages de programmation C ++ 17 et C ++ 20.

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 et capacités de test telles que les tests unitaires, la couverture du code structurel, la traçabilité des exigences, etc. En tant que solution de test logiciel entièrement intégrée pour les industries critiques pour la sécurité, le test Parasoft C / C ++ peut également être facilement intégré dans votre pipeline C ++ IDE ou CI / CD pour être configuré pour détecter les défauts tôt 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é, le test Parasoft C / C ++ offre une solution simplifiée pour analyse statique, tout en offrant une meilleure prise en charge des normes de codage requises par l'industrie automobile. Avec une plate-forme qui garantit automatiquement la conformité des systèmes critiques pour la sécurité, vous êtes en mesure de détecter rapidement les défauts 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é.

Utilisation des directives de codage AUTOSAR C ++ pour rationaliser le texte ISO avec un bouton d'appel à l'action rouge qui se lit comme suit: Télécharger le livre blanc

Écrit par

Ricardo Camacho

Responsable principal du marketing produit technique pour les solutions de test embarquées de Parasoft, Ricardo possède une expertise dans le SDLC et l'automatisation des tests des applications embarquées en temps réel, critiques de sécurité et de sécurité, ainsi que la conformité des logiciels aux normes de l'industrie.

Recevez les dernières nouvelles et ressources sur les tests de logiciels dans votre boîte de réception.