UML2: Ports und Schnittstellen in Komponentendiagrammen

Da ich die korrekte Verwendung von Port- und Schnittstellensymbolen in Komponentendiagrammen noch nicht vollständig verstanden habe, ein paar Fragen:

ICH. Stell dir ein Stück @ v von Software, die einen ganz besonderen Remote-Logger-Dienst über Netzwerk (TCP) nutzen möchte. Bei den Nachrichten kann es sich um XML handeln. Der Logger stellt also eine Schnittstelle zur Verfügung, die Dinge wie Handshake, XML-Struktur, XML-Elemente usw. spezifiziert, so dass der Logger eine Nachricht akzeptiert.

a) Habe ich recht, dass diese Schnittstelle "ILoggerProtocol" heißt, der Port kann nach dem von ihm bereitgestellten Dienst benannt werden ("logging")?

b) Implementiert die Komponente in meiner Anwendung diese Schnittstelle, sodass eine kompatible Nachricht für den Server generiert wird?

c) Nun eine interessante Sache: Für die Kommunikation gibt es eine zusätzliche Bibliothek "Networking", die einfaches TCP-Material bereitstellt, damit die TCP-Verbindung hergestellt, Nachrichten gesendet, Fehler behandelt usw. Brauche ich diese Klasse, wenn ich nur möchte den Weg von den generierten Nachrichten zum Server betonen? Ist dann MEIN Port die TCP-Schnittstelle?

d) Und wenn ich das vollständige Bild zeichnen möchte, wie kann ich die Netzwerkkomponente korrekt zum Diagramm hinzufügen und darauf hinweisen, dass ILoggerProtocol verwendet wird UND dass es über die Netzwerkkomponente über TCP übertragen wird?

II. Ports in meiner Anwendung: jetzt gibt es zwei Bibliotheken, in denen eine nur die andere benutzt; Im Grunde würde es in C / C ++ die Header-Datei des anderen einschließen:

e) Ist das das richtige Diagramm?

f) Brauche ich hier Ports? Wenn ja, was würden sie tatsächlich in der Realität darstellen? Welche Namen würdest du ihnen geben?

g) Oder reichen die Lutscher nur ohne die Port-Symbole aus?

III. über Lutscher:

h) Sind diese beiden Bezeichnungen grundsätzlich gleich und austauschbar? Ich habe den Namen "Assembly" für die kombinierte Version gefunden, also gibt es vielleicht einen Unterschied ...

Antworten auf die Frage(2)

Ihre Antwort auf die Frage