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

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

I team di ingegneri usano la progettazione Model-Based con MATLAB® e Simulink® per progettare sistemi embedded complessi e generare codice C, C++ e HDL di alta qualità. Gli strumenti MathWorks si servono di simulazioni e di analisi statiche basate su metodi formali per integrare la progettazione Model-Based Design con un certo grado di precisione e automazione, in modo da individuare gli errori in anticipo e raggiungere livelli qualitativi più alti.

Con MATLAB e Simulink, è possibile:

  • Tracciare i requisiti in base all’architettura, alla progettazione, ai test e al codice
  • Dimostrare che il progetta soddisfa i requisiti e non contiene errori di runtime critici
  • Verificare la conformità e misurare la qualità di modelli e codice
  • Generare automaticamente dei test case per aumentare la copertura dei test
  • Produrre report e artefatti, oltre a ottenere la certificazione rispetto agli standard (come DO-178 e ISO 26262)

“Rispetto alla nostra esperienza passata con la codifica manuale, la progettazione Model-Based ci ha consentito di ridurre i costi di manodopera del 30%, di tagliare i costi per l’esecuzione dei test del 20% e di aumentare la produttività di più del 30%. Abbiamo terminato il progetto di sviluppo di una ECU in anticipo rispetto al previsto, creando al contempo un nostro team di sviluppo software in-house.”

Daming Li, Weichai Power

Usare MATLAB e Simulink per le attività di verifica e convalida

Panel Navigation

 

Argomenti trattati: progettazione Model-Based e workflow collaborativi

Verifica dei requisiti

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. Simulink Requirements™ consente di visualizzare, creare e gestire i requisiti insieme alla propria architettura, ai progetti, al codice generato e agli artefatti di prova. È possibile creare un thread digitale dai requisiti al progetto in System Composer™, Simulink, Stateflow® o dei test MATLAB 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 test.  È anche possibile visualizzare, sincronizzare e gestire i requisiti provenienti da strumenti di terze parti in modo da stabilire una tracciabilità con gli altri strumenti coinvolti nel processo di sviluppo.

Le valutazioni temporanee in 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.


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 (per ISO 26262 e IEC 61508) e il DO Qualification Kit (per DO-178) 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.


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 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 dei casi di test per affrontare situazioni di copertura incompleta al fine di soddisfare obiettivi di copertura strutturale e funzionale.


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++.


Parti dalle operazioni di base per arrivare a quelle più avanzate grazie ad esempi e tutorial interattivi.