1<html><head> 2 <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> 3 <title>State machine glossary</title><link rel="stylesheet" href="boostbook.css" type="text/css"><meta name="generator" content="DocBook XSL-NS Stylesheets V1.75.2"><link rel="home" href="index.html" title="Meta State Machine (MSM)"><link rel="up" href="ch02.html" title="Chapter 2. UML Short Guide"><link rel="prev" href="ch02s03.html" title="Added concepts"><link rel="next" href="ch03.html" title="Chapter 3. Tutorial"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">State machine glossary</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="ch02s03.html">Prev</a> </td><th width="60%" align="center">Chapter 2. UML Short Guide</th><td width="20%" align="right"> <a accesskey="n" href="ch03.html">Next</a></td></tr></table><hr></div><div class="sect1" title="State machine glossary"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="d0e264"></a>State machine glossary</h2></div></div></div><p> 4 </p><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>state machine: the life cycle of a thing. It is made of states, 5 regions, transitions and processes incoming events.</p></li><li class="listitem"><p>state: a stage in the life cycle of a state machine. A state (like 6 a submachine) can have an entry and exit behaviors.</p></li><li class="listitem"><p>event: an incident provoking (or not) a reaction of the state 7 machine</p></li><li class="listitem"><p>transition: a specification of how a state machine reacts to an 8 event. It specifies a source state, the event triggering the 9 transition, the target state (which will become the newly active 10 state if the transition is triggered), guard and actions.</p></li><li class="listitem"><p>action: an operation executed during the triggering of the 11 transition.</p></li><li class="listitem"><p>guard: a boolean operation being able to prevent the triggering of 12 a transition which would otherwise fire.</p></li><li class="listitem"><p>transition table: representation of a state machine. A state 13 machine diagram is a graphical, but incomplete representation of the 14 same model. A transition table, on the other hand, is a complete 15 representation.</p></li><li class="listitem"><p>initial state: The state in which the state machine starts. Having 16 several orthogonal regions means having as many initial 17 states.</p></li><li class="listitem"><p>submachine: A submachine is a state machine inserted as a state in 18 another state machine and can be found several times in a same state 19 machine.</p></li><li class="listitem"><p>orthogonal regions: (logical) parallel flow of execution of a 20 state machine. Every region of a state machine gets a chance to 21 process an incoming event.</p></li><li class="listitem"><p>terminate pseudo-state: when this state becomes active, it 22 terminates the execution of the whole state machine. MSM does not 23 destroy the state machine as required by the UML standard, however, 24 which lets you keep all the state machine's data.</p></li><li class="listitem"><p>entry/exit pseudo state: defined for submachines and are defined 25 as a connection between a transition outside of the submachine and a 26 transition inside the submachine. It is a way to enter or leave a 27 submachine through a predefined point.</p></li><li class="listitem"><p>fork: a fork allows explicit entry into several orthogonal regions 28 of a submachine.</p></li><li class="listitem"><p>history: a history is a way to remember the active state of a 29 submachine so that the submachine can proceed in its last active 30 state next time it becomes active.</p></li><li class="listitem"><p>completion events (also called completion/anonymous transitions): 31 when a transition has no named event triggering it, it automatically 32 fires when the source state is active, unless a guard forbids 33 it.</p></li><li class="listitem"><p>transition conflict: a conflict is present if for a given source 34 state and incoming event, several transitions are possible. UML 35 specifies that guard conditions have to solve the conflict.</p></li><li class="listitem"><p>internal transitions: transition from a state to itself without 36 having exit and entry actions being called.</p></li></ul></div><p> 37 </p></div><div class="navfooter"><hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="ch02s03.html">Prev</a> </td><td width="20%" align="center"><a accesskey="u" href="ch02.html">Up</a></td><td width="40%" align="right"> <a accesskey="n" href="ch03.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top">Added concepts </td><td width="20%" align="center"><a accesskey="h" href="index.html">Home</a></td><td width="40%" align="right" valign="top"> Chapter 3. Tutorial</td></tr></table></div></body></html>