MATLAB e Simulink per attività di verifica, validazione e test

Verificare e validare Sistemi embedded utilizzando la Progettazione Model-based

I team di ingegneri usano la progettazione model-based con MATLAB® e Simulink® per progettare sistemi embedded complessi e per generare codice HDL, C e C++ di alta qualità. Gli strumenti MathWorks si servono di test basati sulla simulazione e di analisi statiche basate su metodi formali per completare la Progettazione Model-based in modo rigoroso e automatizzato al fine di individuare gli errori in anticipo e raggiungere livelli qualitativi più alti.

Con MATLAB e Simulink, potrai:

  • Tracciare i requisiti in relazione ad architetture,  implementazione, test e codice
  • Dimostrare che il tuo progetto soddisfa i requisiti ed è privo di errori a runtime
  • Verificare la conformità e misurare la qualità di modelli e di codice
  • Generare automaticamente dei test case per aumentare la coverage dei test
  • Creare report e  artefatti utili ad ottenere la certificazione rispetto a standard quali DO-178 e ISO 26262.

“Rispetto alla nostra esperienza passata con la codifica manuale, la progettazione model-based ci ha permesso di ridurre il costo della manodopera del 30%, di tagliare i costi per l’esecuzione dei test del 20% e di aumentare la produttiva di più del 30%. Abbiamo completato lo sviluppo dell’ECU in anticipo rispetto ai piani, creando al contempo il nostro team di sviluppo software in-house.”

Daming Li, Weichai Power

Utilizzare MATLAB e Simulink per la verifica e la validazione

Verifica dei requisiti

I requisiti testuali informali salvati nei documenti, nei fogli di calcolo oppure nei programmidi gestione dei requisiti, come IBM® Rational® DOORS®, avviano il processo di sviluppo. Simulink Requirements™ permette di visualizzare, eseguire l’authoring e gestire i requisiti unitamente all’architettura, all’implementazione, al codice generato e agli artefatti ditest. Potrai creare un thread digitale dai requisiti all’implementazione in System Composer™, Simulink, Stateflow® fino ai test MATLAB in Simulink Test™. Con questo tipo di tracciabilità, potrai individuare le lacune a livello di implementazione o test e capire fin da subito l’impatto che le modifiche avranno sulla progettazione o i test. I requisiti derivanti daprogrammi di gestione requisiti di terze parti possono essere visualizzati, sincronizzati e gestiti per stabilire la tracciabilità con altri strumenti nel tuo processo di sviluppo.

I Temporal Assesments di Simulink Test ti permettono di verificare i requisiti testuali specificando la logica di verificacon una semantica precisa in un formato di linguaggio naturale che possa essere valutato e sottoposto a debug.


Conformità agli standard di certificazione

Automatizza il processo di verifica dei modelli e del codice rispetto agli standard quali DO-178, ISO 26262, IEC 61508, IEC 62304 e le linee guida di buona modellazione del MathWorks Automotive Advisory Board (MAAB). Simulink Check™ fornisce controlli e metriche, riconosciuti in ambito industriale, che identificano eventuali violazioni degli standard e delle linee guida durante lo sviluppo. Puoi creare controlli personalizzati che rispondano ai tuoi standard o alle tue linee guida. L’IEC Certification Kit (per ISO 26262 e IEC 61508) e il DO Qualification Kit (per DO-178) contengono  artefatti per la qualifica deitool, certificati e suite di test utili a qualificare i prodotti per la verifica e la generazione di codice e a semplificare il processo di certificazione dei sistemi embedded.


Dimostrare l’assenza di errori e verificare formalmente i requisiti

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


Generazione automatica di 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 sollecitato durante il test. Applica le metriche standard del settore come condition, decision, modified condition/decision (MCDC) e obiettivi di coverage personalizzati. Simulink Design Verifier è in grado di generare automaticamente dei test case per affrontare situazioni di coverage incompleta e soddisfare obiettivi di coverage strutturale e funzionale.


Analisi statica del codice

Per verificare il codice auto-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 test case 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. Potrai verificare le vulnerabilità di sicurezza del software e gli standard come CWE, CERT-C, ISO/IEC 17961 e altri. Polyspace Code Prover™ esegue l’analisi statica per dimostrare l’assenza di overflow, divisioni per zero, accesso array fuori limite e altri errori a runtime nel codice sorgente C e C++.