Home
 UML
BuiltByNOF
 Verteilung

1.) Deployment Diagrams oder Verteilungsdiagramme gehören zu den "Model Management Diagrams" und werden eingesetzt, um die physikalische Verteilung von Komponenten darzustellen. Verteilungsdiagramme legen die Konfiguration der Rechner fest, sowie die Software-Komponenten, Prozesse und Objekte, die darauf ausgeführt werden. Die praktische Realisierung einer Komponente (Modul) ist die Datei.

2.) Software-Komponenteninstanzen repräsentieren Laufzeit-Ausprägungen von Code-Modulen. (Komponenten). Module, die nicht als Laufzeitelement existieren, (weil sie "weg-übersetzt" wurden,) kommen nicht in Verteilungsdiagrammen vor, wohl aber in Komponentendiagrammen. Komponenten können sowohl in Prozesse als auch in Knoten eingezeichnet werden.

3.) Verteilungsdiagramme führen die UML-Elemente Knoten (Quadersymbol, für "Rechner") und Prozesse (Rhomben) ein. Prozesse sind nicht schachtelbar und sind genau einem Knoten zugeordnet. Knoten sind nicht schachtelbar. Jeder Rhombus wird in dem Quader gezeichnet, der den Knoten darstellt, worauf der jeweilige Prozess ausgeführt wird. Assoziationen zwischen den Knoten stellen Kommunikationsverbindungen dar.

4.) Grundsätzlich können beliebig viele Komponenten in Knoten oder Prozesse gezeichnet werden. Umgekehrt kann eine Komponente auch in mehreren Knoten angeordnet sein. Praktischerweise werden gleiche Komponenten in verschiedenen Knoten auch verschiedene Aufgaben wahrnehmen, was auch durch UseCases, Actors oder Instances dargestellt werden sollte.

dep_node                        dep_proc
Fig. 1: Knotensymbol und ...                  Fig. 2: ... Prozesssymbol im Verteilungsdiagramm


5.) Verteilungsdiagramme müssen nicht für jede Komponente und für jeden Prozess gezeichnet werden. Sie sollten als Klarstellung bzw. Hervorhebung von grundsätzlichen Festlegungen sowie Besonderheiten der physikalischen Architektur eingesetzt werden.

6.) Verteilungsdiagramme können nicht nur als Darstellung von Knoten- und Prozess-Instanzen betrachtet werden, sondern auch als Definitionen von Typen für Knoten und Prozesse. (Wie bei einigen anderen UML-Diagrammen auch, gibt es also die Typ-Form und die Instanz-Form). Die tatsächlichen Instanzen werden dann in der üblichen Notation Instanz:Typ dargestellt. Somit gibt es zwei Ausprägungen von Verteilungsdiagrammen: Typdefinition und tatsächliche (Hardware-)Konfiguration.

7.) Man kann in der Typform Knoten-Typen einführen, um Rollen festzulegen, die dann erst zur Laufzeit auf die physikalischen Einheiten abgebildet werden. Insbesondere können zunächst viele konkrete Knotentypen mit ihren Prozessen auf insgesamt wenigen (oder einem) Rechner ablaufen. In einer weiteren Konfiguration können mehr Rechner hinzugefügt und die logischen Knoten auf die hinzukommenden Rechner verteilt werden, sodass sich z.B. eine Performanzsteigerung ergibt, die mit Mitteln der UML vorgeplant war, ohne dass das UML-Modell ein bestimmtes Hardware-Umfeld voraussetzt.

8.) Deployment diagrams stellen idealerweise sinnvolle und effiziente Aufteilungen von Prozessen und Komponenten dar, die jedoch nicht notwendigerweise für jeden logischen Knoten im Modell einen physikalische Knoten in der Realisierung benötigen.

dep_arch
Fig. 3: Ein beispielhaftes Verteilungsdiagramm
 

[Home] [UML]