Webinaire à la demande en vedette : Accélérez la conformité des logiciels grâce à l'IA Regardez maintenant >>
L'AUTomotive Open System ARchitecture (AUTOSAR) est issue d'un partenariat de développement entre entités automobiles. Fondé en 2003, le groupe cherchait à établir une architecture logicielle standardisée et ouverte autour des unités de contrôle électronique (ECU) automobiles. Il couvre également les semi-conducteurs.
Le partenariat de développement AUTOSAR visait à améliorer l'efficacité et la disponibilité des exigences de sécurité, l'évolutivité, la transférabilité et la durabilité tout au long du cycle de vie du produit. Bien qu'ils ne soient pas intrinsèquement des dispositifs médicaux, certains aspects de la technologie automobile relèvent certainement des éléments de protection. Les airbags de la gamme de produits nécessitent une technologie qui les déploiera avec précision, tandis que les systèmes tels que le contrôle du moteur nécessitent de la cohérence.
Plus d'électronique embarquée dans les automobiles signifie également beaucoup de collecte de données, ainsi que le traitement des données en temps réel. Différents aspects d'AUTOSAR cherchent à répondre aux besoins des composants électroniques et logiciels automobiles modernes.
Il existe deux types de plates-formes AUTOSAR : Adaptive et Classic. La plate-forme AUTOSAR classique n'offre pas le type de flexibilité et de puissance de traitement que la méthodologie adaptative peut offrir. La complexité croissante de la technologie automobile exige des réactions plus faciles et des réponses plus rapides.
Cependant, les deux plateformes ne sont pas rivales, mais coéquipières. Les deux servent des objectifs différents dans l'écosystème de conception et de développement automobile.
Plate-forme classique AUTOSAR | Plateforme adaptative AUTOSAR |
---|---|
Idéal pour une architecture simple ou multicœur et des calculateurs profondément intégrés. | Idéal pour les calculateurs plus récents et destiné à fonctionner sur les architectures HPC pour mieux en tirer parti. |
Utilise une communication basée sur le signal avec des réseaux BUS tels que LIN ou CAN. | Utilise la communication basée sur les services avec Ethernet. |
Définit un système d'exploitation (OS). | Définit le contexte d'exécution, ainsi qu'une interface de système d'exploitation telle que PSE51. |
Nature statique avec une faible flexibilité. | Fournit une « dynamique planifiée » pendant le déploiement de l'application avec une intégration flexible. |
Les délais sont plus pressants en raison du traitement en temps réel. | Exigence en temps réel souple. |
Les exemples incluent les systèmes de freinage et le contrôle du moteur. | Les exemples incluent le traitement des données de fusion de capteurs et les mises à jour en direct (mises à jour OTA). |
Il s'agit d'une norme de codage pour C++ version 14 (ISO/IEC 14882:2014) et d'un artefact ou de l'un des résultats de la définition de la plate-forme Adaptive AUTOSAR qui fournit des spécifications d'interface pour les API et les services. Cette section des directives de codage AUTOSAR vient à l'origine de mettre à jour MISRA C++ 2008 – une norme de codage obsolète. Cependant, MISRA et AUTOSAR ont annoncé leur fusion en 2019, à l'appui de la mise à jour vers C++17. Qui est devenu le langage par défaut de nombreuses solutions électroniques AUTOSAR modernes.
En fait, ces directives sont si robustes et optimisées qu'elles peuvent être appliquées à n'importe quel secteur nécessitant une programmation embarquée en C++.
AUTOSAR C++14 dispose de 342 règles pour aider à donner à l'utilisateur une compréhension claire et des conseils sur les exigences de codage. Règles de codage AUTOSAR C++14 sont classés selon le niveau d'obligation.
Cependant, un écart par rapport à une norme, règle ou directive AUTOSAR peut être autorisé. Pour éviter d'abuser du concept de déviation par des développeurs déviant à volonté, des approbations pour chaque déviation doivent être incluses. En outre, les règles sont également classées selon qu'elles peuvent être appliquées automatiquement par des outils d'analyse statique.
L'utilisation de C++14 en collaboration avec les directives AUTOSAR C++14 offre 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. Il permet d'utiliser de nouvelles méthodes de développement comme intégration continue / livraison continue (CI/CD) qui peut détecter les erreurs plus tôt dans le cycle de vie du développement logiciel.
« 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.
Trouver les bons outils de développement garantir la qualité du logiciel est une question d'essais et d'erreurs. Mais cela ne signifie pas que vous devez expérimenter des outils ou des stratégies non éprouvés. Heureusement, la montagne d'avantages de l'automatisation en ce qui concerne les tests et la conformité est distincte.
Trouver les problèmes plus tôt ne peut que faciliter les choses pour toutes les personnes impliquées dans le développement de logiciels. De l'architecture logicielle et des logiciels d'application au diagnostic et à la validation, les solutions Parasoft ont tout en tête.
Mettez en œuvre la conformité AUTOSAR C++14 en fournissant un code sûr, sécurisé et fiable pour des avantages durables qui ont un impact sur le succès et la longévité de votre produit tout en réduisant les coûts de main-d'œuvre et les délais de mise sur le marché.
Empêchez les défauts de code plus tôt dans le processus de développement avant qu'ils ne se transforment en défis plus coûteux sur toute la ligne.
Parasoft propose l'analyse statique AUTOSAR C++14 comme solution recommandée par les normes de processus telles que ISO 26262, DO-178C, IEC 62304, IEC 61508, EN 50128 et plus encore.
Intégrez les directives de codage de sécurité AUTOSAR C++14 directement dans votre cycle de vie de développement logiciel dans le cadre de votre stratégie SAST.
Parasoft intègre l'intelligence artificielle et l'apprentissage automatique pour améliorer la productivité des workflows d'analyse statique AUTOSAR C++14 de votre équipe, en signalant et en hiérarchisant les violations à corriger en premier.
L'analyse statique AUTOSAR C++14 de Parasoft s'intègre facilement dans votre pipeline CI/CD rationalisé avec des tests continus pour fournir rapidement des logiciels de haute qualité, sûrs et sécurisés.
Créez votre propre configuration de normes de codage personnalisées pour votre organisation à l'aide de Parasoft RuleWizard.
Parasoft propose l'agrégation MISRA avec toutes nos autres normes de codage prises en charge telles que CERT, CWE, OWASP, UL 2900, etc.
Déployez les solutions de Parasoft pour effectuer une analyse statique du code, quel que soit l'environnement de développement dans lequel vous travaillez.
En ce qui concerne la conformité AUTOSAR C++14, il existe plusieurs pratiques très bénéfiques. Voici une liste de certaines des méthodes à considérer.
En plus de la conformité AUTOSAR C++14, réunissez-vous avec vos collègues ingénieurs en logiciel et vérifiez systématiquement le code de chacun pour détecter les erreurs et les violations de style de codage. Il a été démontré que cette activité accélère et améliore considérablement la qualité du code.
Tout écart par rapport à la directive AUTOSAR C++14 nécessite une documentation complète sur les éléments suivants : quelle directive, portée, justification, assurance de sécurité, conséquences et atténuation.
La conformité AUTOSAR C++14 vous aidera à écrire du code facile à lire et à comprendre. Ne soyez pas trop malin et n'écrivez pas de code crypté difficile à suivre ou facilement mal compris. Vous ne voulez pas que d'autres ingénieurs ou vous-même passiez beaucoup de temps à essayer de déchiffrer un bogue dans votre code.
La conformité AUTOSAR C++14 permet d'écrire du code en gardant à l'esprit la portabilité, car le code portable (POSIX, ANSI C, etc.) peut être facilement et rapidement déplacé vers d'autres plates-formes. L'adaptation d'autres compilateurs ou d'autres systèmes d'exploitation peut être effectuée avec un minimum de modifications de code. Souvent, il existe des opportunités financières ou commerciales pour lesquelles la migration vers un autre système d'exploitation ou une autre cible doit avoir lieu.
Certaines constructions de code peuvent être écrites d'une manière qui déclenche une violation de la règle AUTOSAR C++14. Parasoft fournit un moyen de filtrer sciemment ce bruit.
La conformité AUTOSAR C++14 permet d'écrire du code qui n'a pas un grand nombre de branches. Plus il y a de branches, plus la complexité du code est élevée et plus le nombre de bogues trouvés dans le code est élevé.
La conformité AUTOSAR C++14 vous aide à écrire un code fiable qui gère non seulement les scénarios de journée ensoleillée, mais aussi les jours de pluie. Y compris des scénarios négatifs qui préparent votre application si elle se heurte à des données invalides.
La conformité AUTOSAR C++14 vous aide à écrire du code portable qui peut être réutilisé dans de futurs produits ou projets. Cela améliore la productivité et réduit les coûts de main-d'œuvre et de test.
Les fonctionnalités d'architecture logicielle ouverte et standard de nombreux systèmes électroniques logiciels automobiles modernes sont aujourd'hui utilisées pour la conduite autonome et la connectivité.
Prenez les systèmes avancés d'assistance à la conduite (ADAS) comme le LIDAR qui aident les voitures à détecter quand elles risquent de heurter un objet. L'aide au stationnement avec conduite automatisée s'appuie également fortement sur l'architecture logicielle AUTOSAR.
Ce ne sont là que deux cas d'utilisation, mais avec la connectivité de la plate-forme adaptative AUTOSAR et les appareils Internet des objets (IoT) dans les véhicules de plus en plus courants et plus robustes, il est crucial de pouvoir mesurer les données afin de s'adapter.
Le tableau de bord d'analyse de Parasoft avec rapport de conformité AUTOSAR automatisé facilite la fourniture de la preuve requise pour la certification.
L'avantage de proposer la conformité AUTOSAR C++14 est qu'elle peut être introduite et utilisée à n'importe quelle phase de développement logiciel d'un projet. Mieux encore, c'est efficace même si un projet ou votre logiciel ECU est incomplet et partiellement codé.
Le plus grand défi lié à l'introduction de la conformité AUTOSAR C++14 est qu'une grande quantité de code peut produire un grand nombre d'avertissements. Par conséquent, lors de l'intégration de la conformité AUTOSAR C++14 dans un projet, l'accent doit être mis sur la productivité de l'équipe dès que possible. Cela minimisera les possibilités pour l'équipe d'être submergée par les avertissements d'analyse statique.
La mise en conformité avec AUTOSAR C++14 devenant une partie intégrante de la routine quotidienne de chaque développeur, il sera en mesure d'analyser les résultats plus rapidement et de corriger les bogues plus efficacement.
La maturité du produit en cours de développement est également importante car elle a un impact sur la manière dont la conformité AUTOSAR C++14 peut être intégrée. La gestion du cycle de vie de l'adoption fonctionne comme décrit ci-dessous.
Les Analyse de code Parasoft Solution AUTOSAR, Parasoft C/C++test, détecte les problèmes complexes de type runtime de conformité AUTOSAR C++14 dans un environnement d'exécution AUTOSAR dès le début de la phase de développement, sans qu'il soit nécessaire d'exécuter des tests d'exécution coûteux. Cela rationalise les processus de développement d'une manière qui profite à tous.
C/C++test analyse les chemins d'exécution à travers le code et trouve les problèmes de conformité AUTOSAR C++14 comme le déréférencement de pointeur nul, la division par zéro et les fuites de mémoire. Il recherche également les vulnérabilités de sécurité telles que l'arithmétique sur un opérande de pointeur, les dépassements de mémoire tampon, le code inaccessible et la fonction système cstdlib.
Les résultats de Conformité AUTOSAR C++14 du test C/C++ les résultats peuvent être visualisés dans le tableau de bord de reporting dynamique de Parasoft, permettant un post-traitement automatisé et des stratégies de reporting avancées utilisant des données historiques.
Il est facile de voir les résultats de conformité AUTOSAR C++14 à travers les versions au fil du temps. Cela est vrai même lorsque vous travaillez avec de grandes bases de code et du code hérité où la visibilité sur le code est généralement difficile. Vous pouvez rapidement vous concentrer sur la qualité du code nouvellement ajouté.
Avec des widgets qui suivent automatiquement la conformité AUTOSAR C++14, les utilisateurs obtiennent une vue dynamique du processus de conformité et peuvent facilement produire des rapports automatiques pour les audits de code et les objectifs de certification.
Les modules logiciels de base (BSW) sont une collection de fichiers logiciels qui fournissent certaines fonctionnalités codées qui s'exécutent sur un ECU. Ces modules logiciels standardisés peuvent prendre en charge la communication, les E/S, la mémoire, etc.
Par exemple, certains modules logiciels de base AUTOSAR effectuent des tâches telles que la mise en miroir de bus, les diagnostics et même la cryptographie pour sécuriser les données.
Les trois couches sont :
Les modules spécifiques à l'unité de contrôleur électronique (ECU) et les modules génériques sont inclus dans trois sous-couches, notamment la couche de services, la couche d'abstraction de l'ECU et la couche d'abstraction du microcontrôleur (MCAL).
RTE signifie «environnement d'exécution» et fonctionne comme une sorte de terrain d'entente entre la couche application et les autres couches. Il gère la communication intra-ECU et intercouche.
Dans le cadre des trois couches, la couche d'abstraction ECU au-dessus de la couche MCAL a des pilotes de composants matériels et des composants pour les interfaces. Cela signifie que son travail consiste à garantir que la couche ci-dessus fonctionne indépendamment du matériel de l'ECU.
Formé en 2003, le groupe d'équipementiers et d'autres parties investies comprend des tonnes de grands noms comme Volkswagen et Robert Bosch GmbH.
AUTOSAR C++14 ne fournit pas de conseils similaires sur le processus de mise en conformité, du moins pas directement. Mais étant donné que les directives AUTOSAR C++ sont basées sur MISRA C++ 2008, il est raisonnable de se référer à la norme MISRA pour rechercher des conseils sur le processus de mise en conformité.
Une plate-forme AUTOSAR adaptative définit une plate-forme pour le développement d'unités de commande automobiles qui fournissent des fonctions sophistiquées telles que des systèmes avancés d'aide à la conduite, le streaming multimédia ou des mises à jour logicielles via Internet.
L'analyse statique est le processus d'examen du code source sans exécution, généralement dans le but de trouver des bogues ou d'évaluer la sécurité, la sécurité et la fiabilité du code.