| |
März 2003 OMG-Vereinheitlicht, Sprache, v1.5 Modellierend 2-151 Semantik Mit 2 UML 2,12,3,2 FinalState 2,12,3,3 Schutz 2,12,3,4 PseudoState [ 1 ] Ein abschließender Zustand kann keine abgehenden Übergänge haben. self.outgoing->size = 0 [ 1 ] Ein Schutz sollte nicht Nebenwirkungen haben. self.transition->stateMachine->notEmpty deutet an Pfosten: (self.transition.stateMachine->context = self.transition.stateMachine->context@pre) [ 1 ] Ein Ausgangsgipfel kann höchstens einen abgehenden Übergang und keine ankommenden Übergänge haben. (self.kind = # Initiale) deutet an ((self.outgoing->size < = 1) und (self.incoming->isEmpty)) [ 2 ] Geschichtengipfel können höchstens einen abgehenden Übergang haben. ((self.kind = # deepHistory) oder (self.kind = # shallowHistory)) deutet an (self.outgoing->size < = 1) [ 3 ] Ein verbindengipfel muß mindestens zwei ankommende Übergänge und genau einen haben, die abgehend sind Übergang. (self.kind = # verbinden), deutet an ((self.outgoing->size = 1) und (self.incoming->size > = 2)) [ 4 ] Alle ankommenden Übergänge ein verbindengipfel müssen in den unterschiedlichen Regionen eines Gleichlaufenden entstehen Zustand. (self.kind = # verbinden und nicht oclIsKindOf(self.stateMachine, ActivityGraph)) deutet an self.incoming->forAll (T1, T2|t1<>t2 deutet an (self.stateMachine.LCA(t1.source, t2.source). container.isConcurrent) [ 5 ] Ein Gabelgipfel muß mindestens zwei abgehende Übergänge und genau einen haben, die ankommend sind Übergang. (self.kind = # Gabel) deutet an ((self.incoming->size = 1) und (self.outgoing->size > = 2)) [ 6 ] Alle abgehenden Übergänge ein Gabelgipfel müssen Zustände in den unterschiedlichen Regionen von a zielen gleichzeitiger Zustand. (self.kind = # Gabel und nicht oclIsKindOf(self.stateMachine, ActivityGraph)) deutet an self.outgoing->forAll (T1, T2|t1<>t2 deutet an (self.stateMachine.LCA(t1.target, t2.target). container.isConcurrent) |  |
|
| |
|
|