Elemente in Enterprise Architect können eingebettete Elemente (Embedded-Elements) enthalten, z. B. UML Komponenten haben Ports, UML Activities haben ObjectNodes, SysML Blocks haben ebenfalls Ports, etc. Diese Elemente werden im Project Browser unterhalb des Container-Elements aufgelistet – sie sind ja auch teil des übergeordneten Elements!
Im Diagramm werden Embedded-Elements immer am Container-Element angeheftet dargestellt. Sie können am Element verschoben werden, aber nicht vom Element entfernt, d.h., entfernt können sie schon werden, allerdings nur vom Diagramm.
Wird ein Embedded-Element mit [Entf] vom Diagramm gelöscht, verschwindet die grafische Repräsentation. Mit [Strg] + [Entf], nach Auswahl des Elements in der Grafik, wird das Embedded-Element gänzlich aus dem Modell gelöscht!
Soweit so gut, nun können Elemente aus dem Project Browser in beliebigen weiteren Diagrammen verwendet (verlinkt) werden. Dadurch wird eine neue grafische Repräsentation erstellt. Beim Einfügen von Elementen mit enthaltenen Embedded-Elements, kann ausgewählt werden, ob diese mit eingefügt werden sollen. Falls später noch weitere Embedded-Elements hinzu kommen, werden diese nicht automatisch in das Diagramm eingefügt! Ein Manueller Update kann, wie unten beschrieben durchgeführt werden. Ein automatischer Diagramm-Update kann mittels Scripts bzw. Add-in realisiert werden.
Alle Embedded-Elements eines Elementes (auch geerbte) können nachträglich im Diagramm angezeigt werden. Diese können durch Auswahl des Container-Elements + rechte Maustaste + Auswahl des Menüeintrags Embedded Elements eingesehen und aktiviert werden. Alternativ können auch Embedded-Elements per drag and drop vom Project Browser in das Diagramm mit dem Container-Element eingefügt werden.
Dasselbe Vorgehen kann auch für UML/SysML Parts angewendet werden. Ein Part wird in UML Composition Structural Diagrams verwendet bzw. in SysML Internal Block Diagrams.
Dabei wird eine Komponente oder Block, etc. über einen Block oder Komponente gezogen. Dabei kann ausgewählt werden, ob das Element als Part oder Port eingefügt werden soll. Fügt man es als Part ein, erhält man ein neues Element, dessen Typ (dessen Classifier) der Block oder die Komponente ist.
Hat nun zum Beispiel der Block oder die Komponente, welche als Typ (Classifier) verwendet wurden, Parts, werden diese nicht automatisch angezeigt. Durch Auswahl des neu angelegten Parts und durch Verwendung des Kontextmenüeintrags: Embedded Elements->Embedded Elements…, können, wie oben beschrieben, alle Embedded Elements angezeigt werden. Da das Embedded-Element nicht am Part, sondern an dessen Classifier definiert wurde, muss in diesem Fall Show Owned/inherited ausgewählt werden!
Ein automatisches Einfügen aller Embedded-Elements in ein Diagramm ist momentan nicht vorhanden, kann aber mittels Script/Add-in realisiert werden!
Guten Tag,
kann man diese eingebetteten Elemente auch per Skript einblenden? Wir haben oft den Fall, dass Parts angelegt werden und die dann einen Typ bekommen (Set Property Type), der selber wieder Parts hat, die wir dann einblenden möchten. Eine Skriptfunktion würde etliche Mausklicks sparen.
Grüße