[size=13][SNIP][/size]
Granted they appear to be using Rational but if I read the article correctly fragments are part of UML 2.0.
I don't know perhaps its best to have different scenarios in different diagrams just trying to reduce the amount of work involved. 
[size=13][SNIP][/size]
Hi Joe,
I must confess that I was actually talking about interaction diagrams... :-( Since I'm principally a Data Architect, I'm not as familiar as I should be with the behaviour diagrams... Alternate flows CAN be shown on sequence diagrams by means of suitable guards on the message transitions.
Anyhow, it does seem as though the example you referred to is using UML 2.0. The UML 2
[size=13]Superstructure[/size] Specification confirms the usage.
However, for what it's worth, I might make a couple of observations on your diagram and what I saw in the IBM example.
1) The Alt frames use guards to create the various operands. Guards, in my view, are slightly more complicated than simple conditionals and it's important to ensure that there is an explicit else option. In your example, I would expect [User == null] and [else]
2) The Alt frame need to explicitly hook to an existing lifeline typically by extension. From the naming of the Alt frame name, you appear to be expanding the
Validate message. This seems wrong to me. If you were trying to model how the SecurityService handles the validation of the supplied user, then you might consider using a subordinate sequence diagram interposed between the Entry of the
Validate message and the
FetchUserEntity message (along the lines of the Figure 11 in the IBM article). By the way, this would have the effect of encapsulating the downstream processing in a subordinate diagram. (As a data person, I often see very complex sequence diagrams that attempt to show total interactions rather than the correctly encapsulated interactions one would expect from OO based designs - this would imply that the designers aren't actually thinking in OO terms)
3) The Alt guards are typically expressed in terms of a previously acquired data property. You show the returns as guarded via [UserEntity] - these aren't valid guards (as far as I can see - there is no condition).
HTH,
Paolo