Nicht zeitrelevante Faktoren werden gezielt abstrahiert
Bei allen Modellen von Systemen fokussiert man die Eigenschaften, die für das gewählte Analyseverfahren relevant sind. Das Echtzeit-Verhalten der Systemkomponenten wird im Modell abgebildet; komplexe, nicht timing-relevante Faktoren werden gezielt abstrahiert. Ein Echtzeit-Modell eines funktionsreichen Steuergeräts kann dennoch einfach und sehr präzise sein (Bild 2).
Ausgangsbasis sind die Hardware-Elemente des eingebetteten Systems (Prozessoren und Bussysteme) mit ihren Scheduling-Verfahren, die definieren, wie die Leistungsanforderungen der Funktionen auf diesen abgearbeitet werden. Der Bedarf an Rechenzeit oder Datenübertragungsrate einer Funktion wird als Ausführungszeit und Anforderungsschema – beispielsweise zyklische oder ereignisgesteuerte Ausführung – beschrieben. Im Fall eines OSEK-Steuergeräts werden die Tasks und Interrupts mit ihren Eigenschaften und Abhängigkeiten modelliert. Die Anregungen der Software über Interrupts von außen werden als Stimuli modelliert. Einige dieser Parameter können aus einem OIL-File (OSEK Implementation Language) eingelesen werden. Andere, wie beispielsweise die Ausführungszeiten, sind in der Oberfläche des Modellierungswerkzeugs leicht zu ergänzen.
Dass die Software-Routinen einer Task nicht nur konstante Ausführungszeiten haben, ist häufig vernachlässigbar. Denn die für die Echtzeit-Fähigkeit entscheidende Antwortzeit einer Software wird wesentlich vom Scheduling beeinflusst, das bei der Timing-Analyse korrekt berücksichtigt wird.
Die Simulation des Echtzeit-Verhaltens
Zur Simulation wird das Timing-Modell mit Hilfe von Interrupts von Zeitgebern, externen Eingängen oder Bus-Nachrichten stimuliert und sein Echtzeit-Verhalten aufgezeichnet. Der Simulator chronSIM von Inchron steuert die Zuteilung der Zeitbedarfe der Software auf die modellierten Prozessoren und Busse entsprechend der gewählten Scheduling-Schemata. Jede Aktivierung, Verdrängung und Terminierung eines Prozesses (Task, ISR oder Bus-Nachricht) wird als Ereignis in einer Messspur aufgezeichnet. Die Prozessoren und Bussysteme haben häufig individuelle, asynchrone Taktgeber und externe Anregungen wie Kurbelwellen- oder Radsensoren. Sie werden mittels patentierter Methoden als driftende Uhren und zyklische und driftende Stimuli in der Simulation berücksichtigt, da sie wesentlichen Einfluss auf das Echtzeit-Verhalten haben (Bild 3).
Die Visualisierung stellt die Aktivierung, Blockierung und Verdrängung der Prozesse gemäß dem Scheduling dar. Damit kann leicht nachvollzogen werden, wie Prozesse niedriger Priorität von Prozessen hoher Priorität unterbrochen und gegebenenfalls gar nicht rechtzeitig abgeschlossen werden. In der Simulation können auf einfache Weise verschiedene Anregungsszenarien generiert werden, die extreme Auslastungen des Systems bewirken.
Messungen von Zeitabständen, z.B. Task-zu-Task-Aktivierungen oder Anfang-zu-Ende-Antwortzeiten von Wirkketten und statistische Analysen geben ein gutes Bild von der zu erwartenden Echtzeit-Fähigkeit des modellierten Systems. Die Prozessor- und Busauslastungen können über längere Zeiträume beobachtet sowie unerwünschte Lastspitzen genauer analysiert und in ihrer Ursache verstanden werden.