2
0
mirror of https://github.com/boostorg/msm.git synced 2026-02-19 02:22:17 +00:00
Files
msm/doc/HTML/pt01.html
Christophe Henry 9f03aaa362 msm added to trunk
[SVN r62129]
2010-05-21 21:15:38 +00:00

12 lines
9.0 KiB
HTML

<html><head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Part&nbsp;I.&nbsp;User' guide</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) V2.10"><link rel="up" href="index.html" title="Meta State Machine (MSM) V2.10"><link rel="prev" href="pr01.html" title="Preface"><link rel="next" href="ch01.html" title="Chapter&nbsp;1.&nbsp;Founding idea"></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">Part&nbsp;I.&nbsp;User' guide</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="pr01.html">Prev</a>&nbsp;</td><th width="60%" align="center">&nbsp;</th><td width="20%" align="right">&nbsp;<a accesskey="n" href="ch01.html">Next</a></td></tr></table><hr></div><div class="part" title="Part&nbsp;I.&nbsp;User' guide"><div class="titlepage"><div><div><h1 class="title"><a name="d0e96"></a>Part&nbsp;I.&nbsp;User' guide</h1></div></div></div><div class="toc"><p><b>Table of Contents</b></p><dl><dt><span class="chapter"><a href="ch01.html">1. Founding idea</a></span></dt><dt><span class="chapter"><a href="ch02.html">2. UML Short Guide</a></span></dt><dd><dl><dt><span class="sect1"><a href="ch02.html#d0e201">What are state machines?</a></span></dt><dt><span class="sect1"><a href="ch02s02.html">Concepts</a></span></dt><dd><dl><dt><span class="sect2"><a href="ch02s02.html#d0e211">State machine, state, transition, event </a></span></dt><dt><span class="sect2"><a href="ch02s02.html#d0e241">Submachines, orthogonal regions, pseudostates </a></span></dt><dt><span class="sect2"><a href="ch02s02.html#d0e284">
History </a></span></dt><dt><span class="sect2"><a href="ch02s02.html#d0e298">Completion transitions / anonymous
transitions</a></span></dt><dt><span class="sect2"><a href="ch02s02.html#d0e310"> Internal transitions </a></span></dt><dt><span class="sect2"><a href="ch02s02.html#d0e316">
Conflicting transitions </a></span></dt></dl></dd><dt><span class="sect1"><a href="ch02s03.html">State machine glossary</a></span></dt></dl></dd><dt><span class="chapter"><a href="ch03.html">3. Tutorial</a></span></dt><dd><dl><dt><span class="sect1"><a href="ch03.html#d0e405">Design</a></span></dt><dt><span class="sect1"><a href="ch03s02.html">Basic front-end</a></span></dt><dd><dl><dt><span class="sect2"><a href="ch03s02.html#d0e424">A simple example</a></span></dt><dt><span class="sect2"><a href="ch03s02.html#d0e438">Transition table</a></span></dt><dt><span class="sect2"><a href="ch03s02.html#d0e974">Defining states with entry/exit actions</a></span></dt><dt><span class="sect2"><a href="ch03s02.html#d0e987">Defining a simple state machine</a></span></dt><dt><span class="sect2"><a href="ch03s02.html#d0e1042">Defining a submachine</a></span></dt><dt><span class="sect2"><a href="ch03s02.html#d0e1260">Orthogonal regions, terminate state, event deferring</a></span></dt><dt><span class="sect2"><a href="ch03s02.html#d0e1351">History</a></span></dt><dt><span class="sect2"><a href="ch03s02.html#d0e1396">Completion (anonymous) transitions</a></span></dt><dt><span class="sect2"><a href="ch03s02.html#d0e1423">Internal transitions</a></span></dt><dt><span class="sect2"><a href="ch03s02.html#d0e1525">more row types</a></span></dt><dt><span class="sect2"><a href="ch03s02.html#d0e1558">Explicit entry / entry and exit pseudo-state / fork</a></span></dt><dt><span class="sect2"><a href="ch03s02.html#d0e1721">Flags</a></span></dt><dt><span class="sect2"><a href="ch03s02.html#d0e1775">Event Hierarchy</a></span></dt><dt><span class="sect2"><a href="ch03s02.html#d0e1796">Customizing a state machine / Getting more speed</a></span></dt><dt><span class="sect2"><a href="ch03s02.html#d0e1838">Choosing the initial event</a></span></dt><dt><span class="sect2"><a href="ch03s02.html#d0e1851"> Containing state machine (deprecated)</a></span></dt></dl></dd><dt><span class="sect1"><a href="ch03s03.html">Functor front-end</a></span></dt><dd><dl><dt><span class="sect2"><a href="ch03s03.html#d0e1890"> Transition table </a></span></dt><dt><span class="sect2"><a href="ch03s03.html#d0e2409">Defining states with entry/exit actions</a></span></dt><dt><span class="sect2"><a href="ch03s03.html#d0e2428">Defining a simple state machine</a></span></dt><dt><span class="sect2"><a href="ch03s03.html#d0e2436">Anonymous transitions</a></span></dt><dt><span class="sect2"><a href="ch03s03.html#d0e2462">Internal
transitions</a></span></dt></dl></dd><dt><span class="sect1"><a href="ch03s04.html">eUML (experimental)</a></span></dt><dd><dl><dt><span class="sect2"><a href="ch03s04.html#d0e2541">Transition table</a></span></dt><dt><span class="sect2"><a href="ch03s04.html#d0e2761">Defining events, actions and states with entry/exit actions</a></span></dt><dt><span class="sect2"><a href="ch03s04.html#d0e2869">Defining a simple state machine</a></span></dt><dt><span class="sect2"><a href="ch03s04.html#d0e2942">Defining a submachine</a></span></dt><dt><span class="sect2"><a href="ch03s04.html#d0e2958">
Attributes / Function call</a></span></dt><dt><span class="sect2"><a href="ch03s04.html#d0e3058">Orthogonal regions, flags, event deferring</a></span></dt><dt><span class="sect2"><a href="ch03s04.html#d0e3170">
Customizing a state machine / Getting
more speed</a></span></dt><dt><span class="sect2"><a href="ch03s04.html#d0e3198">Completion / Anonymous transitions</a></span></dt><dt><span class="sect2"><a href="ch03s04.html#d0e3216">Internal transitions</a></span></dt><dt><span class="sect2"><a href="ch03s04.html#d0e3247">Other state types</a></span></dt><dt><span class="sect2"><a href="ch03s04.html#d0e3311">Helper functions</a></span></dt><dt><span class="sect2"><a href="ch03s04.html#d0e3408">Phoenix-like STL support</a></span></dt></dl></dd><dt><span class="sect1"><a href="ch03s05.html">Back-end</a></span></dt><dd><dl><dt><span class="sect2"><a href="ch03s05.html#d0e3466">Creation </a></span></dt><dt><span class="sect2"><a href="ch03s05.html#d0e3475">Starting a state machine</a></span></dt><dt><span class="sect2"><a href="ch03s05.html#d0e3487">Event dispatching</a></span></dt><dt><span class="sect2"><a href="ch03s05.html#d0e3496">Active state(s)</a></span></dt><dt><span class="sect2"><a href="ch03s05.html#d0e3510">Base state type </a></span></dt><dt><span class="sect2"><a href="ch03s05.html#d0e3536">Visitor</a></span></dt><dt><span class="sect2"><a href="ch03s05.html#d0e3579">Flags</a></span></dt><dt><span class="sect2"><a href="ch03s05.html#d0e3592">Getting a state</a></span></dt><dt><span class="sect2"><a href="ch03s05.html#d0e3605"> State machine constructor with arguments </a></span></dt><dt><span class="sect2"><a href="ch03s05.html#d0e3620">Trading run-time speed for
better compile-time / multi-TU compilation</a></span></dt></dl></dd></dl></dd><dt><span class="chapter"><a href="ch04.html">4. Performance / Compilers</a></span></dt><dd><dl><dt><span class="sect1"><a href="ch04.html#d0e3724">Speed</a></span></dt><dt><span class="sect1"><a href="ch04s02.html">Executable size</a></span></dt><dt><span class="sect1"><a href="ch04s03.html">Supported compilers</a></span></dt><dt><span class="sect1"><a href="ch04s04.html"> Limitations </a></span></dt><dt><span class="sect1"><a href="ch04s05.html"> Compilers corner </a></span></dt></dl></dd><dt><span class="chapter"><a href="ch05.html">5. Questions &amp; Answers</a></span></dt><dt><span class="chapter"><a href="ch06.html">6. Internals</a></span></dt><dd><dl><dt><span class="sect1"><a href="ch06.html#d0e3914">Backend: Run To Completion</a></span></dt><dt><span class="sect1"><a href="ch06s02.html">Frontend / Backend
interface</a></span></dt><dt><span class="sect1"><a href="ch06s03.html"> Generated state ids </a></span></dt><dt><span class="sect1"><a href="ch06s04.html">Metaprogramming tools</a></span></dt></dl></dd><dt><span class="chapter"><a href="ch07.html">7. Acknowledgements</a></span></dt><dd><dl><dt><span class="sect1"><a href="ch07.html#d0e4209">MSM v2</a></span></dt><dt><span class="sect1"><a href="ch07s02.html"> MSM v1</a></span></dt></dl></dd><dt><span class="chapter"><a href="ch08.html">8. Version history</a></span></dt><dd><dl><dt><span class="sect1"><a href="ch08.html#d0e4253">From V2.0 to V2.10</a></span></dt></dl></dd></dl></div></div><div class="navfooter"><hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="pr01.html">Prev</a>&nbsp;</td><td width="20%" align="center">&nbsp;</td><td width="40%" align="right">&nbsp;<a accesskey="n" href="ch01.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top">Preface&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;1.&nbsp;Founding idea</td></tr></table></div></body></html>