Konzept: Prozesssicht
Eine Architektursicht, die so genannte Prozesssicht, veranschaulicht die Prozessdekomposition des Systems, einschließlich der Zuordnung von Klassen und Subsystemen zu Prozessen und Threads.
Beziehungen
Zugehörige Elemente
Hauptbeschreibung

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).

Im Begleittext beschriebene Abbildung

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.