-
Key: UML25-382
-
Legacy Issue Number: 17996
-
Status: closed
-
Source: University of Texas ( Omar Badreddin)
-
Summary:
Difference between FinalState and state w/o outgoing transition.
I see no difference between FinalState and any other state without any outgoing transition. I suggest (similar to what we did with Umple) is to delete the object when the FinalState is reached. In the case of regions, all regions must reach a final state before the object is deleted. -
Reported: UML 2.4.1 — Thu, 27 Sep 2012 04:00 GMT
-
Disposition: Resolved — UML 2.5
-
Disposition Summary:
These are actually two separate issues: whether a final state is the same as a state without outgoing transitions and the
semantics of final states.
There is a difference between final states and the terminate pseudostate. This is intentional, since final state has a
local effect within a region whereas terminate has a global effect (in the sense that it terminates the context object).
Terminate was introduced to allow modelers to explicitly specify when they want to context object to be terminated.
Adding an implicit version of that capability (i.e., when all regions reached a final state) seems only to add complexity.
Furthermore, note that the state machine may be invoked through a submachine state, which would most probably
mean that, in those cases, the implicit termination would likely be inappropriate.
Those who wish to add such semantics are always free to do so through a profile.
Disposition: Closed - No Change -
Updated: Fri, 6 Mar 2015 20:59 GMT
UML25 — Location: p. 333 FinalState
- Key: UML25-382
- OMG Task Force: Unified Modeling Language 2.5 (UML) FTF