2.5 Datenfluss
81
Berechnungen mit einer Rate von 100 Hz erzeugt werden, wohingegen andere Signale mit einer Rate von 50 Hz erzeugt werden. Abgesehen von der Initialisierungsphase
und über längere Perioden betrachtet, muss dabei in einem SDF-Graphen die Anzahl
der Marken, die an eine Kante gesendet werden gleich der Anzahl der Marken sein,
die von dieser Kante wieder abgezogen werden. Ansonsten würden sich Marken
in den FIFO-Puffern ansammeln und keine endliche FIFO-Kapazität würde jemals
ausreichen. Sei n s die Anzahl von Marken, die durch die Ausführung eines sendenden Aktors s erzeugt werden und sei f s die Ausführungsrate. Sei n r die Anzahl von
Marken, die durch die Ausführung eines empfangenden Aktors r konsumiert werden
und sei f r die Ausführungsrate. Dann muss gelten
n s ∗ f s = n r ∗ f r
(2.13)
In Tabelle 2.2 ist diese Bedingung für den stationären Zustand erfüllt.
SDF-Graphen können auch Verzögerungen enthalten, was durch das das Symbol
D auf einer Kante dargestellt wird (siehe Abb. 2.42).
Abb. 2.42 Verzögerung in SDF
..
..
D
1
1 B
A
1
1
1
1
Das Observer-Muster, für das wir bei der Modellierung mit von-NeumannSprachen ein Problem hatten (siehe Seite 37), kann in SDF relativ leicht korrekt
modelliert werden (siehe Abb. 2.43). Es gibt kein Risiko von Deadlocks. Allerdings
erlaubt es SDF auch nicht, zur Laufzeit neue Beobachter hinzuzufügen.
Abb. 2.43 Observer-Muster in SDF
1
1
1
1
A
B1
B2
B3
1
1
1
Der Buchstabe „S” in SDF stand ursprünglich für das Adjektiv synchronous,
da ausführbereite Aktoren synchron ausgeführt werden können. Allerdings zeigen
die Ausführungsreihenfolgen in Tabelle 2.2, dass das gleichzeitige Ausführen aller
Aktoren tatsächlich eher selten sein kann. Deswegen wird das „S” inzwischen auch
so interpretiert, dass es für das Adjektiv static steht, denn eine mögliche statische
Planung der Ausführungsreihenfolge ist in der Tat ein wesentliches Merkmal von
SDF.
Précédent

- 104/485

Suivant