Nach Attributen und Assoziationsenden (RollenNamen) suchen

Nach Attributen und Assoziationsenden (Rollen Namen) suchen.

Vor allem in größeren Modellen stelle ich mir oft die Frage, ob es ein bestimmtes Attribut gibt und in welchem Classifier (z. B. Klasse oder Komponente) es vorhanden ist.

Ach Assoziationsenden, also der Rollen Name entspricht eigentlich einem Attribut. Für genauere Informationen sei auf das UML-Metamodell verwiesen. Hier ein konkretes Beispiel dieses Sachverhaltes.
Also möchte ich auch gerne nach Rollen Namen suchen können, um alle „Attribute“ zu finden.

Folgende SQL-Suche für den EA liefert genau diese Ergebnisse.

 

SELECT t_attribute.Name as name, ‘attribute’ as kind, t_object.ea_guid AS CLASSGUID, ‘Attribute’ AS CLASSTYPE, t_object.Name AS ClassifierName
FROM t_attribute INNER JOIN t_object ON (t_attribute.Object_ID = t_object.Object_ID)
WHERE t_attribute.Name like ‘#WC#<Search Term>#WC#’
UNION
SELECT t_connector.SourceRole as name, ‘roleEnd’ as kind, t_object.ea_guid AS CLASSGUID, Connector_Type AS CLASSTYPE, t_object.Name AS ClassifierName
FROM t_connector INNER JOIN t_object ON (t_connector.End_Object_ID = t_object.Object_ID)
WHERE t_connector.SourceRole like ‘#WC#<Search Term>#WC#’
UNION
SELECT t_connector.DestRole as name, ‘roleEnd’ as kind, t_object.ea_guid AS CLASSGUID, Connector_Type AS CLASSTYPE, t_object.Name AS ClassifierName
FROM t_connector INNER JOIN t_object ON (t_connector.Start_Object_ID = t_object.Object_ID)
WHERE t_connector.DestRole like ‘#WC#<Search Term>#WC#’

Zusätzlich zu den Attributs Namen und  Rollennamen (jeweils durch das Attribut “kind” unterschieden), wird auch der Classifiername ausgegeben.
Bei Doppelklick auf die Zeile wird immer das Eigenschaftsfenster des Classifier geöffnet. Über das Kontextmenü der Zeile kann der Classifier auch
im Project Browser oder im Diagramm gesucht werden.

Veröffentlicht unter Modell-Suche