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.
Iniezione e analisi sistematica dei guasti in Simulink
È possibile utilizzare la simulazione per analizzare gli effetti di guasti, attacchi e altri comportamenti anomali, allo scopo di sviluppare requisiti di sicurezza e protezione e verificare la robustezza del sistema. Simulink Fault Analyzer consente l'analisi sistematica degli effetti dei guasti, l'analisi della sicurezza e l'analisi della protezione mediante simulazione. Il prodotto esegue simulazioni di iniezione di guasti senza modificare il progetto. È possibile gestire errori e attacchi modellati in Simulink, Simscape e System Composer. Simulation Data Inspector consente di analizzare gli effetti di guasti e attacchi. È possibile eseguire analisi di sensibilità utilizzando il pannello Multiple Simulations. Puoi eseguire analisi di sicurezza, come Failure Mode e Effects Analysis (FMEA (5:50)), e analisi della sicurezza informatica (ad esempio TARA) sfruttando la simulazione. Simulink Fault Analyzer consente di creare connessioni formali tra guasti, attacchi, rischi, logica di rilevamento e mitigazione dei guasti 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++.