Intuitives Beispiel

Ereignisse als Notenzeichen

Ein Beispiel von biologischen Realzeitsystemen bilden für uns Menschen, die miteinander Musik machen. Im klassischen Fall gibt es Notenblätter, auf denen untereinander mehrere Notenlinien gezeichnet sind (siehe Bild 2.1); je 5 Linien repräsentieren eine Stimme -oder ein Instrument-. Die Stimmen werden durch Notenzeichen repräsentiert, wobei ein Notenzeichen ein individuelles Tonereignis (event) darstellt, das eine bestimmte Tonhöhe und eine bestimmte Ereignisdauer repräsentiert. Ein Musiker, der die Noten von einer bestimmten Stimme spielt, muss sich strikt an die vorgegebene Ereignisdauer halten, um mit den Tönen anderer Stimmen synchron spielen zu können (vgl. Bild 2.2. Jedes Tonereignis wird also mit seiner individuellen Beendigungszeit (deadline) notiert. Die Folge der Töne ist gewöhnlich in gleichmässige Abschnitte unterteilt; jeder Abschnitt ist ein Takt, der eine feste Anzahl von Tönen umfassen kann (z.B. 4/4 oder 3/4 usw. Dabei kann angegeben werden, dass z.B. eine 1/4-Note mit der Geschwindigkeit von 100 bpm (bpm := beats per minute) haben soll. Dies bedeutet, dass die Dauer $t$ einer 1/4-Note sich berechnet aus [t = 1 min/100 = 60.000 ms/ 100 = 600 ms]. für das Notenbeispiel in Bild 2.1 würde dies bedeuten, dass die 1/4 Note in Stimme 2 0.6 s dauern darf, die 1/8 Note von Stimme 3 0.3 s und die 1/16 Noten von Stimme 12 jeweils nur 0.15 s. Es ist erstaunlich, dass unser menschliches Gehirn in der Lage ist, solche Zeitvorgaben nach etwas Übung leicht einzuhalten, und dazu noch in Abstimmung mit den Gehirnen der anderen Musiker, die synchron ihre Stimmen spielen.

Figure 2.1: Noten als Repräsentationen von Ereignissen mit Deadlines
b\includegraphics[width=3.5in]{rts_example_music.eps}

Eine Besonderheit im Fall der Musik ist, dass die einzelnen Notenereignisse nicht regelmässig (periodisch) sind, sondern unregelmässig (aperiodisch). Normalerweise ist die Verarbeitung von aperiodischen Ereignissen durch technische Realzeitsysteme sehr schwer bis unmöglich. Im Falle der Musik gilt aber die Regel, dass alle aperiodischen Notenereignisse innerhalb eines Taktes mit ihrem Zeitbedarf niemals die Taktgrenzen überschreiten. Damit ist die genaue Planung der Ausführung solcher aperiodischer Notenereignisse im Gegensatz zum technischen Fall kein Problem. Komponierte Musik ist bezüglich ihres Zeitverhaltens also gewissermassen 'gezähmt'; wirkliche Überraschungen sind nicht möglich. Anders ist die Situation im Falle von improvisierter Live-Musik.

Figure 2.2: Musiker repräsentieren natürliche Realzeitsysteme
\includegraphics[width=3.5in]{rts_example_musicians.eps}

Im Falle von technischen Realzeitsystemen werden sämtliche Funktionen von einem technischen System ausgeführt. D.h. das Auftreten eines Noteneregnisses gilt als Aufforderung (trigger) an das technische System, jene Prozesse (tasks) in Gang zu setzen, die notwendig sind, um dasjenige Klangereignis zu erzeugen, das dem Notenereignis korrespondiert. Sofern das Klangerzeugnis durch eine Soundkarte erzeugt wird, stellt die Soundkarte eine Ressource (resource) dar, die von dem klangerzeugenden Prozeß (task) aktiviert werden muss.

Figure 2.3: Wichtige Begriffe zu Realzeitsystemen
\includegraphics[width=4.0in]{musik_techntabelle.eps}

Anhand des Musikbeispiels kann man gleich einige wichtigen Begriffe einführen, durch die sich Realzeitsysteme charakterisieren lassen (siehe Bild 2.2). So repräsentiert ein Notenzeichen ein reales Ereigniss, event $e_{i}$, dem eine bestimmte erste Auftretenszeit $r_{i}$ -auch Phase $\Phi_{i}$ genannt- zugeordnet ist. Tritt das Notenzeichen auf, muss der Musiker -hier: das Realzeitsystem- einen Prozess zur Klangerzeugung -Task $\tau_{i}$ genannt- aktivieren. Dieser Task $\tau_{i}$ benötigt eine gewisse Ausführungszeit/ hat eine bestimmte Dauer $C_{i}$, die den vorgegebenen Endpunkt -die relative Deadline $D_{i}$- nicht überschreiten darf. Wird ein Task während seiner Ausführung von einem anderen Task blockiert, spricht man von der Blocking Time $B_{i}$. Während Notenereignisse in der Regel aperiodisch sind, sind viele Ereignisse im technischen Umfeld regelmässig, d.h. periodisch. Man bezeichnet die Periode eines Ereignisses $e_{i}$ auch mit $T_{i}$. Benötigt ein Task $\tau_{i}$ zu seiner Ausführung eine Ressource $R_{i}$, dann muss er den zur Ressource $R_{i}$ gehörigen Semaphor $S_{R}$ anfragen. Ist der Semaphor $S_{i}$ schon besetzt, kommt der anfragende Task $\tau_{i}$ in eine Warteschlange (queue) $Q_{S}$. Die Repräsentation einer Ereignismenge mit der zugehörigen Taskmenge durch solche Tabellen wie in Bild 2.2 nennt man auch technische Tabelle $TT$ (vgl. Bild 2.4).

Figure 2.4: Beispiel einer einfachen technischen Tabelle
\includegraphics[width=3.50in]{beispiel_tt.eps}

Gerd Doeben-Henisch 2013-01-16