| |
März 2003 OMG-Vereinheitlicht, Sprache, v1.5 Modellierend 2-61 Semantik Mit 2 UML 2,5,3,25 ModelElement Daß der Teil des Modells, das durch eine Schablone besessen wird, nicht abhängig von aller Wohlgeformtheit ist, ordnet an. Eine Schablone ist nicht direkt in einem gut gebildeten Modell verwendbar. Die Resultate des Bindens von a Schablone sind abhängig von Wohlgeformtheitrichtlinien. (ausgedrückt nicht in OCL) Zusätzliche Betriebe [ 3 ] Die Sicht der Methode sollte dieselbe wie für den verwirklichten Betrieb sein. self.visibility = self.specification.visibility [ 4 ] Der verwirklichte Betrieb muß eine Eigenschaft (vielleicht übernommen) des gleichen Klassifikators wie sein Methode. self.owner.allOperations->includes(self.specification) [ 5 ] Wenn der verwirklichte Betrieb ein oder mehr Mal in den Vorfahren des Inhabers von überlaufen worden ist die Methode, dann die Methode muß das neueste Überlaufen verwirklichen (das heißt, alle weiteren Betriebe mit die gleiche Unterschrift muß von den Vorfahren des Inhabers des verwirklichten Betriebes besessen werden). self.specification.owner.allOperations->includesAll (self.owner.allOperations->select(op| self.hasSameSignature(op))) [ 6 ] Es kann höchstens eine Methode für einen gegebenen Klassifikator (als Inhaber der Methode) und Betrieb geben (als Spezifikation der Methode) Paar. self.owner.allMethods->select(operation = self.operation)->size = 1 [ 1 ] Der Betriebslieferant ergibt einen Satz, der alle direkte Lieferanten des ModelElement enthält. Lieferant: Set(ModelElement); Lieferant = self.clientDependency.supplier [ 2 ] Die BetriebsallSuppliersresultate in einem Satz, der das ganzes ModelElements enthält, dessen Lieferanten sind dieses ModelElement, einschließlich der Lieferanten dieser vorbildlichen Elemente. Dieses ist das transitive Schliessen. allSuppliers: Set(ModelElement); allSuppliers = self.supplier->union(self.supplier.allSuppliers) [ 3 ] Die Betriebs"Modell" Resultate im Satz der Modelle, denen das ModelElement gehört. Modell: Set(Model); Modell = self.namespace->union(self.namespace.allSurroundingNamespaces) ->select(ns| ns.oclIsKindOf (Modell)) [ 4 ] Ein ModelElement ist eine Schablone, wenn es Parameter hat. isTemplate: Boolesch; isTemplate = (self.templateParameter->notEmpty) [ 5 ] Ein ModelElement ist instantiated Schablone, wenn es mit einer Schablone durch eine Schwergängigkeit zusammenhängt Verhältnis. |  |
|
| |
|
|