2.10 Vergleich der Berechnungsmodelle
133
werden auf absehbare Zeit noch als Zwischensprachen verwendet werden. Java benötigt keine Zwischenschritte, profitiert aber auch von ausgereiften Übersetzungsmethoden in Maschinensprache. Auf ähnliche Weise lassen sich auch Übersetzungen
zwischen verschiedenen Arten von Graphen realisieren. So können SDF-Graphen
in eine Unterklasse von Petrinetzen übersetzt werden [515]. Sie entsprechen auch
einer Unterklasse des computation graph model von Karp und Miller [283]. Die
Verbindung der verschiedenen Berechnungsmodelle wird durch formale Methoden
vereinfacht [95].
Eine Reihe von Sprachen zum Entwurf eingebetteter Systeme werden in einem
von M. Radetzki herausgegebenen Buch [464] besprochen. Popovici et al. [457]
verwenden eine Kombination von Simulink und SystemC.
Weiterhin gibt es noch algebraische Sprachen wie LOTOS [257] und Z [504], die
präzise Spezifikationen erlauben, die aber nicht ausführbar sind.
2.10.2 Unified Modeling Language (UML)
Die Sprache UML ™ beinhaltet Diagramme, die verschiedenen Berechnungsmodellen
entsprechen. Tabelle 2.7 zeigt eine Klassifikation der einzelnen bisher betrachteten
UML-Diagrammarten in Hinblick auf die hier besprochenen Berechnungsmodelle.
Tabelle 2.7 In UML ™ verfügbare Berechnungsmodelle
Kommunikation/
Gemeinsamer Speicher
Nachrichtenaustausch
Komponenten
shared memory
synchron
asynchron
Undefinierte Komponenten
Anwendungsfälle (use cases)
Sequenzdiagramme, Zeitdiagramme
Differentialgleichungen
-
Endliche Automaten
Zustandsdiagramme
-
-
Datenfluss
-
Datenflussdiagramme
Petrinetze
(nicht sinnvoll)
Aktivitätsdiagramme
Verteilte Ereignismodelle
-
-
Von-Neumann-Modell
-
-
Diese Abbildung stellt dar, inwieweit UML einige der besprochenen Berechnungsmodelle abdeckt. Dabei liegt der Schwerpunkt auf frühen Entwurfsphasen.
Die Semantik der Kommunikation ist meist nur unpräzise definiert, daher kann unsere Klassifikation in dieser Hinsicht nicht genau sein. Zusätzlich zu den bereits
erwähnten Diagrammen lassen sich die folgenden Diagramme modellieren:
• Deployment-Diagramme: Diese Diagramme sind für eingebettete Systeme wichtig: sie beschreiben die „Ausführungsarchitektur” von Systemen (Hardware- oder
Softwareknoten).
• Paketdiagramme: Paketdiagramme beschreiben die Partitionierung der Software
in Softwarepakete. Sie ähneln den Moduldiagrammen in StateMate.
Précédent

- 156/485

Suivant