Download MDA: Effektives Software-Engineering mit UML2 und Eclipse

Transcript
Mit den Eigenschaften ihrer Basisklasse erbt Streiche Haus
auch die Definition der dort hinterlegten Semantik: AddStructuralFeatureValueAction fügt dem durch den InputPin
object spezifizierten Element das Attribut value hinzu bzw.
ändert den dort gespeicherten Wert, falls das Attribut bereits besteht
und replaceAll auf true gesetzt ist.
+ value
Streiche Haus : AddStructuralFeatureValueAction
Neue Farbe : Input Pin
replaceAll = true
+/type
+/type
Farbe : Class
Abb. 3.22
Die Aktion
„Streiche Haus“
im Repository
(nach [Boc03b])
+ object
Haus : Input Pin
+ structuralFeature
+/type
+ ownedAttribute
Haus : Class
Farbe : Property
Mit dieser Beschreibung haben wir jedoch – zugegebenermaßen auf
sehr abstrakter Ebene – genau den Sachverhalt ausgedrückt, den wir
ursprünglich modellieren wollten: die Änderung des Attributwertes
eines Objektes zur Laufzeit.
Aktionen als Basis allen Verhaltens
In der UML ist es nur Aktionen (also Subklassen der Klasse Action) erlaubt, zur Laufzeit Änderungen an Modellen vorzunehmen.
Jedes Verhalten, das tatsächlich „etwas bewirkt“ lässt sich also
letzten Endes auf eine Aktion zurückführen. Aus diesem Grund
werden sie manchmal auch die Primitive der Verhaltensmodellierung genannt.
Alle zur Verhaltensmodellierung benötigten Aktionen stellt die
UML innerhalb der UML-Superstructure zur Verfügung. Der Anwender der UML kann sie nach Belieben zur Darstellung von
Verhalten (engl. Behavior) kombinieren, um so das betrachtete
System abzubilden.
Wie beschrieben, ist die konkrete Notation von Aktionen nicht
vorgegeben und kann so durch die verwendeten Tools bestimmt
werden. Direkt zum Einsatz kommen Aktionen beispielsweise im
Aktivitätsdiagramm, wo sie die Grundbausteine von Aktivitäten
bilden.
3.5 UML-Action-Semantics
„
„
„
105