| |
Angenommene Spezifikation UML Ocl 2,0 113 CollectionItemEval [ 1 ] Der Wert eines Ansammlungseinzelteils ist der Resultatswert seines Einzelteils Ausdruck. Das Klima dieses Einzelteils Ausdruck ist gleich zum Klima der Ansammlungseinzelteilauswertung. Kontext CollectionItemEval inv: Element = item.resultValue inv: item.environment = self.environment CollectionLiteralExpEval [ 1 ] Das Klima seiner Teile ist dem Klima der wörtlichen Ausdrucksauswertung der Ansammlung gleich. Kontext CollectionLiteralExpEval inv: Teile->forAll(p|p.environment = self.environment) [ 2 ] Der Resultatswert einer wörtlichen Ausdrucksauswertung der Ansammlung ist ein wörtlicher Wert der Ansammlung oder eins seiner Formationsglieder. inv KontextCollectionLiteralExpEval: resultValue.isOclKind(CollectionValue) [ 3 ] Die Zahl Elementen im Resultatswert ist der Zahl Elementen in den wörtlichen Teilen der Ansammlung gleich und nimmt in erklären Sie, daß eine Ansammlungsstrecke viele Elemente ergeben kann. inv KontextCollectionLiteralExpEval: resultValue.elements->size() = Teil->collect(element)->size()->sum() [ 4 ] Die Elemente im Resultatswert sind die Elemente in den wörtlichen Teilen der Ansammlung und in Betracht ziehen dem eine Ansammlungsstrecke kann viele Elemente ergeben. inv KontextCollectionLiteralExpEval: lassen Sie allElements = Teil->collect(element)->flatten() innen Sequence{1..allElements->size()}->forAll(I: Ganzzahl| resultValue.elements->at(i).name = '' und resultValue.elements->at(i).value = allElements->at(i) und self.kind = CollectionKind::Sequence deutet an resultValue.elements->at(i).indexNr = i) CollectionLiteralPartEval Keine Extrawohlgeformtheitrichtlinien. Die Weise, in der sein Wert festgestellt wird, wird durch seine Formationsglieder gegeben. CollectionRangeEval [ 1 ] Der Wert einer Ansammlungsstrecke ist die Strecke der Ganzzahlenzahlen zwischen dem Resultatswert von seinem ersten Ausdruck und sein dauern Ausdruck. Kontext CollectionRangeEval inv: element.isOclType(Sequence(Integer)) und Element = getRange(erstes->asOclType(Integer), letzt->asOclType(Integer)) EnumLiteralExpEval Keine Extrawohlgeformtheitrichtlinien. EvalEnvironment [ 1 ] Alle Namen in einem Namensraum müssen einzigartig sein. inv KontextEvalEnvironment: Schwergängigkeits->collect(name)->forAll(name: Zeichenkette|Schwergängigkeiten->collect(name)->isUnique(name)) |  |
|
| |
|
|