Als Basis für das Verständnis der Prozessorganisation des Systems wird in der Disziplin Analyse & Design eine
Architektursicht, die so genannte Prozesssicht verwendet. Es gibt nur eine Prozesssicht des Systems, die die
Prozessdekomposition des Systems, einschließlich der Zuordnung von Klassen und Subsystemen zu Prozessen und Threads
veranschaulicht. Die Prozesssicht wird mit jeder Iteration präzisiert. [BOO98]
definiert Folgendes: "In UML werden die statischen und dynamischen Aspekte dieser Sicht in denselben Diagrammen erfasst
wie bei der Designsicht, d. h. Klassendiagrammen, Interaktionsdiagrammen, Aktivitätsdiagrammen und Zustandsdiagrammen,
wobei jedoch der Fokus auf den aktiven Klassen liegt, die diese Threads und Prozesse darstellen." Wichtige Aspekte beim
Erstellen und Verwenden der Prozesssicht sind beispielsweise Parallelität, Antwortzeit, Deadlocks, Durchsatz,
Fehlertoleranz und Skalierbarkeit.
Die Abbildung von Parallelität im Design ist ohne Verwendung direkter Betriebssystemunterstützung möglich, z. B. durch
Verwendung eines speziell entwickelten Schedulers oder anderer Laufzeitunterstützung. In solchen Fällen wird
Parallelität auf der Ebene der Anwendungsinfrastruktur simuliert und nicht im Betriebssystem. Sofern erforderlich,
können andere Stereotypen (zusätzlich zu den Standard-Threads und -Prozessen) verwendet werden, um diese Unterscheidung
(als Anleitung für die Implementierung) zu treffen. Die Programmiersprache Ada enthält beispielsweise ein eigenes
Parallelitätsmodell, das auf Ada-Tasks basiert. Die Laufzeitumgebung von Ada muss diese Funktionalität bereitstellen,
unabhängig davon, ob das Betriebssystem eine äquivalente Funktionalität bietet, z. B. Threads, die für die
Unterstützung der Ada-Taskverarbeitung verwendet werden könnte.
Für Echtzeitsysteme empfiehlt Rational Unified Process die Verwendung von Kapseln für
die Darstellung aktiver Klassen in der Prozesssicht. Kapseln haben eine potente Semantik, mit der die Modellierung von
Parallelität vereinfacht werden kann:
-
Sie verwenden asynchrone, nachrichtenbasierte Kommunikation über Ports mit klar strukturierten Protokollen.
-
Sie verwenden eine umfassende Semantik für die Nachrichtenverarbeitung.
-
Sie kapseln passive Objekte (und gewährleisten damit, dass keine Thread-Kollisionen auftreten).
Die Prozesssicht zeigt die Prozessorganisation des Systems.
Es gibt vier weitere Sichten, die Anwendungsfallsicht, die in der Disziplin Anforderungen behandelt wird, und
die logische Sicht, die Deployment-Sicht und die Implementierungssicht, die in den Disziplinen
Analyse & Design und Implementierung behandelt werden.
Die Architektursichten werden in einem Softwarearchitekturdokument dokumentiert. Sie können andere Sichten, z.
B. eine Sicherheitssicht, hinzufügen, um andere spezifische Aspekte der Softwarearchitektur zu vermitteln.
Im Wesentlichen können Architektursichten als Abstraktionen oder Vereinfachungen der erstellten Modelle gesehen werden,
in denen Sie wichtige Merkmale deutlicher hervorheben, indem Sie die Details weglassen. Die Architektur ist ein
wichtiges Mittel, um die Qualität jedes während der Systementwicklung erstellten Modells zu erhöhen.
|