Introduzione
La transizione verso i veicoli definiti dal software (SDV) consentirà alle case automobilistiche di aggiungere nuove funzionalità durante il ciclo di vita di un veicolo. Per consentire aggiornamenti frequenti, i team stanno adottando nuovi approcci, tra cui architetture E/E centralizzate o zonali con computer ad alte prestazioni (HPC), software embedded basato su architettura orientata ai servizi (SOA), automazione tramite integrazione continua/distribuzione continua (CI/CD) e validazione virtuale attraverso la simulazione.
La transizione verso i SDV non è semplice. Questo white paper offre una serie di approfondimenti e best practice maturati attraverso le collaborazioni di MathWorks con aziende del settore automotive in tutto il mondo. Analizza in che modo la progettazione Model-Based consente lo sviluppo dei veicoli definiti dal software:
- Riutilizzando il software in più piattaforme: la progettazione Model-Based facilita il riutilizzo del software in HPC, controller di zona e unità di controllo elettronico (ECU).
- Riducendo i tempi di sviluppo grazie all’automazione: l’uso di modelli, insieme a verifiche automatizzate e continue, controlli di coerenza e analisi di tracciabilità, aiuta a ridurre i tempi di sviluppo rispettando i requisiti di sicurezza e qualità.
- Consentendo l’integrazione shift-left: l’integrazione di modelli di sistemi fisici e stack di software virtualizzati consente di eseguire test di integrazione software shift-left, accelerando il rilevamento dei difetti e migliorando la copertura dei test.
- Fornendo gli strumenti giusti agli esperti del settore: la progettazione Model-Based consente agli esperti del dominio di adottare pratiche moderne di sviluppo software e creare software di alta qualità.
Funzionalità software e valore per il cliente
Le caratteristiche distintive del brand e il valore per il cliente sono veicolati dal software. I clienti si aspettano sicurezza e un’esperienza digitale continua, in cui il veicolo è una piattaforma di interazioni digitali ed esperienze che vanno oltre la semplice guida. Queste aspettative guidano i progressi tecnologici dei veicoli, come l’elettrificazione e l’autonomia.
Il software fornisce funzionalità che rispondono alle esigenze del cliente e supportano gli obiettivi aziendali. Il ciclo prosegue con l’evoluzione delle aspettative dei clienti.
Il software fornisce funzionalità che rispondono alle esigenze del cliente e supportano gli obiettivi aziendali. Il ciclo prosegue con l’evoluzione delle aspettative dei clienti.
Come fornire software in modo rapido e sicuro
Fornire software per il settore automotive rapidamente e in modo affidabile è difficoltoso per molte ragioni, tra cui:
- Aumento della complessità del software e delle relative sfide di validazione
- Requisiti per la sicurezza funzionale
- Team di sistema veicolare e software con mentalità diverse
Questo documento illustra le tecnologie per lo sviluppo dei SDV, oltre alle modalità di collaborazione tra i team coinvolti.
Analisi degli elementi dei veicoli definiti dal software
MathWorks collabora con aziende automobilistiche in tutto il mondo, osservando sia pratiche efficaci che aree di criticità.
La fornitura di veicoli definiti dal software richiede competenze sia nello sviluppo del veicolo che nella creazione software, oltre a una stretta collaborazione tra i team. Tuttavia, questi team spesso lavorano separatamente poiché seguono processi differenti e storicamente utilizzano strumenti diversi.
Il veicolo è un sistema multidominio in cui affidabilità, sicurezza funzionale e integrazione di numerosi componenti fisici sono elementi critici.
Le competenze necessarie per sviluppare prodotti definiti dal software includono una combinazione di pratiche agili moderne di sviluppo software, con cicli di sviluppo rapidi, release frequenti e un elevato grado di automazione nella creazione del software. I prodotti basati su software necessitano di funzionalità guidate dai dati, che vengono raccolti dalla flotta attraverso il Cloud.
La complessità e i rischi emergono proprio nel momento in cui queste competenze si integrano, ossia quando team, strumenti, processi, mentalità e pregiudizi differenti si trovano a dover confrontarsi.
La base fondamentale del processo di sviluppo dei SDV è il veicolo stesso. Vent’anni fa, gli ingegneri dello sviluppo di sistemi automotive lavoravano in modo frammentato, con attività svolte da gruppi separati che si scambiavano informazioni tramite documenti. Questo approccio è cambiato con l’introduzione della progettazione Model-Based.
Utilizzo della progettazione Model-Based
La progettazione Model-Based mette al centro dei processi di sviluppo i modelli, sostituendo l’uso tradizionale dei documenti. Il modello funge da insieme di requisiti eseguibili che guidano le attività di verifica, validazione e test. Questo approccio consente di individuare e correggere precocemente problemi relativi a requisiti, architettura e algoritmi. Successivamente, è possibile generare automaticamente codice embedded, come C o C++, a partire dai modelli degli algoritmi da eseguire su un microcontroller.
Grazie alla progettazione Model-Based, i team possono superare la rigidità percepita del ciclo a V. L’adesione rigida al ciclo a V comporta una sequenza lineare di passaggi che richiedono requisiti di sistema definiti prima della decomposizione del sistema e la disponibilità di tutti i componenti prima dei test di integrazione, il che limita agilità ed efficienza.
Con la progettazione Model-Based e Simulink® è possibile modellare e simulare l’intero sistema, inclusi modelli di componenti fisici come batteria e sterzo, nonché l’intera architettura del veicolo, rappresentando anche i vari algoritmi software in esecuzione sul veicolo. Grazie a questo modello di sistema, è possibile iniziare lo sviluppo virtuale di una nuova funzionalità software ed eseguire test di integrazione virtuale sin dall’inizio, verificando come la nuova funzionalità interagisce con altre funzionalità software, tutte eseguite in un veicolo virtuale.
Inoltre, con Simulink, le fasi possono essere compattate rispetto a quanto previsto dal ciclo a V e l’esecuzione di queste fasi può essere automatizzata in modo coerente con le pratiche moderne di sviluppo software.
Infine, con i veicoli definiti dal software, l’architettura E/E del veicolo sta cambiando, così come i processi di sviluppo correlati. Di conseguenza, anche i workflow che implementano la progettazione Model-Based si sono evoluti.
Shift-left con la simulazione e la virtualizzazione
Una parte del cambiamento dei workflow interessa la virtualizzazione dei chip, del software di base e del middleware, che consente un’integrazione software anticipata (integrazione shift-left). Ad esempio, Simulink consente di anticipare le fasi di integrazione e test incorporando la rappresentazione virtuale di un processore Infineon® AURIX™ tramite tecnologie Synopsys. È possibile eseguire iterazioni rapide nell’ambiente di simulazione e poi utilizzare le librerie Infineon per generare automaticamente codice ottimizzato per il processore. Simulink supporta anche tecnologie di virtualizzazione di altri produttori, come Qualcomm.
Attraverso lo shift-left è possibile iterare, testare e validare rapidamente nelle primissime fasi. Successivamente, è possibile generare codice ottimizzato per il processore.
Attraverso lo shift-left è possibile iterare, testare e validare rapidamente nelle primissime fasi. Successivamente, è possibile generare codice ottimizzato per il processore.
Supporto dell’architettura orientata ai servizi
La SOA è una componente fondamentale per costruire software modulare aggiornabile in modo indipendente. Oggi, la progettazione Model-Based e Simulink consentono di creare applicazioni basate su segnali e orientate ai servizi per le nuove architetture E/E che interessano HPC e controller di zona. È possibile modellare applicazioni SOA (comprese le applicazioni AUTOSAR Adaptive), simularle e generare codice C++ prima di distribuirle come servizi modulari.
Zeekr, un produttore di veicoli elettrici in Cina, ha utilizzato con successo la progettazione Model-Based per lo sviluppo di software SOA, consentendo al team di sviluppo di iterare e effettuare rapidamente il release del software.
Per saperne di più
Integrazione con piattaforme open source e di terze parti
Un ambiente di sviluppo destinato alla produzione deve integrare numerosi strumenti e piattaforme. Tale requisito è ampiamente supportato dalla progettazione Model-Based, poiché Simulink si interfaccia con molti altri strumenti, inclusi strumenti e codice open source.
Simulazione di scenari complessi
La creazione di scenari su strada e fuoristrada per la simulazione aiuta a ottimizzare i requisiti di sistema e testarli in relazione a situazioni realistiche.
È possibile creare scenari stradali o di cantiere per simulazioni e test.
Maggiore velocità e qualità
Passiamo ora al lato software. Le pratiche moderne di sviluppo software pongono l’accento sull’agilità.
I workflow che implementano la progettazione Model-Based si sono evoluti per rendere l’intero processo più agile, allineando i team di sviluppo del sistema veicolo e del software attraverso strumenti e obiettivi condivisi. La virtualizzazione del sistema completo, dei suoi componenti, dei processori virtuali e degli scenari consente di disporre di ambienti di test realistici.
Gli strumenti di ingegneria devono essere sempre più integrati con l’infrastruttura IT. La stretta collaborazione tra team di ingegneria e IT non è mai stata una prassi comune nel settore automotive. MathWorks collabora con le organizzazioni per mettere in comunicazione questi due ambiti e contribuire ad automatizzare gli approcci di ingegneria dei sistemi e Model-Based utilizzando gli strumenti DevOps adottati dai team software e delle piattaforme. L’obiettivo è allineare i processi, uniformare l’esecuzione delle pipeline e favorire una maggiore trasparenza attraverso dashboard e benchmark di prestazioni.
La virtualizzazione del sistema veicolo, dei componenti, del processore, degli stack di software e degli scenari offre un ambiente di test realistico, che può essere collegato e automatizzato tramite pipeline di integrazione continua (CI), indipendentemente dal fatto che il software sia generato automaticamente, scritto a mano o con una combinazione di entrambi.
Ad esempio, gli ingegneri di Geely ritengono che l’integrazione continua e il testing continuo (CICT) siano elementi fondamentali per passare dal semplice sviluppo rapido di software al rapido sviluppo di software di qualità. Considerano l’integrazione tra strumenti di ingegneria come Simulink, Simulink Test™ e Polyspace® e le piattaforme di CICT un modo per accelerare il flusso di valore e garantire una fornitura di software continua, di alta qualità, veloce, stabile e controllabile, riducendo i costi. Hanno fatto registrare un tasso di successo del 90% nei test di integrazione software alla prima esecuzione.
Continental adotta questo metodo da tempo, integrando approcci Model-Based con i propri centri software, incluse le integrazioni con GitHub®, Jenkins® e Artifactory. Ha praticamente raddoppiato la velocità del suo sistema di CI/CD e dimezzato le operazioni di manutenzione.
Questi due esempi sottolineano l’importanza di unire i sistemi e le moderne pratiche software.
Come progettare l’IA nel proprio sistema
Un tipo fondamentale di funzionalità basata sui dati è l’IA. Include algoritmi di IA per sistemi embedded, spesso chiamati IA embedded. MATLAB® e Simulink offrono una libreria di esempi di riferimento che mostrano come integrare una funzionalità software basata su IA all’interno di un sistema, per poi generare automaticamente il codice per il modello di inferenza. Questi esempi possono aiutarti a iniziare a progettare, simulare, testare, verificare e distribuire algoritmi di IA in grado di migliorare le prestazioni e la funzionalità di sistemi embedded complessi. Un esempio tipico di IA embedded è un sensore virtuale.
L’IA può essere sviluppata in un framework open source come PyTorch®. MATLAB è in grado di interoperare con questi ambienti, così come con Python® e TensorFlow™, tramite co-esecuzione, convertitori di modelli e l’hub per i modelli di Deep Learning di MATLAB. I blocchi Simulink consentono di integrare i modelli di inferenza all’interno del sistema per simulare il comportamento dell’IA nel contesto operativo e nei vari scenari.
Scalabilità sul Cloud
Il Cloud offre una piattaforma per scalare le simulazioni e i processi di sviluppo software per la prototipazione, lo sviluppo e la distribuzione di funzionalità e aggiornamenti per i veicoli. L’integrazione tra Simulink e il Cloud consente di estendere i workflow di simulazione e sviluppo a piattaforme Cloud come Amazon Web Services (AWS®) e Microsoft® Azure®.
Conclusione
La transizione verso i veicoli definiti dal software richiede l’integrazione di mentalità, strumenti e processi provenienti dal mondo del software e da quello dei sistemi. MathWorks offre strumenti che supportano l’IA, le tecnologie Cloud e le moderne pratiche di sviluppo software.
Seleziona un sito web
Seleziona un sito web per visualizzare contenuto tradotto dove disponibile e vedere eventi e offerte locali. In base alla tua area geografica, ti consigliamo di selezionare: .
Puoi anche selezionare un sito web dal seguente elenco:
Come ottenere le migliori prestazioni del sito
Per ottenere le migliori prestazioni del sito, seleziona il sito cinese (in cinese o in inglese). I siti MathWorks per gli altri paesi non sono ottimizzati per essere visitati dalla tua area geografica.
Americhe
- América Latina (Español)
- Canada (English)
- United States (English)
Europa
- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)
- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- United Kingdom (English)