| |
März 2003 OMG-Vereinheitlicht, Sprache, v1.5 Modellierend 2-81 Semantik Mit 2 UML 2,6,3,3 Stereotype Zusätzliche Betriebe 2,6,3,4 TagDefinition [ 1 ] Stereotype Namen dürfen nicht Zusammentreffen mit irgendwelchen niedrigen Kategoriennamen. Stereotype.allInstances->forAll(st|st.baseClass < > self.name) [ 2 ] Der niedrige Kategorienname muß angegeben werden Stellen Sie ein { self.baseClass}->notEmpty [ 3 ] Die Umbaunamen, die zu einem Stereotype dürfen nicht Zusammentreffen mit M2 angebracht werden, meta-zuschreiben namespace von passendes niedriges Kategorienelement noch mit Umbaudefinitionsnamen irgendeines übernommenen Stereotype -- kann nicht mit OCL, das Niveau M2 spezifiziert werden nicht zugänglich [ 4 ] Die niedrige Kategorie eines Stereotype muß dieselbe oder eine Unterklasse der niedrigen Kategorie des Elternteils sein Stereotypes. -- kann nicht mit OCL, das Niveau M2 spezifiziert werden nicht zugänglich [ 5 ] Alle stereotypen Definitionen müssen entweder in einem Profilpaket direkt oder transitively enthalten werden. findProfile(self)->notEmpty [ 1 ] Der Entdeckungprofilbetrieb bringt jedes das gesetzte enthaltene Profilpaket des Einzelnelements innen zurück welches das vorbildliche Element definiert wird oder, ein leerer Satz, wenn das Element nicht in irgendwelchen enthalten wird Profil. findProfile (ich: ModelElement): Satz (Paket) wenn (me.namespace->notEmpty) dann wenn (me.namespace.oclIsKindOf(Package) und me.namespace.stereotype->notEmpty) und me.namespace.stereotype->exists(s|s.name = Profil) dann Resultat = me.namespace sonst -- gehen Sie bis zum folgenden Niveau von namespace Resultat = findProfile (me.namespace) sonst Resultat = Rückhol me.namespace -- leeren Sie Satz [ 1 ] Die Art, die mit einer Umbaudefinition dazugehörig ist, ist jede der Name von metaclass eines UML und umfaßt Elemente des Pakets DataType oder ein Fall der metaclass DataType oder des von seinem Nachkommen. -- kann nicht mit OCL, das Niveau M2 spezifiziert werden nicht zugänglich [ 2 ] Alle Umbaudefinitionen müssen entweder in einem Profilpaket direkt oder transitively enthalten werden. findProfile(self)->notEmpty |  |
|
| |
|
|