61
PIL TEST |
SOFTWARE
EMBEDDED
59 • FEBBRAIO • 2016
po disponibili sono progettate specialmente per
l’utilizzo di codice generato automaticamente da
generatori di codice.
Il PIL (processor-in-the-loop) viene usato nello
sviluppo basato su modelli per testare su una
piattaforma hardware o in un simulatore di
istruzioni, un algoritmo derivato da un modello.
Con l’aiuto di un generatore di codice è possibi-
le implementare in codice sorgente un modello,
così da poter creare un’applicazione eseguibile
da caricare ed eseguire nell’ambiente target.
Questo articolo presenta una proposta per un’inter-
faccia d’integrazione scalabile per simulazioni PIL in
Simulink. Rispetto alle precedenti implementazioni,
l’interfaccia proposta garantisce una maggiore flessi-
bilità in quanto dopo la generazione viene analizzata
la struttura del codice sorgente, e sulla base di que-
sti dati viene creata dinamicamente un’opportuna
interfaccia per la conduzione di un test PIL. Inoltre
viene usato un debugger per la comunicazione con la
piattaforma target, così da poter supportare pratica-
mente qualsiasi piattaforma target senza bisogno di
speciali adattamenti.
A seguire, questo articolo espone una panoramica
dei metodi di sviluppo basati su modelli nel contesto
di ISO 26262 e delle simulazioni PIL con Simulink.
Vengono discussi i limiti degli approcci precedenti e
vengono presentati i vantaggi di questo approccio.
Infine il nuovo approccio viene dimostrato mediante
un semplice scenario.
Sviluppo basato su modelli in accordo con ISO 26262
Nell’utilizzo di metodi di sviluppo basati su mo-
delli, è stato definito uno schema di riferimento
(Fig. 1) per consentire di soddisfare i requisiti in
vari standard di sicurezza.
Proprio come nell’approccio tradizionale allo svi-
luppo, il primo passo consiste nel determinare i
requisiti che descrivono la risposta del software
da realizzare, con tutti i necessari dettagli. L’ap-
plicazione di metodi basati su modelli è oggi in
grado di descrivere molto facilmente i requisiti
sotto forma di modelli grafici. Diversamente dai
requisiti puramente testuali, il grande vantaggio
dei modelli è che permettono di descrivere chia-
ramente la risposta di un sistema. Con l’aiuto
di un ambiente di modellazione è possibile usare
modelli per il SIL (software-in-the-loop), con cui
verificare fin dall’inizio i requisiti di base [6].
Quando si utilizzano metodi basati su modelli è
molto facile generare codice sorgente, grazie a
una serie di generatori di codice disponibili sul
mercato, in grado di produrre automaticamente
da un modello eseguibile una rappresentazione
equivalente in codice sorgente. Partendo da que-
sto codice sorgente è possibile generare applica-
zioni che possono essere testate su una piatta-
forma hardware o in un simulatore di istruzioni.
Lo schema del processo di sviluppo software in
ISO 26262 (Fig. 2) si basa prevalentemente sul
ben noto modello a V. Questo modello prevede
che, dopo le fasi di progetto software e imple-
mentazione, il software debba passare attraver-
so un processo di verifica composto da diverse
fasi. La disponibilità di modelli eseguibili au-
menta le possibilità di verifica dei risultati dei
singoli sottoprocessi. La correttezza di un model-
lo si può anche determinare attraverso simula-
Fig. 2 - Sviluppo software in accordo con ISO 26262