UML Diagrams Zicomi Systems publishes some UML example diagrams online from the world famous UML dictionary. more...
Version 2.5 Released Zicomi Systems is delighted to announce that version 2.5 of Zicomi Mentor is released. With support for UML 2.0 and all thirteen UML diagrams more...
Zicomi Systems' Director speaks about the UML at Objects by Design - an informative interview more...
Partner Programme Zicom Systems is delighted to announce a new world wide partner programme, become a partner today. more...
OMG Member Zicom Systems is made a member of the OMG!
Terminate
A terminate is a kind of pseudostate that stops the execution of the enclosing state machine. It can have one or more incoming flows but no outgoing flows. While a final state signifies that execution within the enclosing region is complete, a terminate ends the execution of the entire state machine including all regions contained within the machine.
Explanation
A terminate is a special type of vertex that brings a state machine to a halt. A state machine is used to describe the behavior of a subject, which could be a system or part of a system. The terminate is used to model situations where the entire machine needs to be stopped. In our daily lives we see examples of this when for example we are making toast. The toasting machine, when it is operating normally, will brown the toast and depending on the light-dark setting will pop the toast up when it is done. Occasionally things go wrong and we need to step in and turn the toaster off (terminate) otherwise the toast will burn. When a modeler can predict these events or circumstances in advance they can be modeled with a terminate pseudostate.
A final state is related to a terminate in that a final state ends the execution of the enclosing region of the state machine. A terminate will end the execution of the entire state machine. In the circumstance that a final state is reached and all other regions of the state machine have finished executing the result will be the same as if a terminate pseudostate had been reached.