EMB 91

EMBEDDED 91 • FEBBRAIO • 2024 62 SOFTWARE | COMPILER LIBRARIES problema risolto; pertanto, questo articolo si concen- tra sulla qualifica delle librerie software. La norma ISO sulla functional safety fornisce due metodi per la qualifica di componenti software come la libreria C. Un metodo è specifico per i componenti commercial off-the-shelf (COTS, ovvero acquistabili sul mercato pronti all’uso), l’altro si riferisce ai componenti svi- luppati out of context (fuori contesto). Qualifica dei componenti software COTS I requisiti che riguardano la qualifica del software commercial off-the-shelf (COTS) sono descritti nella parte 8, capitolo 12 della norma ISO sulla functional safety. Due requisiti possono potenzialmente causa- re problemi quando si procede alla qualifica della li- breria C. Per prima cosa, devono essere presenti i requisiti relativi al componente software, compresi i requisiti sull’ambiente di runtime e quelli che ri- guardano l’accuratezza numerica degli algoritmi usati nelle funzioni matematiche e, come seconda cosa, questo metodo di qualifica è valido solo per un’implementazione senza modifiche del componen- te software. Solitamente non si riesce a ricavare questo tipo di re- quisiti dettagliati dalla documentazione per l’utente di un set di strumenti di compilazione, il che rende difficile per chi non è lo sviluppatore della libreria eseguire una qualifica affidabile. Oltre a ciò, i pro- blemi scoperti durante il processo di qualifica non possono essere risolti in quanto ciò comporterebbe la modifica dell’implementazione del componente software, pertanto si devono aggirare i problemi. Se è possibile risolvere quanto spiegato sopra, lo sforzo per la qualifica si riduce semplicemente nel dimostrare la copertura dei requisiti in conformità alla norma ISO 26262 parte 6, capitolo 9 “Software unit verification (verifica unità software)”, che ri- chiede l’accesso al codice sorgente della libreria C e delle librerie di runtime del compilatore, e una suite di test specifici sull’implementazione della libreria C per soddisfare il requisito di branch coverage per ASIL B e C e il requisito di copertura MC/DC per ASIL D. Qualifica dei componenti software Out-of-Context I requisiti che riguardano la qualifica di un Safety Element out of Context (elemento di sicurezza fuori contesto, SEooC) sono descritti nella parte 10, capi- tolo 12 della norma ISO sulla functional safety. Se la libreria C è considerata un SEooC, allora la qualifica della libreria comprende tutte le fasi del ciclo di vita della sicurezza previste dalla norma ISO 26262 che si applicano anche allo sviluppo del software automotive. Il concept di sicurezza tecnica deve essere sviluppato sulla base di ipotesi sull’uso del componente software. Di conseguenza devono essere soddisfatti i requisiti sullo sviluppo del pro- dotto a livello di software, fra cui figurano: l’applica- zione di un processo di sviluppo adeguato, la speci- fica di requisiti di sicurezza, la creazione del design dell’architettura del software, la creazione del desi- gn dell’unità software e la relativa implementazione, la verifica dell’unità software e la specifica sulla mo- dalità di integrazione dei componenti. Oltre al ciclo di vita della sicurezza, mirato a garanti- re che il componente non introduca rischi aggiuntivi, si deve anche affrontare il ciclo di vita funzionale per assicurare che il componente funzioni come previsto. Ciò rende l’applicazione di questo metodo di qualifi- ca molto più laboriosa e costosa rispetto al preceden- te approccio basato su COTS. Il vantaggio per un utente di una libreria C SEooC è quello che la libreria può essere usata senza do- ver sostenere una riqualifica. La documentazione di sicurezza contiene i presupposti sull’uso sicuro e fornisce una guida su come stabilire la validità dei presupposti durante l’integrazione della libreria. Struttura e qualifica del set di strumenti di compilazione Gli strumenti La figura 1 mostra i componenti di un set di stru- menti di compilazione e il loro rapporto. Un set di strumenti di compilazione C contiene eseguibili ge- neralmente suddivisi in compilatore, assemblatore e linker. Per la qualifica di questi eseguibili si applica- no i criteri per la qualifica dello strumento specificati nella norma ISO 26262 parte 8 capitolo 11. Un set di strumenti di compilazione contiene anche le cosiddette librerie di runtime e una libreria C. C’è una differenza fondamentale fra queste librerie. Le librerie di runtime sono considerate parte integran- te degli eseguibili che compongono il compilatore e vengono qualificati applicando i requisiti di qualifica dello strumento. La libreria C, invece, viene conside- rata un componente software integrato nel softwa- re automotive e pertanto deve essere qualificata in modo diverso.

RkJQdWJsaXNoZXIy Mzg4NjYz