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.

Die Assoziation wird im Relationships-Paket durch eine Metaklasse definiert (vgl. Abbildung 45).Diese heißt Association <strong>und</strong> ist wie Generalization eine Subklasse von Relationship, im Gegensatzzu dieser allerdings auch ein Subklasse von GeneralizableElement. Eine Instanz der Association-Metaklasse ist durch die Kompositionsbeziehung mit der Metaklasse AssociationEnd (Assoziationsende)mit mindestens zwei oder beliebig vielen Instanzen dieser Metaklasse verb<strong>und</strong>en, wobei jedeInstanz von AssociationEnd nur an einer Assoziation partizipieren kann. Jede Classifier-Instanzkann mit beliebig vielen Assoziationsenden verb<strong>und</strong>en sein <strong>und</strong> somit an ebenso vielen Assoziationenpartizipieren. Die Eigenschaften einer Assoziation definieren sich durch die Eigenschaften der verb<strong>und</strong>enenAssoziationsenden <strong>und</strong> ihrem Namen. Eine Assoziation, die mit genau zwei Assoziationsendenverb<strong>und</strong>en ist, heißt binär oder zweistellig. Andere werden allgemein als n-är oder mehrstelligbezeichnet.Eine Subklasse der Metaklasse Association im Metamodell ist die Metaklasse AssociationClass(Assoziationsklasse), die durch <strong>Anwendung</strong> von Mehrfachvererbung gleichzeitig eine Subklasse vonClass ist, d.h. sie hat sowohl Eigenschaften einer Klasse als auch einer Assoziation. Dadurch erwerbenInstanzen von Association, die in diesem Fall auch Instanzen von AssociationClass sein müssen,die Fähigkeit wie Objekte Beziehungen zu anderen Objekten zu realisieren <strong>und</strong> Attribute <strong>und</strong>Operationen zu besitzen.Aus der Generalisierungsbeziehung der Metaklassen Association <strong>und</strong> GeneralizableElement ergibtsich die Qualifizierung der Assoziation als generalisierbares Element <strong>und</strong> somit die Möglichkeit derVererbung von Eigenschaften. In der UML ist vorgesehen, daß eine Generalisierungsbeziehung zwischenAssoziationen dann erlaubt ist, wenn die assoziierten Elemente ebenfalls eine Generalisierungsbeziehunghaben. Die spezialisierte Assoziation erbt analog zu anderen spezialisierten Typen alleEigenschaften der generelleren Assoziation. Ihre Assoziationsenden sind mit den Subtypen der Typenverb<strong>und</strong>en, welche durch die generellere Assoziation verb<strong>und</strong>en werden. Abbildung 47 zeigt ein Beispielfür die Notation des Sachverhalts mit Klassen.Parent1ParentAssociationParent2Child1ChildAssociationChild2Abbildung 47: Generalisierungsbeziehung zwischen AssoziationenDie Instanzen der Assoziation ChildAssociation verbinden ausschließlich Objekte vom Typ Child1<strong>und</strong> Child2, die Subklassen von Parent1 bzw. Parent2 sind. Deren Instanzen wiederum sind überObjektbeziehungen vom Typ ParentAssociation verb<strong>und</strong>en. Somit ist jede Instanz von ChildAssociationeine Instanz von ParentAssociation - aber nicht umgekehrt – <strong>und</strong> die Menge der Instanzenvon ChildAssociation eine Teilmenge der Instanzen von ParentAssociation. Die Teilmengenrelationmuß bei einer Assoziationsgeneralisierung in UML zu jedem Zeitpunkt gelten 95 . Allerdings ist derenEinhaltung insbesondere auf der Implementierungsebene problematisch, wie das Beispiel inAbbildung 48 verdeutlicht.95 Vgl. [RJB99], S. 163.- 84 -

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

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!