]> git.proxmox.com Git - ceph.git/blame - ceph/src/boost/libs/msm/doc/HTML/ch02s04.html
add subtree-ish sources for 12.0.3
[ceph.git] / ceph / src / boost / libs / msm / doc / HTML / ch02s04.html
CommitLineData
7c673cae
FG
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&nbsp;2.&nbsp;UML Short Guide"><link rel="prev" href="ch02s03.html" title="Added concepts"><link rel="next" href="ch03.html" title="Chapter&nbsp;3.&nbsp;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>&nbsp;</td><th width="60%" align="center">Chapter&nbsp;2.&nbsp;UML Short Guide</th><td width="20%" align="right">&nbsp;<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>&nbsp;</td><td width="20%" align="center"><a accesskey="u" href="ch02.html">Up</a></td><td width="40%" align="right">&nbsp;<a accesskey="n" href="ch03.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top">Added concepts&nbsp;</td><td width="20%" align="center"><a accesskey="h" href="index.html">Home</a></td><td width="40%" align="right" valign="top">&nbsp;Chapter&nbsp;3.&nbsp;Tutorial</td></tr></table></div></body></html>