Pseudo-states commands#

Let’s talk about the pseudo-states:

\umlstateinitial[name=initial]
\umlstatefinal[x=1, name=final]
\umlstatejoin[x=2, name=join]
\umlstatedecision[x=3, name=decision]
\umlstateenter[y=-2, name=enter]
\umlstateexit[x=1, y=-2, name=exit]
\umlstateend[x=2, y=-2, name=end]
\umlstatehistory[x=3, y=-2, name=hist]
\umlstatedeephistory[x=4, y=-2, name=deephist]

Figure made with TikZ

Figure made with TikZ

From left to right and top to bottom:

  • An initial state is defined with the \umlstateinitial command;

  • A final state is defined with the \umlstatefinal command;

  • A join state is defined with the \umlstatejoin command;

  • A decision state is defined with the \umlstatedecision command;

  • An enter state is defined with the \umlstateenter command;

  • An exit state is defined with the \umlstateexit command;

  • An end state is defined with the \umlstateend command;

  • A history state is defined with the \umlstatehistory command;

  • A deep history state is defined with the \umlstatedeephistory command.

These commands take several options: name, to rename the node, and width to set their size.