Sviluppo della simulazione software automotive con SimSched
SimSched migliora le simulazioni software automobilistiche integrando un timing preciso.
― 5 leggere min
AUTOSAR, o Automotive Open System Architecture, è uno standard usato nell'industria automobilistica. Serve a organizzare il Software nei veicoli in un formato strutturato. Questa architettura ha tre livelli: uno per le applicazioni, uno per il runtime e uno per il software di base. Il livello applicativo è dove si costruiscono le funzioni software usando i Componenti Software (SW-Cs). Ogni componente ha entità eseguibili che descrivono cosa fa il software e come si comporta.
Quando creano software per le auto, gli ingegneri usano strumenti come Simulink per rappresentare il comportamento di questi componenti. Però, Simulink assume che le azioni fatte nel suo ambiente avvengano istantaneamente, il che non è vero nella realtà. Nella vita reale, queste azioni richiedono tempo. Questa differenza può portare a problemi in cui comportamenti imprevisti non si manifestano durante la simulazione. Quindi, c'è bisogno di un modo migliore per modellare come il tempo impatta il comportamento del software nelle auto.
SimSched è un'estensione di Simulink che aiuta a simulare come il software si comporta in condizioni reali. Permette agli ingegneri di modellare il timing dei compiti in modo più preciso. Questo significa che quando simulano il comportamento dei componenti software, possono tenere conto del tempo reale che ogni compito richiederebbe in un veicolo. Lo strumento aiuta a creare un'immagine più accurata di come funzionerà il software quando messo in pratica.
L'importanza della simulazione
Le auto di oggi sono guidate da sistemi software complessi. Ad esempio, i sistemi che gestiscono le funzioni di sicurezza o aiutano nella guida autonoma si basano pesantemente sul software. I veicoli moderni possono avere milioni di righe di codice per far funzionare questi sistemi correttamente. Con così tanto in gioco, è essenziale che gli ingegneri sviluppino e testino accuratamente il software prima che venga messo in vere auto.
Le simulazioni sono vitali per testare i sistemi. Permettono agli ingegneri di vedere come funzioneranno i progetti e scoprire potenziali problemi molto prima che il prodotto finale venga costruito. Tuttavia, i metodi di simulazione tradizionali in Simulink non considerano quanto tempo richiede ogni azione. Semplificano assumendo che tutto avvenga istantaneamente.
Il ruolo di SimSched
SimSched punta a risolvere questi problemi rendendo il tempo una parte centrale delle sue simulazioni. Aggiungendo dettagli temporali ai modelli in Simulink, SimSched permette agli ingegneri di vedere quanto tempo richiederanno effettivamente i compiti da eseguire. Questo è cruciale, poiché li aiuta a scoprire problemi di timing e a risolverli durante la fase di progettazione invece che durante il test o dopo il rilascio.
SimSched utilizza un algoritmo che riflette come i compiti vengono effettivamente prioritizzati ed eseguiti in tempo reale. Molti veicoli usano un sistema chiamato priority ceiling scheduling, che aiuta a gestire come i compiti condividono le risorse. Questo significa che i compiti possono interrompersi a vicenda in base alla loro importanza. SimSched modella questo comportamento, permettendo agli ingegneri di vedere come il loro software potrebbe comportarsi in diverse condizioni.
Costruire su lavori precedenti
SimSched è un miglioramento rispetto ai lavori precedenti presentati in una conferenza. Introduce un'interfaccia grafica (GUI) che semplifica il processo di modellazione. La nuova interfaccia consente agli ingegneri di gestire facilmente i componenti e automatizzare alcune parti della preparazione della simulazione. Questo strumento non richiede competenze di programmazione estese, rendendolo più user-friendly.
La necessità di un timing preciso
Nell'industria automobilistica, assicurarsi che il software funzioni correttamente secondo requisiti temporali rigorosi è essenziale. Ritardi nei tempi di risposta possono portare a seri rischi per la sicurezza. Perciò, gli ingegneri hanno bisogno di un modo per modellare il timing in modo semplice. SimSched soddisfa questa necessità permettendo agli utenti di definire il timing per i compiti direttamente all'interno del modello Simulink.
AUTOSAR ha formalizzato i suoi requisiti temporali e SimSched si allinea a questi standard. Aiuta gli ingegneri a definire le loro esigenze temporali a più livelli di astrazione. In questo modo, possono verificare se i loro progetti soddisferanno specifici requisiti temporali in condizioni reali.
Come funziona SimSched
SimSched è progettato per essere integrato nei workflow esistenti di Simulink, rendendolo facile da adottare per gli ingegneri già familiari con l'ambiente. Utilizzando SimSched, gli ingegneri possono specificare diversi parametri per i loro compiti, come quanto tempo impiegano a completarsi e l'ordine in cui devono essere eseguiti.
Durante la simulazione, SimSched mantiene un programma basato su questi parametri. Il pianificatore terrà traccia di quali compiti devono essere eseguiti e quando, abilitando un timing accurato durante i test.
Vantaggi rispetto ad altri strumenti
SimSched è confrontato con diversi strumenti esistenti e ha dimostrato di essere facile da usare. Offre vantaggi significativi, tra cui facilità di input e una riduzione della necessità di codifica extra. Altri strumenti potrebbero essere più complessi, richiedendo agli utenti di avere una conoscenza approfondita della programmazione o una comprensione dettagliata del loro funzionamento interno.
Il futuro di SimSched
Sviluppare SimSched è solo l'inizio. Lavori futuri potrebbero espandere le sue capacità per gestire situazioni più complesse, come compiti che non seguono un orario rigido. Questo potrebbe comportare l'aggiunta di supporto per un'ampia gamma di algoritmi di pianificazione, permettendo una modellazione più realistica di come i compiti interagiscono in diverse situazioni.
Essere in grado di simulare una varietà di eventi e condizioni permette agli ingegneri di mantenere più controllo sui loro progetti. A lungo termine, questo potrebbe aiutare ulteriormente a migliorare la sicurezza e le prestazioni del software automobilistico.
Conclusione
SimSched rappresenta un importante passo avanti nella simulazione del software automobilistico. Permette agli ingegneri di tenere conto del timing nei loro progetti, il che è cruciale nell'industria automobilistica dove la sicurezza e le prestazioni non possono essere compromesse. Migliorando il modo in cui le simulazioni catturano il comportamento del mondo reale, SimSched punta a ridurre il rischio di problemi imprevisti che sorgono dopo che un veicolo è sulla strada.
Con miglioramenti continui e flessibilità, SimSched ha il potenziale per diventare uno strumento standard nel processo di sviluppo del software automobilistico, aiutando gli ingegneri a creare veicoli più sicuri e affidabili.
Titolo: SimSched: A tool for Simulating Autosar Implementaion in Simulink
Estratto: AUTOSAR (AUTomotive Open System ARchitecture) is an open industry standard for the automotive sector. It defines the three-layered automotive software architecture. One of these layers is the application layer, where functional behaviors are encapsulated in Software Components (SW-Cs). Inside SW-Cs, a set of runnable entities represents the internal behavior and is realized as a set of tasks. To address AUTOSAR's lack of support for modeling behaviors of runnables, languages such as Simulink are employed. Simulink simulations assume Simulink block behaviors are completed in zero execution time, while real execution requires a finite execution time. This timing mismatch can result in failures to detect unexpected runtime behaviors during the simulation phase. This paper extends the Simulink environment to model the timing properties of tasks. We present a Simulink block that can schedule tasks with non-zero simulation times. It enables a more realistic analysis during model development.
Autori: Jian Chen, Manar H. Alalfi, Thomas R. Dean, Ramesh S
Ultimo aggiornamento: 2023-08-28 00:00:00
Lingua: English
URL di origine: https://arxiv.org/abs/2308.14974
Fonte PDF: https://arxiv.org/pdf/2308.14974
Licenza: https://creativecommons.org/licenses/by-nc-sa/4.0/
Modifiche: Questa sintesi è stata creata con l'assistenza di AI e potrebbe presentare delle imprecisioni. Per informazioni accurate, consultare i documenti originali collegati qui.
Si ringrazia arxiv per l'utilizzo della sua interoperabilità ad accesso aperto.