Legacy Issue Number: 15394
Source: Safran Engineering Services ( Samuel Rochet)
Current UML specification use the two following constraints:
15.3.8 Pseudostate (from BehaviorStateMachines)
Constraint  The outgoing transition from an initial vertex may have a behavior, but not a trigger or guard
(self.kind = PseudostateKind::initial) implies (self.outgoing.guard->isEmpty() and self.outgoing.trigger->isEmpty())
15.3.14 Transition (from BehaviorStateMachines)
Constraint  Transitions outgoing pseudostates may not have a trigger (except for those coming out of the initial pseudostate)
(source.oclIsKindOf(Pseudostate) and (source.kind <> #initial)) implies trigger->isEmpty()
These constraints are not really contradictory but it is not clear to know if an initial pseudostate can or cannot have a trigger.
Reported: UML 2.3 — Tue, 3 Aug 2010 04:00 GMT
Disposition: Resolved — UML 2.4
In UML 2.5 these constraints have been removed. In fact, there is now a constraint “initial_transition” that makes it
explicit that an initial pseudostate cannot have a trigger.
Disposition: Closed - No Change
Updated: Fri, 6 Mar 2015 20:58 GMT