静脉ISO 26262 -工作流毛皮automatisierte Fahranwendungen麻省理工学院MATLAB: Richtlinien和bewahrte Vorgehensweisen
冯Lars Rosqvist MathWorks
死Verwendung冯仿真软件万博1manbetx®和Stateflow®这苏珥是ISO 26262 - softwareentwicklung绝不毛皮elektronische Steuerungseinheiten在Fahrzeugen bewahrt。Es有杯wachsenden趋势,insbesondere贝Anwendungen皮毛automatisiertes。, Softwaredesigns麻省理工学院MATLAB®-和Funktionen Simul万博1manbetxink-Blocken和Stateflow-Diagrammen祖茂堂implementieren。这位Artikel beschreibt bewahrte Vorgehensweisen毛皮杯MATLAB-orientierten工作流苏珥Verifizierung der Einhaltung冯ISO 26262 - softwarestandards [1]。这张bewahrten Vorgehensweisen erganzen窝ISO 26262 Referenz-Workflow麻省理工学院基于模型的设计,您叫我IEC认证工具包erlautert。
Empfohlenes Modellierungsmuster
在diesem Artikel将静脉Softwareentwicklungsmuster verwendet,贝民主党静脉Simulink-Modell杯万博1manbetxMATLAB-Funktionsblock umfasst (Abbildung 1)。Das oberste 万博1manbetxSimulink-Modell ubertragt阿莱Konfigurationseinstellungen毛皮Codegenerierung死去。Der MATLAB-Funktionsblock ruft走读生MATLAB-Funktionen汪汪汪。
这本Modellierungsmuster profitiert·冯·艾伦毛皮Simulink-Mode万博1manbetxlle verfugbaren Verifizierungs——和Validierungstools ermoglicht dabei死Implementierung der Funktionalitat麻省理工学院der MATLAB-Sprache [2]。Es profitiert欧什·冯·窝umfangreichen Fahigkeiten MATLAB。那些将死ADAS-Entwicklung typischerweise麻省理工学院MATLAB implementiert weil komplexe mathematische Funktionalitat knapp和优雅ausgedruckt了萤石。
MATLAB ISO 26262 Referenz-Workflow: Ubersicht
是不是oben erwahnt, beruht der diesem Artikel beschriebene工作流auf民主党ISO 26262 Referenz-Workflow im IEC认证工具包(Abbildung 2)。
Der auf MATLAB basierende工作流beinhaltet zusatzliche Empfehlungen毛皮folgende Verifizierungs -和Validierungsmaßnahmen:
- Erstellung冯Anforderungen Verifizierung der Architektur
- Statische Modellanalyse
- MIL-Testen和SIL -奥得河PIL-Back-to-Back-Testen
- Statische Codeanalyse
- Dokumentation
Erstellung冯Anforderungen Verifizierung der Architektur
毛皮ISO 26262是es erforderlich、nachzuweisen dass阿莱Anforderungen umgesetzt和getestet wurden。
这位Beleg Im ISO 26262 Referenz-Workflow将军队死在Abbildung 3 hervorgehobenen Maßnahmen苏珥Verifizierung der Architektur和死Erstellung der Anforderungen erbracht。
Verknupfen冯Anforderungen麻省理工学院matlab代码
麻省理工学院要求工具箱™能帮Anforderungen麻省理工Codezeilen MATLAB-Funktionen auf dieselbe怀斯verknupft了,是不是Anforderungen麻省理工学院Simulink-Blocken verknupft了。万博1manbetxDer更besteht jedoch达林,dass死vorhandene Uberprufung auf fehlende Anforderungen keinen externen matlab代码uberpruft。Es将大刀empfohlen,一张模型Advisor-Uberprufung祖implementieren死票MATLAB-Containern sucht,死亡不麻省理工学院静脉Anforderung verknupft信德。静脉容器是typischerweise死走读生MATLAB-Datei奥得河风景明信片MATLAB-Funktion,我Große der Datei票。
Statische Modellanalyse
Jede Komponente im Implementierungsmodell吵架Lesbarkeit汪汪汪,Verstandlichkeit和Testbarkeit uberpruft了(Abbildung 4)。麻省理工学院仿真软件检查™将bewertet万博1manbetx, ob das上一次死Hochintegritatsrichtlinien冯ISO 26262和MathWorks einhalt。
Sprachteilmenge
贝姆Programmieren在MATLAB可以在Funktionen verschiedener Toolboxen verwendet了。Da MATLAB一张leistungsstarke Sprache麻省理工学院hohem Abstraktionsgrad坚持,可以在麻省理工学院努尔wenigen Zeilen代码aufwandige Funktionalitat entwickelt了。Manchmal萤石一张einzelne MATLAB-Codezeile祖茂堂十分Zeilen fuhren C代码,是死Verifizierung der vollstandigen Abdeckung des generierten代码erschweren萤石。Anwender得西奇自信盛,dass死祖茂堂implementierende Funktionalitat testbar坚持。ISO 26262 verlangt死Verwendung静脉Sprachteilmenge ISO 26262 (Tabelle 1),死auf der艺术der verwendeten Funktionen basiert。
Es是empfehlenswert, dass Anwender死Anforderung der Sprachteilmenge folgendermaßen erfullen:
- 死verwendeten MATLAB-Funktionen sollten beurteilt和es sollte sichergestellt了,您keinen hohen Verifizierungsaufwand erfordern。模型的风景明信片Advisor-Uberprufung萤石hinzugefugt了;您uberpruft, ob不empfohlene Funktionen verwendet了。
- 不empfohlene MATLAB-Funktionen sollten军队einfachere Implementierungen ersetzt了。这张einfacheren Funktionen拉森西奇•莱克特说verfolgen testen。
您能死Funktionen不ersetzt了,得您separat getestet了。
- 死Funktion sollte麻省理工学院separaten Einheitentests麻省理工学院(hoh Abdeckung verifiziert了。贝Erreichung der Abdeckung sollten打工天天死这位Funktionen Verwendung军队Referenzieren der externen Einheitentests begrunden。
Strenge Festlegung冯Datentypen
毛皮ISO 26262得阿莱Variablen typisiert盛。模型顾问uberpruft Simulink-M万博1manbetxodelle auf鲜明typisierte Blocke, einschließlich der Schnittstelle zum MATLAB-Funktionsblock, uberpruft jedoch keine externen MATLAB-Funktionen。嗯民主党entgegenzuwirken是es notwendig,一张Uberprufung祖茂堂写作,恩祖verifizieren dass阿莱MATLAB-Funktionen鲜明typisiert信德。Es是冯besonderer Wichtigkeit, Datentyp和Datendimension祖茂堂uberprufen。
MIL-Testen和SIL -奥得河PIL-Back-to-Back-Testen
麻省理工学院连续- (Aquivalenz -)测试萤石der Nachweis erbracht了,dass der generierte代码西奇所以是不是das莫德尔verhalt,是不是冯ISO 26262 Tabelle 7, Methoden zur Verifizierung冯Softwareeinheiten empfohlen。Anwender sollten Objektcode Processor-in-the-Loop——(公益诉讼)测试verwenden和贝generiertem C代码Software-in-the-Loop——(SIL)测试(Abbildung 5)。死Testfalle sollten dieselben盛是不是窝Model-in-the-Loop - (MIL -)测试。SIL萤石苏珥Einheitenverifizierung verwendet了。贝Integrationstests吵架麻省理工学院公益诉讼对Entwicklungstoolkette verifiziert了。
Verhinderung ungewollter Funktionalitat
恩祖beweisen dass贝der Codegenerierung keine ungewollte Funktionalitat dazukam, sollte死Testabdeckung在内的上一次——和Codetests gemessen了。死Testabdeckung erfolgt typischerweise麻省理工学院Back-to-Back-Tests麻省理工学院仿万博1manbetx真软件覆盖™。Abdeckung将gemaßISO 26262大足verwendet,嗯死Vollstandigkeit der Verifizierung auszuwerten祖belegen, dass死Ziele毛穴Einheitentest erreicht wurden。
GemaßISO 26262弄乱代码麻省理工学院fehlender Abdeckung uberarbeitet和begrundet了。贝姆Entwickeln冯Simulin万博1manbetxk-Blocken能帮死Begrundungen麻省民主党莫德尔verbunden了。Das bedeutet, dass死Begrundungen说是窝Verifizierungslaufen beibehalten了。这选项是错的皮毛走读生MATLAB-Funktionen verfugbar。嗯一张fehlende Abdeckung毛皮一张MATLAB-Funktion祖begrunden fugen打工天天民主党代码杯Abdeckungsfilter hinzu和verbinden ihn entweder麻省民主党测试工具只是那些Testdatei在仿真软件测试™。万博1manbetxEs是empfehlenswert,死Abdeckungsfilterdatei麻省理工学院der Testdatei祖茂堂verbinden (Abbildung 6)。
Statische Codeanalyse
是不是im ISO 26262 -标准angegeben beinhalten statische Analysen Maßnahmen是不是das Durchsuchen des Quellcodetexts奥得河des上一次,汪汪汪死bekannten Fehlern entsprechen,奥得河死汪汪汪Einhaltung冯Modellierungs -奥得河Codierungsrichtlinien。Statische Codeanalysen了我generierten代码ausgefuhrt (Abbildung 7)。
MISRA C-Konformitat
嗯MISRA死去®祖茂堂beurteilen C-Konformitat毛皮冯MATLAB generierten代码,sollten打工天天静脉工具苏珥statischen Codeanalyse是不是Polyspace错误发现者™verwenden,嗯不MISRA C-konformen代码祖茂堂法登,和死Ergebnisse manuell untersuchen。Stammt der不konforme代码冯静脉integrierten MATLAB-Funktion,有es请来两Moglichkeiten:
- 死integrierte MATLAB-Funktion军队一张umgeschriebene Funktion祖茂堂ersetzen奥得河
- 明信片Begrundung毛皮死MISRA C-Warnung祖茂堂写作。
Es是ratsam,死Funktion Moglichkeit族ersetzen票。嗯sicherzustellen, dass死ersetzte Funktion不冯anderen Entwicklern verwendet将,sollte一张模型Advisor-Uberprufung毛皮不empfohlene Funktionen implementiert了。
Dokumentation
Im abschließenden Sicherheitsnachweis, der死ISO 26262 - konformitat belegt,得Anwender jeden Schritt des Verifizierungsablaufs dokumentieren,冯窝Anforderungen bis欣苏珥Verifizierung。死Dokumentation sollte Entwurfsbeschreibungen der Funktionalitat beinhalten。Abbildung 8 hebt einige der Maßnahmen hervor,死在der Entwurfsbeschreibung enthalten盛得。
使用说明书des Systemdesigns
万博1manbetx仿真软件报告生成器™beinhaltet一张vordefinierte滑雪的前倾姿势毛皮Systementwurfsberichte。这张滑雪的前倾姿势reicht normalerweise zum Dokumentieren冯在仿真软件entwick万博1manbetxelten Komponenten,但不冯externen MATLAB-Funktionen来自,weil的意思在der Systementwurfsbeschreibung enthalten信德。大刀empfiehlt西文西奇,死滑雪的前倾姿势individuell anzupassen,汽水您欧什externen matlab代码umfasst。
SOTIF-Betrachtungen
在komplexen Systemen是不是ADAS verhalt西奇一张Funktion u。美国她vorgesehen, verursacht河口dennoch risikoreiches Verhalten。unt Anleitung des ISO / PAS 21448 SOTIF-Standards (Sicherheit der vorgesehenen Funktionalitat)萤石这Problematik angegangen了,indem zusatzliche Verifizierungs——和Validierungsmaßnahmen integriert基于模型设计了。Empfehlenswert坚持,randomisierte Operationsbedingungstests hinzuzufugen,嗯死测试祖茂堂erweitern和欧什unbekannte Anwendungsfalle einzuschließen。这张Zufallstests sollten das Verhalten des Implementierungsmodells和des integrierten Objektcodes im Vergleich吧台Systemanforderungen verifizieren。
Das IEC认证工具包unterstutzt SOTIF。Hinsichtlich SOTIF有es keine großen Unterschiede来仿真软件——MATLAB-W万博1manbetxorkflows。Das aktualisierte IEC认证工具包beinhaltet Informationen uber Nutzung der自动驾驶的工具箱贝Systemtests死去。
Zusammenfassung
贝der ISO-konformen Softwareentwicklung有es keine großen Unterschiede说是静脉vollstandig Simulink-basierten E万博1manbetxntwicklung和einem呃MATLAB-orientierten工作流。Der Hauptunterschied liegt Der Notwendigkeit,军队das Implementieren individuell angepasster模型Advisor-Uberprufungen不empfohlene Funktionen祖茂堂vermeiden。这zusatzlichen Uberprufungen stellen z麻省理工学院vorhandenen ISO 26262 - Uberprufungen在模型检查那么自信,das万博1manbetxs死MATLAB-Implementierung杯毛皮Hochintegritatsanwendungen generiert geeigneten代码。死anderen Herausforderungen贝der Verwendung进行MATLAB-orientierten工作流毛皮ISO 26262可以在麻省理工学院einfachen Behelfslosungen是不是Begrundungsfiltern奥得河民主党Verlinken冯Anforderungen麻省理工学院mehreren Ebenen des莫德尔gemeistert了。
[1]在diesem死Empfehlungen Artikel MATLAB R2020a basieren再见。贝Verwendung进行anderen释放凯特琳请您西奇一个古老而MathWorks-Mitarbeiter,嗯mehr uber塞纳河Fahigkeiten苏珥Verwendung冯MATLAB和Simulink仿真毛皮ISO 26262族erfahren。万博1manbetx
文化建设[2]Entwickler entscheiden西奇manchmal毛皮MATLAB仿真软件,weil您d万博1manbetxer美浓信德,dass仿真软件凯文diff和unterstutzt合并。Arbeiten Anwender在仿真软万博1manbetx件中,您能diff和合并mittels behandeln integrierter工具。Verwendet国际卫生条例团队静脉verteiltes Versionskontrollsystem Git,您能麻省理工学院dreifachem Zusammenfugen eventuelle Konflikte losen。
Veroffentlicht 2020