132
2 Spezifikation und Modellierung
Tabelle 2.6 Vergleich von Sprachen
Verhaltens- Strukturelle Programmier- Unterstützung Dynamische
Hierarchie Hierarche sprachenvon Ausnahme- ProzessSprache
elemente
behandlung
erzeugung
StateCharts +
-
-
+
-
VHDL
+
+
+
-
-
SDL
-
+
Petri-Netze -
-
-
-
+
Java
+
-
+
+
+
SpecC
+
+
+
+
+
SystemC +
+
+
+
+
Ada
+
-
+
+
+
Anwendungen eignen. Daher ist damit zu rechnen, dass wir Kompromisse in Kauf
nehmen müssen.
Welche Kompromisse kommen nun in der Praxis zum Einsatz? Programmieren
in Assemblersprache war in der Anfangszeit eingebetteter Systeme sehr verbreitet.
Die Programme waren klein genug, um die Komplexität der Probleme auch in
Assembler zu beherrschen. Der nächste Schritt war die Verwendung von C und mit C
verwandten Sprachen. Die weiter steigende Komplexität eingebetteter Systeme (siehe
Seite 18) wird dazu führen, dass Sprachen auf einer höheren Ebene anstelle von C
eingesetzt werden. Diese nächste Abstraktionsebene wird z.B. von objektorientierten
Sprachen oder SDL abgedeckt. Sprachen wie UML werden ebenfalls benötigt, damit
Spezifikationen in frühen Entwurfsphasen festgehalten werden können. Ein Trend
geht hin zu modellbasiertem Entwurf [477]. In der Praxis lassen sich diese Sprachen
wie in Abb. 2.76 gezeigt verwenden.
(RT-) Java
Netzliste
Hardware
Objekt-Code
(RT-) UML oder äquivalent
(RT-) UML oder äquivalent
Objekt-Code
Assembler-Programme
C-Programme
SDL
VHDL
Abb. 2.76 Verwendung von Sprachen in Kombination
Nach Abb. 2.76 lassen sich Sprachen wie SDL oder StateCharts nach C übersetzen. Diese Beschreibungen können dann compiliert werden. Ein mit SDL oder
StateCharts begonnener Entwurf ermöglicht auch die Implementierung von Funktionalität in Hardware, wenn Übersetzer von diesen Sprachen in eine Hardwarebeschreibungssprache wie VHDL zur Verfügung stehen. Sowohl C wie auch VHDL
2 Spezifikation und Modellierung
Tabelle 2.6 Vergleich von Sprachen
Verhaltens- Strukturelle Programmier- Unterstützung Dynamische
Hierarchie Hierarche sprachenvon Ausnahme- ProzessSprache
elemente
behandlung
erzeugung
StateCharts +
-
-
+
-
VHDL
+
+
+
-
-
SDL
-
+
Petri-Netze -
-
-
-
+
Java
+
-
+
+
+
SpecC
+
+
+
+
+
SystemC +
+
+
+
+
Ada
+
-
+
+
+
Anwendungen eignen. Daher ist damit zu rechnen, dass wir Kompromisse in Kauf
nehmen müssen.
Welche Kompromisse kommen nun in der Praxis zum Einsatz? Programmieren
in Assemblersprache war in der Anfangszeit eingebetteter Systeme sehr verbreitet.
Die Programme waren klein genug, um die Komplexität der Probleme auch in
Assembler zu beherrschen. Der nächste Schritt war die Verwendung von C und mit C
verwandten Sprachen. Die weiter steigende Komplexität eingebetteter Systeme (siehe
Seite 18) wird dazu führen, dass Sprachen auf einer höheren Ebene anstelle von C
eingesetzt werden. Diese nächste Abstraktionsebene wird z.B. von objektorientierten
Sprachen oder SDL abgedeckt. Sprachen wie UML werden ebenfalls benötigt, damit
Spezifikationen in frühen Entwurfsphasen festgehalten werden können. Ein Trend
geht hin zu modellbasiertem Entwurf [477]. In der Praxis lassen sich diese Sprachen
wie in Abb. 2.76 gezeigt verwenden.
(RT-) Java
Netzliste
Hardware
Objekt-Code
(RT-) UML oder äquivalent
(RT-) UML oder äquivalent
Objekt-Code
Assembler-Programme
C-Programme
SDL
VHDL
Abb. 2.76 Verwendung von Sprachen in Kombination
Nach Abb. 2.76 lassen sich Sprachen wie SDL oder StateCharts nach C übersetzen. Diese Beschreibungen können dann compiliert werden. Ein mit SDL oder
StateCharts begonnener Entwurf ermöglicht auch die Implementierung von Funktionalität in Hardware, wenn Übersetzer von diesen Sprachen in eine Hardwarebeschreibungssprache wie VHDL zur Verfügung stehen. Sowohl C wie auch VHDL
