Hi Bruce,
How are you doing?
I ask what is the definition of <<iterative >> in expansion regions in activity diagrams. For me personally this was never a question because I understand it as letting me do a For loop, e.g.,
For i=1 to 10
Do-Something // So it does it 10 times
End For
However, while I was presenting my UML diagram to an audience, an engineer team leader (not a UML maven) objected against the term ‘iterative’, because to him ‘iterative’ implies an 'iterative process' such that each step improves a result. I am also aware of this definition, but I assume the UML definition is not that ans means a simple For loop.
Bruce, please confirm that the UML definition of <<iterative >> and iteration is like a simple For loop. Or otherwise, and explain.
Thanks.
Avi
I'd like to amend my response. Iterative is defined in UML 2 for expansion regions in activities, they're just not supported in Rhapsody (they are in Cameo though). As for objecting to the term "iterative", that's what's in the standard. My advice is "live with it" since the standard won't change because your team leader doesn't like it.
The spec defines it as "If the value is iterative, the expansion executions must occur in an iterative sequence, with one completing before another can begin. The first expansion execution begins immediately when the ExpansionRegion starts executing, with subsequent executions starting when the previous execution is completed. If the input collections are ordered, then the expansion executions are sequenced in the order induced by the input collection. Otherwise, the order of the expansion executions is not defined." This means that the feature is intended to iterate over a collection (For loop is a subset of that), so for most uses, yes, this is a For-Next loop.