12.07.2015 Aufrufe

Entwicklung und Anwendung eines Bezugsrahmens zur ...

Entwicklung und Anwendung eines Bezugsrahmens zur ...

Entwicklung und Anwendung eines Bezugsrahmens zur ...

MEHR ANZEIGEN
WENIGER ANZEIGEN

Erfolgreiche ePaper selbst erstellen

Machen Sie aus Ihren PDF Publikationen ein blätterbares Flipbook mit unserer einzigartigen Google optimierten e-Paper Software.

Somit bleibt zu überprüfen, ob <strong>und</strong> wie diese bei der Abbildung auf den Quellcode der Programmiersprachegarantiert wird. Denkbar wäre die Strategie der Ersetzung der Attribute, über welchedie Navigation der Assoziation erfolgt, <strong>und</strong> ihrer Typangaben in den jeweiligen an der spezialisiertenAssoziation beteiligten Subklassen durch entsprechende Attribute vom Typ der Subklassen. Somitkann keine auf diese Art realisierte Instanz <strong>eines</strong> Assoziationsendes einer spezialisierten Objektbeziehungmit einem Objekt vom Typ einer Klasse verb<strong>und</strong>en werden, welches an der generelleren Objektbeziehungteilnimmt. Abbildung 52 zeigt ein Beispiel der Realisierung der Assoziationen ausAbbildung 47.class Parent1{private:Parent2* linkAttribute;}class Child1{private:Child2* linkAttributeSpecialized;}Abbildung 52: Realisierung einer Assoziation in C++Zu beachten ist, daß eine Redefinition von Attributen in UML nicht erlaubt ist <strong>und</strong> deswegen konsequenterweisenicht nur der Typ des die Navigation realisierenden Attributs geändert werden muß,sondern auch sein Name, was sich beim Forward Engineering auf die Zielsprache überträgt. Allerdingsist zu beachten, daß unter Bezugnahme auf die weiter oben geführte Diskussion diese Lösungnicht dazu geeignet ist, das Ersetzungsprinzip zu garantieren 99 .Auf weitere Möglichkeiten der Umsetzung wird an dieser Stelle nicht weiter eingegangen, da sie bzgl.des gegebenen Rahmens der Evaluierung der Tools weniger relevant sind.3.3.2.3.3 Aggregation <strong>und</strong> KompositionMit dem Begriff Aggregation wird in der UML eine spezielle Assoziation bezeichnet, die eine Ganzes/Teile-Beziehungrepräsentiert 100 , wobei die Komposition (composite aggregation) als stärkereingeschränkte Aggregation interpretiert wird. Im weiteren Sprachgebrauch der Spezifikation wirdAggregation synonym zu shared aggregation benutzt <strong>und</strong> semantisch zwischen Assoziation <strong>und</strong>Komposition eingeordnet <strong>und</strong> gegen diese abgegrenzt. 101 . Im folgenden werden die Begriffe Aggregation<strong>und</strong> Komposition für shared resp. composite aggregation verwendet <strong>und</strong> deren Definitionim Metamodell erläutert.Entgegen der naheliegenden Interpretation der oben aufgeführten Beschreibung der Aggregationbzw. Komposition werden diese nicht als eigene Metaklassen innerhalb einer Generalisierungsbeziehungmit der Metaklasse Association im Metamodell repräsentiert. Stattdessen definiert ein Attributaggregation in der Metaklasse AssociationEnd durch die mögliche Annahme einer der drei Werteaggregate, composite <strong>und</strong> none vom Typ AggregationKind 102 die Art der Beziehung (vgl.Abbildung 45). Somit sind Aggregation <strong>und</strong> Komposition spezielle Assoziationen <strong>und</strong> keine eigen-99 S. die Diskussion weiter oben im Abschnitt.100 S. [RJB99], S. 146.101 Vgl. [OMG00], S. 2-59.102 Dieser Typ ist im Paket Data Types der Fo<strong>und</strong>ation des Metamodells definiert.- 88 -

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!