MATLAB e Simulink per le attività di verifica e convalida

Verifica e convalida di sistemi embedded con la progettazione Model-Based

I team di ingegneri utilizzano la progettazione Model-Based con MATLAB e Simulink per progettare sistemi embedded complessi e generare codice C, C++ e HDL di alta qualità. Seguendo il workflow di verifica ad alta integrità, i team possono utilizzare test basati sulla simulazione e l’analisi statica per integrare la progettazione Model-Based con il rigore e l’automazione per individuare gli errori in anticipo e aggiungere livelli qualitativi più alti.

Requirements Engineering

I requisiti testuali informali, da poter salvare all’interno di documenti, fogli di calcolo o in strumenti di gestione dei requisiti, come IBM Rational DOORS, avviano il processo di sviluppo. Requirements Toolbox consente di importare, visualizzare, creare e gestire i requisiti insieme alla tua architettura, ai tuoi progetti, al codice generato e agli artefatti di test. È possibile creare un thread digitale dai requisiti al progetto in System Composer, Simulink, Stateflow o casi di test in Simulink Test. Grazie a questo tipo di tracciabilità, è possibile individuare lacune a livello di implementazione e test e capire rapidamente l’impatto di un’eventuale modifica sul progetto o sul banco di prova.

È possibile formalizzare i requisiti e analizzarli in termini di coerenza, completezza e correttezza per convalidarli fin dalle prime fasi servendosi del blocco Requirements Table in Requirements Toolbox. Le valutazioni temporanee di Simulink Test consentono di verificare i requisiti testuali specificando le valutazioni con una semantica precisa in un linguaggio di formato naturale, valutabile e da poter sottoporre a debug.


Analisi sistematica dell’iniezione di guasti e FMEA in Simulink

È possibile utilizzare la simulazione per analizzare gli effetti dei guasti e altri comportamenti anomali per sviluppare i requisiti di sicurezza e verificare la robustezza del sistema. Simulink Fault Analyzer consente un’analisi sistematica degli effetti dei guasti e della sicurezza mediante la simulazione. Il prodotto esegue simulazioni di iniezione di guasti senza modificare il progetto. È possibile gestire i guasti modellati in Simulink, Simscape e System Composer. Simulation Data Inspector consente di analizzare gli effetti dei guasti. È possibile condurre analisi di sensibilità ai guasti utilizzando il pannello Simulazioni multiple. È possibile eseguire analisi di sicurezza, come l’analisi FMEA (Failure Mode and Effects Analysis), sfruttando la simulazione. Simulink Fault Analyzer consente di creare connessioni formali tra guasti, pericoli, logica di rilevamento guasti e mitigazione e altri artefatti (con Requirements Toolbox).


Conformità agli standard di certificazione

Automatizza il processo di verifica dei modelli e del codice rispetto a standard quali DO-178, ISO 26262, IEC 61508, IEC 62304 e le linee guida di stile del MathWorks Advisory Board (MAB). Simulink Check fornisce controlli e metriche, riconosciuti in ambito industriale, che individuano eventuali violazioni a standard e linee guida durante lo sviluppo. È possibile creare controlli personalizzati che rispondano ai propri standard o linee guida. L’IEC Certification Kit (for ISO 26262 and IEC 61508) e il DO Qualification Kit (for DO-178 and DO-254) contengono certificati, suite di test e artefatti per la qualifica degli strumenti utili a qualificare i prodotti per la verifica e la generazione di codice e a semplificare il processo di certificazione dei sistemi embedded.


Dimostrazione dell’assenza di errori e verifica formale dei requisiti

La verifica formale individua gli errori di progettazione nascosti che determinano casi di integer overflow, logica morta, violazioni di accesso agli array e divisioni per zero senza simulare il progetto. Simulink Design Verifier riesce a verificare in modo formale che il progetto non contenga errori né vulnerabilità a livello di sicurezza. Con Simulink Design Verifier sarà anche possibile accertarsi che il progetto soddisfi i requisiti essenziali. Se lo strumento trova un’eccezione, genera un controesempio per il debug.


Modellazione dell’analisi della copertura dei test

È importante individuare le lacune a livello di test, funzionalità indesiderate o errori nei requisiti. Simulink Coverage calcola quanto del modello o del codice generato viene effettivamente sottoposto a prova durante il test. Applica le metriche standard del settore come gli obiettivi di copertura di condizioni, decisioni, MCDC (modified condition/decision coverage) e quelli personalizzati. Simulink Design Verifier è in grado di generare automaticamente casi di test per analizzare la copertura incompleta e soddisfare obiettivi di copertura strutturale e funzionale per i test back-to-back.


Analisi statica del codice

Per verificare il codice generato e scritto a mano, i prodotti Polyspace si servono di metodi formali per individuare i bug e dimostrare l’assenza di errori critici di runtime, senza casi di test o l’esecuzione di codice. Polyspace Bug Finder verifica e documenta la conformità rispetto a standard quali MISRA, ISO 26262, IEC 61508, DO-178 e le normative FDA. È possibile individuare eventuali vulnerabilità di sicurezza del software e fare verifiche in base a standard quali CWE, CERT-C, ISO/IEC 17961 e così via. Polyspace Code Prover esegue l’analisi statica per dimostrare l’assenza di overflow, divisioni per zero, accesso agli array fuori limite e altri errori di runtime nel codice sorgente C e C++.