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

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. 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 dei 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 test.

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


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


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.