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
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.
Scopri i nostri prodotti
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.
Per saperne di più
- 11 best practice per lo sviluppo di applicazioni conformi a ISO 26262 con Simulink
- Sviluppo di distribuzioni di processi conformi a ISO 26262
- Modellazione degli obiettivi di qualità per la collaborazione tra OEM e fornitori (24:13)
- Linee guida del MathWorks Advisory Board (MAB)
- Implementazione della progettazione Model-Based per garantire la conformità alla certificazione DO-254 - White Paper
- Come definire controlli personalizzati del tempo di modifica (3:58)
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.
Scopri i nostri prodotti
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++.
Per saperne di più
Scopri i nostri prodotti
Parti dalle operazioni di base per arrivare a quelle più avanzate grazie ad esempi e tutorial interattivi.