Simple Science

Scienza all'avanguardia spiegata semplicemente

# Informatica# Ingegneria del software

Sviluppo della simulazione software automotive con SimSched

SimSched migliora le simulazioni software automobilistiche integrando un timing preciso.

― 5 leggere min


SimSched: Precision nelSimSched: Precision nelSoftware Autoautomobilistico.per le simulazioni di softwareSimSched garantisce tempistiche precise
Indice

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.

Fonte originale

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.

Altro dagli autori

Articoli simili