Fortschrittliche Automobilsoftware-Simulation mit SimSched
SimSched verbessert Automobilsimulationen, indem es präzise Timing integriert.
― 6 min Lesedauer
Inhaltsverzeichnis
AUTOSAR, oder Automotive Open System Architecture, ist ein Standard in der Automobilindustrie. Er hilft dabei, die Software in Fahrzeugen in ein strukturiertes Format zu organisieren. Diese Architektur hat drei Schichten: eine für Anwendungen, eine für die Laufzeit und eine für die Basissoftware. Die Anwendungsschicht ist der Ort, wo Softwarefunktionen mit Hilfe von Softwarekomponenten (SW-Cs) erstellt werden. Jede Komponente hat ausführbare Elemente, die beschreiben, was die Software macht und wie sie sich verhält.
Beim Erstellen von Software für Autos verwenden Ingenieure Tools wie Simulink, um das Verhalten dieser Komponenten darzustellen. Allerdings geht Simulink davon aus, dass die Aktionen in seiner Umgebung sofort passieren, was in der Realität nicht der Fall ist. Im echten Leben brauchen diese Aktionen Zeit. Dieser Unterschied kann zu Problemen führen, bei denen unerwartete Verhaltensweisen während der Simulation nicht auftreten. Daher besteht die Notwendigkeit, besser zu modellieren, wie Zeit das Verhalten von Software in Autos beeinflusst.
SimSched ist eine Erweiterung von Simulink, die hilft zu simulieren, wie Software unter realen Bedingungen funktioniert. Es ermöglicht Ingenieuren, das Timing von Aufgaben präziser zu modellieren. Das bedeutet, dass sie beim Simulieren des Verhaltens von Softwarekomponenten die tatsächliche Zeit berücksichtigen können, die jede Aufgabe in einem echten Fahrzeug benötigen würde. Das Tool hilft, ein genaueres Bild davon zu schaffen, wie die Software in der Praxis funktionieren wird.
Die Bedeutung der Simulation
Moderne Autos werden von komplexen Softwaresystemen gesteuert. Zum Beispiel verlassen sich Systeme, die Sicherheitsfunktionen verwalten oder beim autonomen Fahren helfen, stark auf Software. In modernen Fahrzeugen kann es Millionen von Codezeilen geben, um diese Systeme richtig funktionieren zu lassen. Bei so viel auf dem Spiel ist es wichtig, dass Ingenieure die Software genau entwickeln und testen, bevor sie in echte Autos kommt.
Simulationen sind entscheidend für das Testen von Systemen. Sie ermöglichen es Ingenieuren zu sehen, wie Designs funktionieren werden und potenzielle Probleme lange bevor das Endprodukt gebaut wird, aufzudecken. Traditionelle Simulationsmethoden in Simulink berücksichtigen jedoch nicht, wie viel Zeit jede Aktion benötigt. Sie vereinfachen es, indem sie annehmen, dass alles sofort passiert.
Die Rolle von SimSched
SimSched zielt darauf ab, diese Probleme anzugehen, indem es die Zeit zu einem zentralen Bestandteil seiner Simulationen macht. Durch das Hinzufügen von Timing-Details zu den Modellen in Simulink ermöglicht SimSched Ingenieuren zu sehen, wie lange Aufgaben tatsächlich zum Ausführen brauchen. Das ist entscheidend, da es ihnen hilft, Timing-Probleme zu entdecken und sie während der Entwurfsphase zu beheben, anstatt während des Tests oder nach der Veröffentlichung.
SimSched verwendet einen Algorithmus, der widerspiegelt, wie Aufgaben tatsächlich priorisiert und in Echtzeit ausgeführt werden. Viele Fahrzeuge nutzen ein System namens Priority Ceiling Scheduling, das hilft zu managen, wie Aufgaben Ressourcen teilen. Das bedeutet, dass Aufgaben sich gegenseitig basierend auf ihrer Wichtigkeit unterbrechen können. SimSched modelliert dieses Verhalten, sodass Ingenieure sehen können, wie ihre Software unter verschiedenen Bedingungen funktionieren könnte.
Aufbau auf früheren Arbeiten
SimSched ist eine Verbesserung gegenüber früheren Arbeiten, die auf einer Konferenz vorgestellt wurden. Es führt eine grafische Benutzeroberfläche (GUI) ein, die den Modellierungsprozess vereinfacht. Die neue Oberfläche ermöglicht es Ingenieuren, Komponenten einfach zu verwalten und einige Teile der Simulationsvorbereitung zu automatisieren. Dieses Tool erfordert keine umfangreichen Programmierkenntnisse und ist benutzerfreundlicher.
Die Notwendigkeit für präzises Timing
In der Automobilindustrie ist es wichtig, dass Software korrekt läuft und strengen Timing-Anforderungen entspricht. Verzögerungen bei den Reaktionszeiten können zu ernsten Sicherheitsrisiken führen. Daher brauchen Ingenieure eine Möglichkeit, das Timing auf einfache Weise zu modellieren. SimSched geht auf dieses Bedürfnis ein, indem es den Nutzern erlaubt, das Timing für Aufgaben direkt im Simulink-Modell festzulegen.
AUTOSAR hat seine Timing-Anforderungen formalisiert, und SimSched passt sich diesen Standards an. Es hilft Ingenieuren, ihre Timing-Bedürfnisse auf mehreren Abstraktionsebenen zu definieren. Dadurch können sie überprüfen, ob ihre Designs die spezifischen Timing-Anforderungen unter realen Bedingungen erfüllen.
Wie SimSched funktioniert
SimSched ist so gestaltet, dass es in bestehende Simulink-Workflows integriert werden kann, was es Ingenieuren, die mit der Umgebung bereits vertraut sind, erleichtert, es zu übernehmen. Bei der Verwendung von SimSched können Ingenieure verschiedene Parameter für ihre Aufgaben festlegen, wie lange sie für die Durchführung benötigen und in welcher Reihenfolge sie ausgeführt werden sollen.
Während der Simulation hält SimSched einen Zeitplan basierend auf diesen Parametern ein. Der Scheduler verfolgt, welche Aufgaben ausgeführt werden sollen und wann, und ermöglicht so genaues Timing während der Tests.
Vorteile gegenüber anderen Tools
SimSched wird mit mehreren vorhandenen Tools verglichen und hat sich als unkompliziert in der Anwendung erwiesen. Es bietet erhebliche Vorteile, darunter einfache Eingabe und reduzierte Anforderungen an zusätzlichen Code. Andere Tools könnten komplexer sein und erfordern, dass Nutzer umfangreiche Kenntnisse in Programmierung oder ein detailliertes Verständnis ihrer inneren Abläufe haben.
Die Zukunft von SimSched
Die Entwicklung von SimSched ist erst der Anfang. Zukünftige Arbeiten könnten seine Fähigkeiten erweitern, um komplexeren Situationen gerecht zu werden, wie Aufgaben, die keinen strikten Zeitplan einhalten. Das könnte die Unterstützung für eine breitere Palette von Scheduling-Algorithmen umfassen, um realistischere Modellierungen darüber zu ermöglichen, wie Aufgaben in unterschiedlichen Situationen interagieren.
Durch die Fähigkeit, eine Vielzahl von Ereignissen und Bedingungen zu simulieren, können Ingenieure mehr Kontrolle über ihre Designs behalten. Langfristig könnte das dazu beitragen, die Sicherheit und Leistung von Automobilsoftware weiter zu verbessern.
Fazit
SimSched bietet einen bedeutenden Fortschritt in der Simulation von Automobilsoftware. Es ermöglicht Ingenieuren, das Timing in ihren Designs zu berücksichtigen, was in der Automobilindustrie entscheidend ist, da Sicherheit und Leistung nicht gefährdet werden dürfen. Durch die Verbesserung, wie Simulationen das Verhalten in der realen Welt erfassen, zielt SimSched darauf ab, das Risiko unerwarteter Probleme zu verringern, die auftreten können, nachdem ein Fahrzeug auf die Strasse kommt.
Durch fortlaufende Verbesserungen und Flexibilität hat SimSched das Potenzial, ein Standardwerkzeug im Entwicklungsprozess von Automobilsoftware zu werden und Ingenieuren zu helfen, sicherere und zuverlässigere Fahrzeuge zu erstellen.
Titel: SimSched: A tool for Simulating Autosar Implementaion in Simulink
Zusammenfassung: 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.
Autoren: Jian Chen, Manar H. Alalfi, Thomas R. Dean, Ramesh S
Letzte Aktualisierung: 2023-08-28 00:00:00
Sprache: English
Quell-URL: https://arxiv.org/abs/2308.14974
Quell-PDF: https://arxiv.org/pdf/2308.14974
Lizenz: https://creativecommons.org/licenses/by-nc-sa/4.0/
Änderungen: Diese Zusammenfassung wurde mit Unterstützung von AI erstellt und kann Ungenauigkeiten enthalten. Genaue Informationen entnehmen Sie bitte den hier verlinkten Originaldokumenten.
Vielen Dank an arxiv für die Nutzung seiner Open-Access-Interoperabilität.