Gehen Sie einen schnelleren, intelligenteren Weg zur KI-gestützten C/C++-Testautomatisierung. Erfahren Sie mehr >>
AUTOSAR-Architekturanforderungen für Laufzeitumgebungen
AUTOSAR stellt die Herstellungsrichtlinien für die Entwicklung eingebetteter Software für elektronische Steuergeräte für Kraftfahrzeuge bereit. Diese eingebettete Software erfordert Tests, um optimal zu funktionieren. So hilft Parasoft C/C++test Automotive Compliance Pack dabei.
AUTOSAR stellt die Herstellungsrichtlinien für die Entwicklung eingebetteter Software für elektronische Steuergeräte für Kraftfahrzeuge bereit. Diese eingebettete Software erfordert Tests, um optimal zu funktionieren. So hilft Parasoft C/C++test Automotive Compliance Pack dabei.
Die Automotive Open System-Architektur (AUTOSAR) Die 2003 gegründete Organisation wurde gegründet, um Herstellern Anleitungen für die sichere Entwicklung eingebetteter Software für elektronische Steuergeräte für Kraftfahrzeuge (ECU) zu geben. AUTOSAR ist eine Partnerschaft von Titanen der Automobilindustrie aus der ganzen Welt wie Toyota, BMW, Ford und anderen. Der Schwerpunkt liegt auf der branchenweiten Standardisierung der Softwarearchitektur, um die immer komplexer werdenden Steuerungssysteme zu verwalten und gleichzeitig die Qualität und Zuverlässigkeit für diese Sicherheit zu verbessern. kritische Software.
Ein durchschnittliches Steuergerät kann Tausende von Funktionen enthalten. AUTOSAR Architektur musste jedes Steuergerät bei Hardwareänderungen komplett neu geschrieben werden. Nach der Fertigstellung von AUTOSAR fand die Gruppe einen Weg, Software von Hardware unabhängig zu machen und schuf damit einen neuen Branchenstandard für die Entwicklung modularer und nachhaltiger Anwendungen. Noch besser: Die neuen Standards entsprachen internationalen Automobilsicherheitsnormen wie ISO 14229 und ISO 27145.
Obwohl MISRA hatte einen C++-Codierungsstandard, MISRA C++:2008, entwickelt. Seine Regeln basieren auf C++03 (ISO/IEC 14882:2003), der viele der erforderlichen kritischen und sicherheitsrelevanten Softwareaspekte nicht unterstützt. Daher entschied sich die AUTOSAR-Gruppe für C++14 (ISO/IEC 14882:2014) und entwickelte darauf basierend ihren eigenen Codierungsstandard namens AUTOSAR C++ 14. Dieser Standard wird seit März 2017 zweimal jährlich aktualisiert und veröffentlicht.
Im Jahr 2017 veröffentlichte die AUTOSAR-Gruppe Richtlinien für die Verwendung der Sprache C++14 in kritischen und sicherheitsbezogenen Systemen. Es wird allgemein als AUTOSAR C++14 bezeichnet und ist jetzt Teil seiner übergreifenden AUTOSAR-Architekturplattform. Die Veröffentlichung von AUTOSAR C++14 wurde mit der Absicht eingeführt, MISRA C++:2008 abzulösen und zum De-facto-Codierungsstandard in der gesamten Automobilindustrie zu werden. Tatsächlich sind diese Richtlinien so robust, dass sie auf jede Branche angewendet werden können, die eingebettete Programmierung erfordert.
Ein weiterer Grund, warum C ++ 14 weiterhin ausgewählt wurde, war, dass Sicherheitsingenieure objektorientierte Sprachen akzeptierten und Entwicklern die Möglichkeit gaben, überlegene Compiler zu verwenden und den Zugriff auf verbesserte Test-, Verifizierungs- und Analysetools zu verbessern. Es ermöglichte auch die Verwendung neuer Entwicklungsmethoden wie Continuous Integration / Continuous Delivery (CI / CD), mit denen Fehler früher im Softwareentwicklungszyklus erkannt werden können. MISRA C ++: 2008 konnte keine dieser neuen Innovationen berücksichtigen.
AUTOSAR C ++ 14-Richtlinien werden für neue Fahrzeugtechnologien wie automatisiertes Fahren, Fahrzeug-zu-Fahrzeug- oder Fahrzeug-zu-Infrastruktur-Kommunikation (V2X), kontinuierliche drahtlose Aktualisierungen (OTA), hochauflösende Anzeigen und KI verwendet Computing. Während MISRA C ++: 2008 in einigen Projekten noch verwendet wird und Ingenieuren bei der Einführung eines Codierungsstandards geholfen hat, bleibt dieser Standard unvollständig. Dies liegt daran, dass seit der Veröffentlichung von C ++ 03 eine erstaunliche Anzahl von Verbesserungen an der Sprache vorgenommen wurden, während sich C ++ weiterentwickelte, was MISRA C ++: 2008 nicht tut.
Wenn sich eine Organisation auf MISRA C ++: 2008 verlässt, ist die Migration auf AUTOSAR C ++ 14 für sie ein erheblicher Aufwand. Dies ist jedoch auch von großem Wert, da das Delta zwischen MISRA C ++: 2008 und AUTOSAR C ++ 14 die seit 2003 in der C ++ - Sprache hinzugefügten Änderungen berücksichtigt. Daher sind alle Neuheiten in C ++ 11 und C ++ 14 vorhanden enthalten in AUTOSAR C ++ 14. Also ja, es gibt Auswirkungen, aber es ist auch sehr wertvoll, auf den neuen Standard zu aktualisieren.
AUTOSAR C++ 14 verfügt über 342 Regeln, die dem Benutzer ein klares Verständnis und eine Orientierung für die Programmieranforderungen bieten. Jede Regel wird danach klassifiziert, ob sie erforderlich oder empfehlenswert ist. „Erforderliche Regeln“ sind für die AUTOSAR C++14-Konformität zwingend erforderlich, während „empfohlene Regeln“ zwar nicht zwingend eingehalten werden müssen, aber dringend empfohlen werden. Abweichungen von Regeln oder Richtlinien können jedoch zulässig sein. Dennoch muss für jede Abweichung ein Freigabeverfahren vorgesehen werden, um den Missbrauch des Abweichungskonzepts durch willkürliche Abweichungen durch Entwickler zu verhindern.
Wenn Sie einen Codierungsstandard wie AUTOSAR C ++ 14 verwenden möchten, können Sie die Konformität nur mit einem statischen Analysetool durchsetzen, das über ein ausgeklügeltes interaktives Berichtssystem verfügt und einen effizienten täglichen Workflow ermöglicht. Stellen Sie sich eine Lösung vor, die den Scanvorgang in die auf Servern aufbauenden Continuous Integration (CI) integriert. Diese Art der Automatisierung spart viel Zeit und Geld.
Wenn Sie vorhandene Codebasen bereinigen, wird außerdem empfohlen, mit der Teilmenge der Regeln aus dem Standard zu beginnen und die Anzahl der aktiven Regeln mit fortschreitender Bereinigung des Codes schrittweise zu erhöhen. Dies verhindert, dass eine große Anzahl von Verstößen oder Lärm das Team überfordert, und ermöglicht es, den Fortschritt Ihrer Codebasis zu überwachen, den Abweichungsprozess zu steuern und fundierte Entscheidungen über die Erweiterung des Regelsatzes zu treffen.
Seit 2017 hat die AUTOSAR-Gruppe zweimal pro Jahr AUTOSAR C ++ 14-Richtlinien veröffentlicht, die mit über 200 Automobilunternehmen zusammenarbeiten, um den Support zusammen mit den Änderungen, die mit neuen C ++ - Sprachupdates einhergehen, aufrechtzuerhalten. AUTOSAR hat 2019 angekündigt, mit MISRA zusammenzuarbeiten, um die beiden C ++ - Regelsätze zusammenzuführen und eine einzige universelle C ++ - Softwareentwicklungsrichtlinie bereitzustellen. Es wird erwartet, dass diese neuen MISRA-geführten Richtlinien mit vollständiger Unterstützung für moderne C ++ - Sprachversionen wie C ++ 17 und C ++ 20 erstellt werden.
Mit diesem neuen Fusion/Zusammenarbeit von MISRA & AUTOSAR Um die neuesten und besten Codierungsregeln und -richtlinien für C++ zu erstellen, gehe ich davon aus, dass sie neben der Automobilindustrie auch von anderen Branchen stark übernommen werden. Branchen wie Luft- und Raumfahrt, Medizin, Industrie, Bahn, Telekommunikation, Energie und viele andere. Software-Entwickler freuen sich sehr darauf, sichere Projekte liefern zu können, die in den Programmiersprachen C++17 und C++20 entwickelt wurden oder werden sollen.
Ein wichtiger Aspekt von ISO 26262 ist die Empfehlung, einen Codierungskonformitätsstandard wie AUTOSAR C ++ 14 zu verwenden. Der beste Weg, um Compliance zu erreichen, ist die Automatisierung und Verwendung eines TÜV-zertifizierten Tools wie Parasoft C / C ++ - Test, das auch mehrere Testtechnologien unterstützen kann und Funktionen wie Unit-Tests, strukturelle Codeabdeckung, Rückverfolgbarkeit von Anforderungen und mehr. Als vollständig integrierte Softwaretestlösung für sicherheitskritische Branchen kann Parasoft C/C++test auch problemlos in Ihre C++ IDE oder CI/CD-Pipeline integriert werden, um so konfiguriert zu werden, dass Fehler frühzeitig erkannt und die Einhaltung von Vorschriften automatisch durchgesetzt werden.
Das speziell auf die Automobilindustrie zugeschnittene Parasoft C / C ++ - Test Automotive Compliance Pack ist integriert Regeln für AUTOSAR C ++ 14, MISRA C ++ 2008und High Integrity (HI) C ++, um jedem Automobilentwickler zu helfen, die Testfunktionen zu erweitern und die Tests für das Entwicklungsteam zu optimieren. Entwickler können den Parasoft C / C ++ - Test auch verwenden, um die Codekonformität innerhalb der IDE zu analysieren und automatisch Berichte zu erstellen, um Teams über Statusaktualisierungen zu informieren.
Als eine der umfassendsten Lösungen zum Testen sicherheitskritischer Anwendungen bietet Parasoft C/C++test eine vereinfachte Lösung für die statische Analyse und bietet gleichzeitig mehr Unterstützung für die von der Automobilindustrie geforderten Codierungsstandards. Mit einer Plattform, die automatisch die Compliance für sicherheitskritische Systeme gewährleistet, können Sie Fehler frühzeitig erkennen und Zeit im Entwicklungsprozess sparen, Updates priorisieren, um wichtige Probleme zuerst zu beheben, und die Compliance automatisieren.
„MISRA“, „MISRA C“ und das Dreieckslogo sind eingetragene Marken von The MISRA Consortium Limited. ©The MISRA Consortium Limited, 2021. Alle Rechte vorbehalten.