2.7 Diskrete, ereignisbasierte Sprachen
105
Beispielsweise könnten wir die größtmögliche Laufzeit für die Ausführung
von Code auf einem Prozessor kennen. Die Kommunikation würden wir
immer noch abstrakt modellieren. Als Ergebnis würden wir den Knoten B
in Abb. 2.65 erhalten. Man kann ein solches Modell component-assembly
model nennen.
C
In einem Modell vom Typ B könnten wir abstrakte Kommunikation durch
Kommunikation mit einem näherungsweisen Zeitmodell ersetzen. Dies bedeutet, dass wir Zugriffskonflikte und ihren Einfluss auf das Zeitverhalten
modellieren, aber wir modellieren nicht jedes Signal und wir beziehen uns
nicht auf Taktzyklen. Ein solches Modell kann bus-arbitration model genannt
werden.
D
In einem Modell vom Typ C könnten wir näherungsweise Zeitinformation
für die Kommunikation durch taktgenaue Zeitinformation ersetzen. Damit
würden wir in der Simulation eine Übersicht über benötigte Taktzyklen bekommen. Wir könnten ggf. sogar die echte, physikalische Zeit verwenden.
Das resultierende Modell, in Abb. 2.65 als Knoten D bezeichnet, können wir
bus-functional model [83] nennen.
E
In einem Modell vom Typ C können wir näherungsweise Zeitmodelle für
Berechnungen durch ein taktgenaues Modell der Berechnungen ersetzen. Damit können wir z.B. Speicherreferenzen im Detail erfassen. Das resultierende
Modell können wir zyklengenaues Berechnungsmodell nennen.
F
Der mit F bezeichnete Knoten wird erhalten, wenn Kommunikation und
Berechnungen zyklengenaue Zeiten verwenden. Wir können das Modell Implementierungsmodell nennen.
Entwurfsprozeduren müssen das Diagramm in Abb. 2.65 vom Knoten A zum
Knoten F durchlaufen.
2.7.4 SpecC
Die SpecC-Sprache [173] zeigt sehr schön, wie eine Unterscheidung zwischen Kommunikation und Berechnung aussehen kann und sie zeigt die TLM-Prinzipien. SpecC
modelliert Systeme als hierarchische Netzwerke von in ihrem Verhalten beschriebenen Komponenten, die über Kanäle kommunizieren. SpecC-Beschreibungen bestehen aus Verhalten (behaviors), Kanälen (channels) und Schnittstellen (interfaces).
Verhalten enthält Ports, lokal instantiierte Komponenten, private Variablen und
Funktionen sowie eine nach außen sichtbare main-Funktion. Kanäle kapseln die
Kommunikation. Sie enthalten Variablen und Funktionen, die zur Definition von
Kommunikationsprotokollen verwendet werden. Schnittstellen verbinden Verhalten
und Kanäle. Sie deklarieren die Kommunikationsprotokolle, die innerhalb eines
Kanals definiert werden. SpecC kann Hierarchien mit Hilfe von geschachteltem
Verhalten modellieren.
Précédent

- 128/485

Suivant