|
Boost-Commit : |
Subject: [Boost-commit] svn:boost r58690 - in sandbox/msm/libs/msm/doc: . index-Dateien
From: christophe.j.henry_at_[hidden]
Date: 2010-01-04 16:15:58
Author: chenry
Date: 2010-01-04 16:15:57 EST (Mon, 04 Jan 2010)
New Revision: 58690
URL: http://svn.boost.org/trac/boost/changeset/58690
Log:
update: internal transitions + new eUML syntax.
Binary files modified:
sandbox/msm/libs/msm/doc/index-Dateien/image034.jpg
Text files modified:
sandbox/msm/libs/msm/doc/index-Dateien/filelist.xml | 26
sandbox/msm/libs/msm/doc/index-Dateien/props0033.xml | 2
sandbox/msm/libs/msm/doc/index.htm | 1766 +++++++++++++++++++++++----------------
3 files changed, 1050 insertions(+), 744 deletions(-)
Modified: sandbox/msm/libs/msm/doc/index-Dateien/filelist.xml
==============================================================================
--- sandbox/msm/libs/msm/doc/index-Dateien/filelist.xml (original)
+++ sandbox/msm/libs/msm/doc/index-Dateien/filelist.xml 2010-01-04 16:15:57 EST (Mon, 04 Jan 2010)
@@ -5,30 +5,30 @@
<o:File HRef="themedata.thmx"/>
<o:File HRef="colorschememapping.xml"/>
<o:File HRef="image001.jpg"/>
- <o:File HRef="image002.jpg"/>
+ <o:File HRef="image027.jpg"/>
<o:File HRef="image003.jpg"/>
- <o:File HRef="image004.jpg"/>
+ <o:File HRef="image028.jpg"/>
<o:File HRef="image005.jpg"/>
- <o:File HRef="image006.jpg"/>
+ <o:File HRef="image029.jpg"/>
<o:File HRef="image007.jpg"/>
- <o:File HRef="image008.jpg"/>
+ <o:File HRef="image030.jpg"/>
<o:File HRef="image009.jpg"/>
- <o:File HRef="image010.jpg"/>
+ <o:File HRef="image031.jpg"/>
<o:File HRef="image011.jpg"/>
- <o:File HRef="image012.jpg"/>
+ <o:File HRef="image032.jpg"/>
<o:File HRef="image013.jpg"/>
- <o:File HRef="image014.jpg"/>
+ <o:File HRef="image033.jpg"/>
<o:File HRef="image015.jpg"/>
- <o:File HRef="image016.jpg"/>
+ <o:File HRef="image034.jpg"/>
<o:File HRef="image017.jpg"/>
- <o:File HRef="image018.jpg"/>
+ <o:File HRef="image035.jpg"/>
<o:File HRef="image019.jpg"/>
- <o:File HRef="image020.jpg"/>
+ <o:File HRef="image036.jpg"/>
<o:File HRef="image021.jpg"/>
- <o:File HRef="image022.jpg"/>
+ <o:File HRef="image037.jpg"/>
<o:File HRef="image023.jpg"/>
- <o:File HRef="image024.jpg"/>
+ <o:File HRef="image038.jpg"/>
<o:File HRef="image025.jpg"/>
- <o:File HRef="image026.jpg"/>
+ <o:File HRef="image039.jpg"/>
<o:File HRef="filelist.xml"/>
</xml>
\ No newline at end of file
Modified: sandbox/msm/libs/msm/doc/index-Dateien/image034.jpg
==============================================================================
Binary files. No diff available.
Modified: sandbox/msm/libs/msm/doc/index-Dateien/props0033.xml
==============================================================================
--- sandbox/msm/libs/msm/doc/index-Dateien/props0033.xml (original)
+++ sandbox/msm/libs/msm/doc/index-Dateien/props0033.xml 2010-01-04 16:15:57 EST (Mon, 04 Jan 2010)
@@ -1,2 +1,2 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<ds:datastoreItem ds:itemID="{4942D4C4-4300-40B2-8CF2-0485B273D346}" xmlns:ds="http://schemas.openxmlformats.org/officeDocument/2006/customXml"><ds:schemaRefs><ds:schemaRef ds:uri="http://schemas.openxmlformats.org/officeDocument/2006/bibliography"/></ds:schemaRefs></ds:datastoreItem>
\ No newline at end of file
+<ds:datastoreItem ds:itemID="{11CDBC9B-EE54-4B3C-A547-CC5B1D11CC22}" xmlns:ds="http://schemas.openxmlformats.org/officeDocument/2006/customXml"><ds:schemaRefs><ds:schemaRef ds:uri="http://schemas.openxmlformats.org/officeDocument/2006/bibliography"/></ds:schemaRefs></ds:datastoreItem>
\ No newline at end of file
Modified: sandbox/msm/libs/msm/doc/index.htm
==============================================================================
--- sandbox/msm/libs/msm/doc/index.htm (original)
+++ sandbox/msm/libs/msm/doc/index.htm 2010-01-04 16:15:57 EST (Mon, 04 Jan 2010)
@@ -23,15 +23,15 @@
<o:Author>Christophe</o:Author>
<o:Template>Normal</o:Template>
<o:LastAuthor>Christophe</o:LastAuthor>
- <o:Revision>287</o:Revision>
+ <o:Revision>296</o:Revision>
<o:Created>2009-09-03T20:17:00Z</o:Created>
- <o:LastSaved>2009-11-28T22:21:00Z</o:LastSaved>
- <o:Pages>39</o:Pages>
- <o:Words>19068</o:Words>
- <o:Characters>120129</o:Characters>
- <o:Lines>1001</o:Lines>
- <o:Paragraphs>277</o:Paragraphs>
- <o:CharactersWithSpaces>138920</o:CharactersWithSpaces>
+ <o:LastSaved>2010-01-04T21:14:00Z</o:LastSaved>
+ <o:Pages>40</o:Pages>
+ <o:Words>19472</o:Words>
+ <o:Characters>122677</o:Characters>
+ <o:Lines>1022</o:Lines>
+ <o:Paragraphs>283</o:Paragraphs>
+ <o:CharactersWithSpaces>141866</o:CharactersWithSpaces>
<o:Version>12.00</o:Version>
</o:DocumentProperties>
</xml><![endif]-->
@@ -394,9 +394,8 @@
panose-1:2 11 6 4 2 2 2 2 2 4;
mso-font-charset:0;
mso-generic-font-family:swiss;
- mso-font-format:other;
mso-font-pitch:variable;
- mso-font-signature:3 0 0 0 1 0;}
+ mso-font-signature:-536859905 -1073711037 9 0 511 0;}
@font-face
{font-family:Courier;
panose-1:2 7 4 9 2 2 5 2 4 4;
@@ -449,73 +448,65 @@
panose-1:2 2 6 9 4 2 5 8 3 4;
mso-font-alt:"\FF2D\FF33 \660E\671D";
mso-font-charset:128;
- mso-generic-font-family:roman;
- mso-font-format:other;
+ mso-generic-font-family:modern;
mso-font-pitch:fixed;
- mso-font-signature:1 134676480 16 0 131072 0;}
+ mso-font-signature:-536870145 1791491579 18 0 131231 0;}
@font-face
{font-family:Batang;
panose-1:2 3 6 0 0 1 1 1 1 1;
mso-font-alt:\BC14\D0D5;
mso-font-charset:129;
- mso-generic-font-family:auto;
- mso-font-format:other;
- mso-font-pitch:fixed;
- mso-font-signature:1 151388160 16 0 524288 0;}
+ mso-generic-font-family:roman;
+ mso-font-pitch:variable;
+ mso-font-signature:-1342176593 1775729915 48 0 524447 0;}
@font-face
{font-family:SimSun;
panose-1:2 1 6 0 3 1 1 1 1 1;
mso-font-alt:\5B8B\4F53;
mso-font-charset:134;
mso-generic-font-family:auto;
- mso-font-format:other;
mso-font-pitch:variable;
- mso-font-signature:1 135135232 16 0 262144 0;}
+ mso-font-signature:3 680460288 22 0 262145 0;}
@font-face
{font-family:PMingLiU;
panose-1:2 2 5 0 0 0 0 0 0 0;
mso-font-alt:\65B0\7D30\660E\9AD4;
mso-font-charset:136;
- mso-generic-font-family:auto;
- mso-font-format:other;
+ mso-generic-font-family:roman;
mso-font-pitch:variable;
- mso-font-signature:1 134742016 16 0 1048576 0;}
+ mso-font-signature:-1610611969 684719354 22 0 1048577 0;}
@font-face
{font-family:"MS Gothic";
panose-1:2 11 6 9 7 2 5 8 2 4;
mso-font-alt:"\FF2D\FF33 \30B4\30B7\30C3\30AF";
mso-font-charset:128;
mso-generic-font-family:modern;
- mso-font-format:other;
mso-font-pitch:fixed;
- mso-font-signature:1 134676480 16 0 131072 0;}
+ mso-font-signature:-536870145 1791491579 18 0 131231 0;}
@font-face
{font-family:Dotum;
panose-1:2 11 6 0 0 1 1 1 1 1;
mso-font-alt:\B3CB\C6C0;
mso-font-charset:129;
- mso-generic-font-family:modern;
- mso-font-format:other;
- mso-font-pitch:fixed;
- mso-font-signature:1 151388160 16 0 524288 0;}
+ mso-generic-font-family:swiss;
+ mso-font-pitch:variable;
+ mso-font-signature:-1342176593 1775729915 48 0 524447 0;}
@font-face
{font-family:SimHei;
panose-1:2 1 6 9 6 1 1 1 1 1;
mso-font-alt:\9ED1\4F53;
mso-font-charset:134;
mso-generic-font-family:modern;
- mso-font-format:other;
mso-font-pitch:fixed;
- mso-font-signature:1 135135232 16 0 262144 0;}
+ mso-font-signature:-2147482945 953122042 22 0 262145 0;}
@font-face
{font-family:MingLiU;
panose-1:2 2 5 9 0 0 0 0 0 0;
mso-font-alt:\7D30\660E\9AD4;
mso-font-charset:136;
mso-generic-font-family:modern;
- mso-font-format:other;
mso-font-pitch:fixed;
- mso-font-signature:1 134742016 16 0 1048576 0;}
+ mso-font-signature:-1610611969 684719354 22 0 1048577 0;}
@font-face
{font-family:Mincho;
panose-1:2 2 6 9 4 3 5 8 3 5;
@@ -530,42 +521,37 @@
panose-1:2 11 6 0 0 1 1 1 1 1;
mso-font-alt:\AD74\B9BC;
mso-font-charset:129;
- mso-generic-font-family:roman;
- mso-font-format:other;
- mso-font-pitch:fixed;
- mso-font-signature:1 151388160 16 0 524288 0;}
+ mso-generic-font-family:swiss;
+ mso-font-pitch:variable;
+ mso-font-signature:-1342176593 1775729915 48 0 524447 0;}
@font-face
{font-family:Century;
panose-1:2 4 6 4 5 5 5 2 3 4;
mso-font-charset:0;
mso-generic-font-family:roman;
- mso-font-format:other;
mso-font-pitch:variable;
- mso-font-signature:3 0 0 0 1 0;}
+ mso-font-signature:647 0 0 0 159 0;}
@font-face
{font-family:"Angsana New";
panose-1:2 2 6 3 5 4 5 2 3 4;
- mso-font-charset:222;
+ mso-font-charset:0;
mso-generic-font-family:roman;
- mso-font-format:other;
mso-font-pitch:variable;
- mso-font-signature:16777217 0 0 0 65536 0;}
+ mso-font-signature:-2130706429 0 0 0 65537 0;}
@font-face
{font-family:"Cordia New";
panose-1:2 11 3 4 2 2 2 2 2 4;
- mso-font-charset:222;
- mso-generic-font-family:roman;
- mso-font-format:other;
+ mso-font-charset:0;
+ mso-generic-font-family:swiss;
mso-font-pitch:variable;
- mso-font-signature:16777217 0 0 0 65536 0;}
+ mso-font-signature:-2130706429 0 0 0 65537 0;}
@font-face
{font-family:Mangal;
panose-1:2 4 5 3 5 2 3 3 2 2;
- mso-font-charset:1;
+ mso-font-charset:0;
mso-generic-font-family:roman;
- mso-font-format:other;
mso-font-pitch:variable;
- mso-font-signature:8192 0 0 0 0 0;}
+ mso-font-signature:32771 0 0 0 1 0;}
@font-face
{font-family:Latha;
panose-1:2 0 4 0 0 0 0 0 0 0;
@@ -579,33 +565,29 @@
panose-1:1 10 5 2 5 3 6 3 3 3;
mso-font-charset:0;
mso-generic-font-family:roman;
- mso-font-format:other;
mso-font-pitch:variable;
- mso-font-signature:12583555 0 0 0 13 0;}
+ mso-font-signature:67110535 0 0 0 159 0;}
@font-face
{font-family:Vrinda;
panose-1:1 1 6 0 1 1 1 1 1 1;
- mso-font-charset:1;
- mso-generic-font-family:roman;
- mso-font-format:other;
+ mso-font-charset:0;
+ mso-generic-font-family:auto;
mso-font-pitch:variable;
- mso-font-signature:0 0 0 0 0 0;}
+ mso-font-signature:65539 0 0 0 1 0;}
@font-face
{font-family:Raavi;
panose-1:2 0 5 0 0 0 0 0 0 0;
- mso-font-charset:1;
- mso-generic-font-family:roman;
- mso-font-format:other;
+ mso-font-charset:0;
+ mso-generic-font-family:auto;
mso-font-pitch:variable;
- mso-font-signature:0 0 0 0 0 0;}
+ mso-font-signature:131075 0 0 0 1 0;}
@font-face
{font-family:Shruti;
panose-1:2 11 6 4 2 2 2 2 2 4;
- mso-font-charset:1;
- mso-generic-font-family:roman;
- mso-font-format:other;
+ mso-font-charset:0;
+ mso-generic-font-family:swiss;
mso-font-pitch:variable;
- mso-font-signature:0 0 0 0 0 0;}
+ mso-font-signature:262147 0 0 0 1 0;}
@font-face
{font-family:Sendnya;
panose-1:0 0 4 0 0 0 0 0 0 0;
@@ -617,43 +599,38 @@
@font-face
{font-family:Gautami;
panose-1:2 0 5 0 0 0 0 0 0 0;
- mso-font-charset:1;
- mso-generic-font-family:roman;
- mso-font-format:other;
+ mso-font-charset:0;
+ mso-generic-font-family:auto;
mso-font-pitch:variable;
- mso-font-signature:0 0 0 0 0 0;}
+ mso-font-signature:-2145386493 0 0 0 1 0;}
@font-face
{font-family:Tunga;
panose-1:0 0 4 0 0 0 0 0 0 0;
- mso-font-charset:1;
- mso-generic-font-family:roman;
- mso-font-format:other;
+ mso-font-charset:0;
+ mso-generic-font-family:auto;
mso-font-pitch:variable;
- mso-font-signature:0 0 0 0 0 0;}
+ mso-font-signature:4194307 0 0 0 1 0;}
@font-face
{font-family:"Estrangelo Edessa";
panose-1:3 8 6 0 0 0 0 0 0 0;
- mso-font-charset:1;
- mso-generic-font-family:roman;
- mso-font-format:other;
+ mso-font-charset:0;
+ mso-generic-font-family:script;
mso-font-pitch:variable;
- mso-font-signature:0 0 0 0 0 0;}
+ mso-font-signature:-2147475389 0 128 0 1 0;}
@font-face
{font-family:"Cambria Math";
panose-1:2 4 5 3 5 4 6 3 2 4;
- mso-font-charset:1;
+ mso-font-charset:0;
mso-generic-font-family:roman;
- mso-font-format:other;
mso-font-pitch:variable;
- mso-font-signature:0 0 0 0 0 0;}
+ mso-font-signature:-1610611985 1107304683 0 0 159 0;}
@font-face
{font-family:"Arial Unicode MS";
panose-1:2 11 6 4 2 2 2 2 2 4;
- mso-font-charset:0;
- mso-generic-font-family:roman;
- mso-font-format:other;
+ mso-font-charset:128;
+ mso-generic-font-family:swiss;
mso-font-pitch:variable;
- mso-font-signature:3 0 0 0 1 0;}
+ mso-font-signature:-134238209 -371195905 63 0 4129279 0;}
@font-face
{font-family:Cambria;
panose-1:2 4 5 3 5 4 6 3 2 4;
@@ -1696,6 +1673,13 @@
mso-generic-font-family:swiss;
mso-font-pitch:variable;
mso-font-signature:647 2048 0 0 159 0;}
+@font-face
+ {font-family:Times;
+ panose-1:2 2 6 3 5 4 5 2 3 4;
+ mso-font-charset:0;
+ mso-generic-font-family:roman;
+ mso-font-pitch:variable;
+ mso-font-signature:-536859921 -1073711039 9 0 511 0;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
{mso-style-unhide:no;
@@ -1785,8 +1769,7 @@
font-weight:bold;
font-style:italic;}
a:link, span.MsoHyperlink
- {mso-style-noshow:yes;
- mso-style-priority:99;
+ {mso-style-priority:99;
color:blue;
text-decoration:underline;
text-underline:single;}
@@ -2570,51 +2553,19 @@
mso-level-number-position:left;
text-indent:-18.0pt;}
@list l12
- {mso-list-id:558129470;
- mso-list-template-ids:-1638399218;}
+ {mso-list-id:535625984;
+ mso-list-type:hybrid;
+ mso-list-template-ids:32787956 67567617 67567619 67567621 67567617 67567619 67567621 67567617 67567619 67567621;}
@list l12:level1
{mso-level-number-format:bullet;
mso-level-text:\F0B7;
- mso-level-tab-stop:36.0pt;
+ mso-level-tab-stop:none;
mso-level-number-position:left;
text-indent:-18.0pt;
- mso-ansi-font-size:10.0pt;
font-family:Symbol;}
-_at_list l12:level2
- {mso-level-tab-stop:72.0pt;
- mso-level-number-position:left;
- text-indent:-18.0pt;}
-_at_list l12:level3
- {mso-level-tab-stop:108.0pt;
- mso-level-number-position:left;
- text-indent:-18.0pt;}
-_at_list l12:level4
- {mso-level-tab-stop:144.0pt;
- mso-level-number-position:left;
- text-indent:-18.0pt;}
-_at_list l12:level5
- {mso-level-tab-stop:180.0pt;
- mso-level-number-position:left;
- text-indent:-18.0pt;}
-_at_list l12:level6
- {mso-level-tab-stop:216.0pt;
- mso-level-number-position:left;
- text-indent:-18.0pt;}
-_at_list l12:level7
- {mso-level-tab-stop:252.0pt;
- mso-level-number-position:left;
- text-indent:-18.0pt;}
-_at_list l12:level8
- {mso-level-tab-stop:288.0pt;
- mso-level-number-position:left;
- text-indent:-18.0pt;}
-_at_list l12:level9
- {mso-level-tab-stop:324.0pt;
- mso-level-number-position:left;
- text-indent:-18.0pt;}
@list l13
- {mso-list-id:602569479;
- mso-list-template-ids:1018057442;}
+ {mso-list-id:558129470;
+ mso-list-template-ids:-1638399218;}
@list l13:level1
{mso-level-number-format:bullet;
mso-level-text:\F0B7;
@@ -2656,15 +2607,15 @@
mso-level-number-position:left;
text-indent:-18.0pt;}
@list l14
- {mso-list-id:610279850;
- mso-list-type:hybrid;
- mso-list-template-ids:1023213496 67567617 67567619 67567621 67567617 67567619 67567621 67567617 67567619 67567621;}
+ {mso-list-id:602569479;
+ mso-list-template-ids:1018057442;}
@list l14:level1
{mso-level-number-format:bullet;
mso-level-text:\F0B7;
- mso-level-tab-stop:none;
+ mso-level-tab-stop:36.0pt;
mso-level-number-position:left;
text-indent:-18.0pt;
+ mso-ansi-font-size:10.0pt;
font-family:Symbol;}
@list l14:level2
{mso-level-tab-stop:72.0pt;
@@ -2699,9 +2650,9 @@
mso-level-number-position:left;
text-indent:-18.0pt;}
@list l15
- {mso-list-id:619726856;
+ {mso-list-id:610279850;
mso-list-type:hybrid;
- mso-list-template-ids:512903894 67567617 67567619 67567621 67567617 67567619 67567621 67567617 67567619 67567621;}
+ mso-list-template-ids:1023213496 67567617 67567619 67567621 67567617 67567619 67567621 67567617 67567619 67567621;}
@list l15:level1
{mso-level-number-format:bullet;
mso-level-text:\F0B7;
@@ -2742,9 +2693,9 @@
mso-level-number-position:left;
text-indent:-18.0pt;}
@list l16
- {mso-list-id:649598104;
+ {mso-list-id:619726856;
mso-list-type:hybrid;
- mso-list-template-ids:1536707106 67567617 67567619 67567621 67567617 67567619 67567621 67567617 67567619 67567621;}
+ mso-list-template-ids:512903894 67567617 67567619 67567621 67567617 67567619 67567621 67567617 67567619 67567621;}
@list l16:level1
{mso-level-number-format:bullet;
mso-level-text:\F0B7;
@@ -2785,15 +2736,14 @@
mso-level-number-position:left;
text-indent:-18.0pt;}
@list l17
- {mso-list-id:720399495;
+ {mso-list-id:649598104;
mso-list-type:hybrid;
- mso-list-template-ids:-1279387748 67567617 67567619 67567621 67567617 67567619 67567621 67567617 67567619 67567621;}
+ mso-list-template-ids:1536707106 67567617 67567619 67567621 67567617 67567619 67567621 67567617 67567619 67567621;}
@list l17:level1
{mso-level-number-format:bullet;
mso-level-text:\F0B7;
mso-level-tab-stop:none;
mso-level-number-position:left;
- margin-left:54.0pt;
text-indent:-18.0pt;
font-family:Symbol;}
@list l17:level2
@@ -2829,15 +2779,16 @@
mso-level-number-position:left;
text-indent:-18.0pt;}
@list l18
- {mso-list-id:754670753;
- mso-list-template-ids:-1551972502;}
+ {mso-list-id:720399495;
+ mso-list-type:hybrid;
+ mso-list-template-ids:-1279387748 67567617 67567619 67567621 67567617 67567619 67567621 67567617 67567619 67567621;}
@list l18:level1
{mso-level-number-format:bullet;
mso-level-text:\F0B7;
- mso-level-tab-stop:36.0pt;
+ mso-level-tab-stop:none;
mso-level-number-position:left;
+ margin-left:54.0pt;
text-indent:-18.0pt;
- mso-ansi-font-size:10.0pt;
font-family:Symbol;}
@list l18:level2
{mso-level-tab-stop:72.0pt;
@@ -2872,8 +2823,8 @@
mso-level-number-position:left;
text-indent:-18.0pt;}
@list l19
- {mso-list-id:761100156;
- mso-list-template-ids:836958140;}
+ {mso-list-id:754670753;
+ mso-list-template-ids:-1551972502;}
@list l19:level1
{mso-level-number-format:bullet;
mso-level-text:\F0B7;
@@ -2915,15 +2866,15 @@
mso-level-number-position:left;
text-indent:-18.0pt;}
@list l20
- {mso-list-id:781069911;
- mso-list-type:hybrid;
- mso-list-template-ids:129686144 67567617 67567619 67567621 67567617 67567619 67567621 67567617 67567619 67567621;}
+ {mso-list-id:761100156;
+ mso-list-template-ids:836958140;}
@list l20:level1
{mso-level-number-format:bullet;
mso-level-text:\F0B7;
- mso-level-tab-stop:none;
+ mso-level-tab-stop:36.0pt;
mso-level-number-position:left;
text-indent:-18.0pt;
+ mso-ansi-font-size:10.0pt;
font-family:Symbol;}
@list l20:level2
{mso-level-tab-stop:72.0pt;
@@ -2958,15 +2909,14 @@
mso-level-number-position:left;
text-indent:-18.0pt;}
@list l21
- {mso-list-id:849757469;
+ {mso-list-id:781069911;
mso-list-type:hybrid;
- mso-list-template-ids:516825884 67567617 67567619 67567621 67567617 67567619 67567621 67567617 67567619 67567621;}
+ mso-list-template-ids:129686144 67567617 67567619 67567621 67567617 67567619 67567621 67567617 67567619 67567621;}
@list l21:level1
{mso-level-number-format:bullet;
mso-level-text:\F0B7;
mso-level-tab-stop:none;
mso-level-number-position:left;
- margin-left:54.0pt;
text-indent:-18.0pt;
font-family:Symbol;}
@list l21:level2
@@ -3002,15 +2952,16 @@
mso-level-number-position:left;
text-indent:-18.0pt;}
@list l22
- {mso-list-id:963121799;
- mso-list-template-ids:-350171470;}
+ {mso-list-id:849757469;
+ mso-list-type:hybrid;
+ mso-list-template-ids:516825884 67567617 67567619 67567621 67567617 67567619 67567621 67567617 67567619 67567621;}
@list l22:level1
{mso-level-number-format:bullet;
mso-level-text:\F0B7;
- mso-level-tab-stop:36.0pt;
+ mso-level-tab-stop:none;
mso-level-number-position:left;
+ margin-left:54.0pt;
text-indent:-18.0pt;
- mso-ansi-font-size:10.0pt;
font-family:Symbol;}
@list l22:level2
{mso-level-tab-stop:72.0pt;
@@ -3045,23 +2996,20 @@
mso-level-number-position:left;
text-indent:-18.0pt;}
@list l23
- {mso-list-id:991059834;
- mso-list-type:hybrid;
- mso-list-template-ids:-458720232 67567617 67567617 67567621 67567617 67567619 67567621 67567617 67567619 67567621;}
+ {mso-list-id:963121799;
+ mso-list-template-ids:-350171470;}
@list l23:level1
{mso-level-number-format:bullet;
mso-level-text:\F0B7;
- mso-level-tab-stop:none;
+ mso-level-tab-stop:36.0pt;
mso-level-number-position:left;
text-indent:-18.0pt;
+ mso-ansi-font-size:10.0pt;
font-family:Symbol;}
@list l23:level2
- {mso-level-number-format:bullet;
- mso-level-text:\F0B7;
- mso-level-tab-stop:72.0pt;
+ {mso-level-tab-stop:72.0pt;
mso-level-number-position:left;
- text-indent:-18.0pt;
- font-family:Symbol;}
+ text-indent:-18.0pt;}
@list l23:level3
{mso-level-tab-stop:108.0pt;
mso-level-number-position:left;
@@ -3091,9 +3039,9 @@
mso-level-number-position:left;
text-indent:-18.0pt;}
@list l24
- {mso-list-id:1040057886;
+ {mso-list-id:991059834;
mso-list-type:hybrid;
- mso-list-template-ids:-936729874 67567617 67567619 67567621 67567617 67567619 67567621 67567617 67567619 67567621;}
+ mso-list-template-ids:-458720232 67567617 67567617 67567621 67567617 67567619 67567621 67567617 67567619 67567621;}
@list l24:level1
{mso-level-number-format:bullet;
mso-level-text:\F0B7;
@@ -3102,9 +3050,12 @@
text-indent:-18.0pt;
font-family:Symbol;}
@list l24:level2
- {mso-level-tab-stop:72.0pt;
+ {mso-level-number-format:bullet;
+ mso-level-text:\F0B7;
+ mso-level-tab-stop:72.0pt;
mso-level-number-position:left;
- text-indent:-18.0pt;}
+ text-indent:-18.0pt;
+ font-family:Symbol;}
@list l24:level3
{mso-level-tab-stop:108.0pt;
mso-level-number-position:left;
@@ -3134,19 +3085,16 @@
mso-level-number-position:left;
text-indent:-18.0pt;}
@list l25
- {mso-list-id:1055087789;
+ {mso-list-id:1040057886;
mso-list-type:hybrid;
- mso-list-template-ids:-2075332068 2091289928 67567619 67567621 67567617 67567619 67567621 67567617 67567619 67567621;}
+ mso-list-template-ids:-936729874 67567617 67567619 67567621 67567617 67567619 67567621 67567617 67567619 67567621;}
@list l25:level1
- {mso-level-start-at:0;
- mso-level-number-format:bullet;
- mso-level-text:-;
+ {mso-level-number-format:bullet;
+ mso-level-text:\F0B7;
mso-level-tab-stop:none;
mso-level-number-position:left;
text-indent:-18.0pt;
- font-family:"Times New Roman","serif";
- mso-fareast-font-family:"Times New Roman";
- mso-fareast-theme-font:minor-fareast;}
+ font-family:Symbol;}
@list l25:level2
{mso-level-tab-stop:72.0pt;
mso-level-number-position:left;
@@ -3180,16 +3128,19 @@
mso-level-number-position:left;
text-indent:-18.0pt;}
@list l26
- {mso-list-id:1145241846;
- mso-list-template-ids:540567464;}
+ {mso-list-id:1055087789;
+ mso-list-type:hybrid;
+ mso-list-template-ids:-2075332068 2091289928 67567619 67567621 67567617 67567619 67567621 67567617 67567619 67567621;}
@list l26:level1
- {mso-level-number-format:bullet;
- mso-level-text:\F0B7;
- mso-level-tab-stop:36.0pt;
+ {mso-level-start-at:0;
+ mso-level-number-format:bullet;
+ mso-level-text:-;
+ mso-level-tab-stop:none;
mso-level-number-position:left;
text-indent:-18.0pt;
- mso-ansi-font-size:10.0pt;
- font-family:Symbol;}
+ font-family:"Times New Roman","serif";
+ mso-fareast-font-family:"Times New Roman";
+ mso-fareast-theme-font:minor-fareast;}
@list l26:level2
{mso-level-tab-stop:72.0pt;
mso-level-number-position:left;
@@ -3223,15 +3174,15 @@
mso-level-number-position:left;
text-indent:-18.0pt;}
@list l27
- {mso-list-id:1168325453;
- mso-list-type:hybrid;
- mso-list-template-ids:1479189550 67567617 67567619 67567621 67567617 67567619 67567621 67567617 67567619 67567621;}
+ {mso-list-id:1145241846;
+ mso-list-template-ids:540567464;}
@list l27:level1
{mso-level-number-format:bullet;
mso-level-text:\F0B7;
- mso-level-tab-stop:none;
+ mso-level-tab-stop:36.0pt;
mso-level-number-position:left;
text-indent:-18.0pt;
+ mso-ansi-font-size:10.0pt;
font-family:Symbol;}
@list l27:level2
{mso-level-tab-stop:72.0pt;
@@ -3266,9 +3217,9 @@
mso-level-number-position:left;
text-indent:-18.0pt;}
@list l28
- {mso-list-id:1259830084;
+ {mso-list-id:1168325453;
mso-list-type:hybrid;
- mso-list-template-ids:-2019906010 67567617 67567619 67567621 67567617 67567619 67567621 67567617 67567619 67567621;}
+ mso-list-template-ids:1479189550 67567617 67567619 67567621 67567617 67567619 67567621 67567617 67567619 67567621;}
@list l28:level1
{mso-level-number-format:bullet;
mso-level-text:\F0B7;
@@ -3309,15 +3260,14 @@
mso-level-number-position:left;
text-indent:-18.0pt;}
@list l29
- {mso-list-id:1280065955;
+ {mso-list-id:1259830084;
mso-list-type:hybrid;
- mso-list-template-ids:272824830 67567617 67567619 67567621 67567617 67567619 67567621 67567617 67567619 67567621;}
+ mso-list-template-ids:-2019906010 67567617 67567619 67567621 67567617 67567619 67567621 67567617 67567619 67567621;}
@list l29:level1
{mso-level-number-format:bullet;
mso-level-text:\F0B7;
mso-level-tab-stop:none;
mso-level-number-position:left;
- margin-left:54.0pt;
text-indent:-18.0pt;
font-family:Symbol;}
@list l29:level2
@@ -3353,15 +3303,16 @@
mso-level-number-position:left;
text-indent:-18.0pt;}
@list l30
- {mso-list-id:1412967759;
- mso-list-template-ids:-567780602;}
+ {mso-list-id:1280065955;
+ mso-list-type:hybrid;
+ mso-list-template-ids:272824830 67567617 67567619 67567621 67567617 67567619 67567621 67567617 67567619 67567621;}
@list l30:level1
{mso-level-number-format:bullet;
mso-level-text:\F0B7;
- mso-level-tab-stop:36.0pt;
+ mso-level-tab-stop:none;
mso-level-number-position:left;
+ margin-left:54.0pt;
text-indent:-18.0pt;
- mso-ansi-font-size:10.0pt;
font-family:Symbol;}
@list l30:level2
{mso-level-tab-stop:72.0pt;
@@ -3396,15 +3347,15 @@
mso-level-number-position:left;
text-indent:-18.0pt;}
@list l31
- {mso-list-id:1466392733;
- mso-list-type:hybrid;
- mso-list-template-ids:1819157884 67567617 67567619 67567621 67567617 67567619 67567621 67567617 67567619 67567621;}
+ {mso-list-id:1412967759;
+ mso-list-template-ids:-567780602;}
@list l31:level1
{mso-level-number-format:bullet;
mso-level-text:\F0B7;
- mso-level-tab-stop:none;
+ mso-level-tab-stop:36.0pt;
mso-level-number-position:left;
text-indent:-18.0pt;
+ mso-ansi-font-size:10.0pt;
font-family:Symbol;}
@list l31:level2
{mso-level-tab-stop:72.0pt;
@@ -3439,15 +3390,15 @@
mso-level-number-position:left;
text-indent:-18.0pt;}
@list l32
- {mso-list-id:1493108425;
- mso-list-template-ids:-541802490;}
+ {mso-list-id:1466392733;
+ mso-list-type:hybrid;
+ mso-list-template-ids:1819157884 67567617 67567619 67567621 67567617 67567619 67567621 67567617 67567619 67567621;}
@list l32:level1
{mso-level-number-format:bullet;
mso-level-text:\F0B7;
- mso-level-tab-stop:36.0pt;
+ mso-level-tab-stop:none;
mso-level-number-position:left;
text-indent:-18.0pt;
- mso-ansi-font-size:10.0pt;
font-family:Symbol;}
@list l32:level2
{mso-level-tab-stop:72.0pt;
@@ -3482,8 +3433,8 @@
mso-level-number-position:left;
text-indent:-18.0pt;}
@list l33
- {mso-list-id:1501776453;
- mso-list-template-ids:365886082;}
+ {mso-list-id:1493108425;
+ mso-list-template-ids:-541802490;}
@list l33:level1
{mso-level-number-format:bullet;
mso-level-text:\F0B7;
@@ -3525,15 +3476,15 @@
mso-level-number-position:left;
text-indent:-18.0pt;}
@list l34
- {mso-list-id:1616715111;
- mso-list-type:hybrid;
- mso-list-template-ids:1879050554 67567617 67567619 67567621 67567617 67567619 67567621 67567617 67567619 67567621;}
+ {mso-list-id:1501776453;
+ mso-list-template-ids:365886082;}
@list l34:level1
{mso-level-number-format:bullet;
mso-level-text:\F0B7;
- mso-level-tab-stop:none;
+ mso-level-tab-stop:36.0pt;
mso-level-number-position:left;
text-indent:-18.0pt;
+ mso-ansi-font-size:10.0pt;
font-family:Symbol;}
@list l34:level2
{mso-level-tab-stop:72.0pt;
@@ -3568,15 +3519,15 @@
mso-level-number-position:left;
text-indent:-18.0pt;}
@list l35
- {mso-list-id:1659649190;
- mso-list-template-ids:-1058523542;}
+ {mso-list-id:1616715111;
+ mso-list-type:hybrid;
+ mso-list-template-ids:1879050554 67567617 67567619 67567621 67567617 67567619 67567621 67567617 67567619 67567621;}
@list l35:level1
{mso-level-number-format:bullet;
mso-level-text:\F0B7;
- mso-level-tab-stop:36.0pt;
+ mso-level-tab-stop:none;
mso-level-number-position:left;
text-indent:-18.0pt;
- mso-ansi-font-size:10.0pt;
font-family:Symbol;}
@list l35:level2
{mso-level-tab-stop:72.0pt;
@@ -3611,15 +3562,15 @@
mso-level-number-position:left;
text-indent:-18.0pt;}
@list l36
- {mso-list-id:1694914861;
- mso-list-type:hybrid;
- mso-list-template-ids:-1614647314 67567617 67567619 67567621 67567617 67567619 67567621 67567617 67567619 67567621;}
+ {mso-list-id:1659649190;
+ mso-list-template-ids:-1058523542;}
@list l36:level1
{mso-level-number-format:bullet;
mso-level-text:\F0B7;
- mso-level-tab-stop:none;
+ mso-level-tab-stop:36.0pt;
mso-level-number-position:left;
text-indent:-18.0pt;
+ mso-ansi-font-size:10.0pt;
font-family:Symbol;}
@list l36:level2
{mso-level-tab-stop:72.0pt;
@@ -3654,15 +3605,15 @@
mso-level-number-position:left;
text-indent:-18.0pt;}
@list l37
- {mso-list-id:1745571200;
- mso-list-template-ids:-429486050;}
+ {mso-list-id:1694914861;
+ mso-list-type:hybrid;
+ mso-list-template-ids:-1614647314 67567617 67567619 67567621 67567617 67567619 67567621 67567617 67567619 67567621;}
@list l37:level1
{mso-level-number-format:bullet;
mso-level-text:\F0B7;
- mso-level-tab-stop:36.0pt;
+ mso-level-tab-stop:none;
mso-level-number-position:left;
text-indent:-18.0pt;
- mso-ansi-font-size:10.0pt;
font-family:Symbol;}
@list l37:level2
{mso-level-tab-stop:72.0pt;
@@ -3697,8 +3648,8 @@
mso-level-number-position:left;
text-indent:-18.0pt;}
@list l38
- {mso-list-id:1816599751;
- mso-list-template-ids:-2056904892;}
+ {mso-list-id:1745571200;
+ mso-list-template-ids:-429486050;}
@list l38:level1
{mso-level-number-format:bullet;
mso-level-text:\F0B7;
@@ -3740,15 +3691,15 @@
mso-level-number-position:left;
text-indent:-18.0pt;}
@list l39
- {mso-list-id:1854608351;
- mso-list-type:hybrid;
- mso-list-template-ids:-136259574 67567617 67567619 67567621 67567617 67567619 67567621 67567617 67567619 67567621;}
+ {mso-list-id:1816599751;
+ mso-list-template-ids:-2056904892;}
@list l39:level1
{mso-level-number-format:bullet;
mso-level-text:\F0B7;
- mso-level-tab-stop:none;
+ mso-level-tab-stop:36.0pt;
mso-level-number-position:left;
text-indent:-18.0pt;
+ mso-ansi-font-size:10.0pt;
font-family:Symbol;}
@list l39:level2
{mso-level-tab-stop:72.0pt;
@@ -3783,15 +3734,15 @@
mso-level-number-position:left;
text-indent:-18.0pt;}
@list l40
- {mso-list-id:1904290003;
- mso-list-template-ids:-1496945720;}
+ {mso-list-id:1854608351;
+ mso-list-type:hybrid;
+ mso-list-template-ids:-136259574 67567617 67567619 67567621 67567617 67567619 67567621 67567617 67567619 67567621;}
@list l40:level1
{mso-level-number-format:bullet;
mso-level-text:\F0B7;
- mso-level-tab-stop:36.0pt;
+ mso-level-tab-stop:none;
mso-level-number-position:left;
text-indent:-18.0pt;
- mso-ansi-font-size:10.0pt;
font-family:Symbol;}
@list l40:level2
{mso-level-tab-stop:72.0pt;
@@ -3826,19 +3777,16 @@
mso-level-number-position:left;
text-indent:-18.0pt;}
@list l41
- {mso-list-id:1922173753;
- mso-list-type:hybrid;
- mso-list-template-ids:1592819408 -1239144778 67567619 67567621 67567617 67567619 67567621 67567617 67567619 67567621;}
+ {mso-list-id:1904290003;
+ mso-list-template-ids:-1496945720;}
@list l41:level1
- {mso-level-start-at:0;
- mso-level-number-format:bullet;
- mso-level-text:-;
- mso-level-tab-stop:none;
+ {mso-level-number-format:bullet;
+ mso-level-text:\F0B7;
+ mso-level-tab-stop:36.0pt;
mso-level-number-position:left;
text-indent:-18.0pt;
- font-family:"Times New Roman","serif";
- mso-fareast-font-family:"Times New Roman";
- mso-fareast-theme-font:minor-fareast;}
+ mso-ansi-font-size:10.0pt;
+ font-family:Symbol;}
@list l41:level2
{mso-level-tab-stop:72.0pt;
mso-level-number-position:left;
@@ -3872,16 +3820,19 @@
mso-level-number-position:left;
text-indent:-18.0pt;}
@list l42
- {mso-list-id:1968387992;
- mso-list-template-ids:216181760;}
+ {mso-list-id:1922173753;
+ mso-list-type:hybrid;
+ mso-list-template-ids:1592819408 -1239144778 67567619 67567621 67567617 67567619 67567621 67567617 67567619 67567621;}
@list l42:level1
- {mso-level-number-format:bullet;
- mso-level-text:\F0B7;
- mso-level-tab-stop:36.0pt;
+ {mso-level-start-at:0;
+ mso-level-number-format:bullet;
+ mso-level-text:-;
+ mso-level-tab-stop:none;
mso-level-number-position:left;
text-indent:-18.0pt;
- mso-ansi-font-size:10.0pt;
- font-family:Symbol;}
+ font-family:"Times New Roman","serif";
+ mso-fareast-font-family:"Times New Roman";
+ mso-fareast-theme-font:minor-fareast;}
@list l42:level2
{mso-level-tab-stop:72.0pt;
mso-level-number-position:left;
@@ -3915,8 +3866,8 @@
mso-level-number-position:left;
text-indent:-18.0pt;}
@list l43
- {mso-list-id:1994023609;
- mso-list-template-ids:1249929396;}
+ {mso-list-id:1968387992;
+ mso-list-template-ids:216181760;}
@list l43:level1
{mso-level-number-format:bullet;
mso-level-text:\F0B7;
@@ -3958,8 +3909,8 @@
mso-level-number-position:left;
text-indent:-18.0pt;}
@list l44
- {mso-list-id:2024744074;
- mso-list-template-ids:-225663202;}
+ {mso-list-id:1994023609;
+ mso-list-template-ids:1249929396;}
@list l44:level1
{mso-level-number-format:bullet;
mso-level-text:\F0B7;
@@ -4001,15 +3952,15 @@
mso-level-number-position:left;
text-indent:-18.0pt;}
@list l45
- {mso-list-id:2037073662;
- mso-list-type:hybrid;
- mso-list-template-ids:-1884630188 67567617 67567619 67567621 67567617 67567619 67567621 67567617 67567619 67567621;}
+ {mso-list-id:2024744074;
+ mso-list-template-ids:-225663202;}
@list l45:level1
{mso-level-number-format:bullet;
mso-level-text:\F0B7;
- mso-level-tab-stop:none;
+ mso-level-tab-stop:36.0pt;
mso-level-number-position:left;
text-indent:-18.0pt;
+ mso-ansi-font-size:10.0pt;
font-family:Symbol;}
@list l45:level2
{mso-level-tab-stop:72.0pt;
@@ -4044,15 +3995,15 @@
mso-level-number-position:left;
text-indent:-18.0pt;}
@list l46
- {mso-list-id:2076778819;
- mso-list-template-ids:1550886238;}
+ {mso-list-id:2037073662;
+ mso-list-type:hybrid;
+ mso-list-template-ids:-1884630188 67567617 67567619 67567621 67567617 67567619 67567621 67567617 67567619 67567621;}
@list l46:level1
{mso-level-number-format:bullet;
mso-level-text:\F0B7;
- mso-level-tab-stop:36.0pt;
+ mso-level-tab-stop:none;
mso-level-number-position:left;
text-indent:-18.0pt;
- mso-ansi-font-size:10.0pt;
font-family:Symbol;}
@list l46:level2
{mso-level-tab-stop:72.0pt;
@@ -4082,50 +4033,93 @@
{mso-level-tab-stop:288.0pt;
mso-level-number-position:left;
text-indent:-18.0pt;}
-_at_list l46:level9
+@list l46:level9
+ {mso-level-tab-stop:324.0pt;
+ mso-level-number-position:left;
+ text-indent:-18.0pt;}
+@list l47
+ {mso-list-id:2076778819;
+ mso-list-template-ids:1550886238;}
+@list l47:level1
+ {mso-level-number-format:bullet;
+ mso-level-text:\F0B7;
+ mso-level-tab-stop:36.0pt;
+ mso-level-number-position:left;
+ text-indent:-18.0pt;
+ mso-ansi-font-size:10.0pt;
+ font-family:Symbol;}
+@list l47:level2
+ {mso-level-tab-stop:72.0pt;
+ mso-level-number-position:left;
+ text-indent:-18.0pt;}
+@list l47:level3
+ {mso-level-tab-stop:108.0pt;
+ mso-level-number-position:left;
+ text-indent:-18.0pt;}
+@list l47:level4
+ {mso-level-tab-stop:144.0pt;
+ mso-level-number-position:left;
+ text-indent:-18.0pt;}
+@list l47:level5
+ {mso-level-tab-stop:180.0pt;
+ mso-level-number-position:left;
+ text-indent:-18.0pt;}
+@list l47:level6
+ {mso-level-tab-stop:216.0pt;
+ mso-level-number-position:left;
+ text-indent:-18.0pt;}
+@list l47:level7
+ {mso-level-tab-stop:252.0pt;
+ mso-level-number-position:left;
+ text-indent:-18.0pt;}
+@list l47:level8
+ {mso-level-tab-stop:288.0pt;
+ mso-level-number-position:left;
+ text-indent:-18.0pt;}
+@list l47:level9
{mso-level-tab-stop:324.0pt;
mso-level-number-position:left;
text-indent:-18.0pt;}
-_at_list l47
+@list l48
{mso-list-id:2110462656;
mso-list-type:hybrid;
mso-list-template-ids:29630954 67567617 67567619 67567621 67567617 67567619 67567621 67567617 67567619 67567621;}
-_at_list l47:level1
+@list l48:level1
{mso-level-number-format:bullet;
mso-level-text:\F0B7;
mso-level-tab-stop:none;
mso-level-number-position:left;
text-indent:-18.0pt;
font-family:Symbol;}
-_at_list l47:level2
+@list l48:level2
{mso-level-tab-stop:72.0pt;
mso-level-number-position:left;
text-indent:-18.0pt;}
-_at_list l47:level3
+@list l48:level3
{mso-level-tab-stop:108.0pt;
mso-level-number-position:left;
text-indent:-18.0pt;}
-_at_list l47:level4
+@list l48:level4
{mso-level-tab-stop:144.0pt;
mso-level-number-position:left;
text-indent:-18.0pt;}
-_at_list l47:level5
+@list l48:level5
{mso-level-tab-stop:180.0pt;
mso-level-number-position:left;
text-indent:-18.0pt;}
-_at_list l47:level6
+@list l48:level6
{mso-level-tab-stop:216.0pt;
mso-level-number-position:left;
text-indent:-18.0pt;}
-_at_list l47:level7
+@list l48:level7
{mso-level-tab-stop:252.0pt;
mso-level-number-position:left;
text-indent:-18.0pt;}
-_at_list l47:level8
+@list l48:level8
{mso-level-tab-stop:288.0pt;
mso-level-number-position:left;
text-indent:-18.0pt;}
-_at_list l47:level9
+@list l48:level9
{mso-level-tab-stop:324.0pt;
mso-level-number-position:left;
text-indent:-18.0pt;}
@@ -4999,7 +4993,7 @@
<meta name=CHANGEDBY content=xtoff>
<meta name=CHANGEDBY content=xtoff>
<!--[if gte mso 9]><xml>
- <o:shapedefaults v:ext="edit" spidmax="46082"/>
+ <o:shapedefaults v:ext="edit" spidmax="47106"/>
</xml><![endif]--><!--[if gte mso 9]><xml>
<o:shapelayout v:ext="edit">
<o:idmap v:ext="edit" data="1"/>
@@ -5039,75 +5033,82 @@
<p><span lang=EN-US style='mso-ansi-language:EN-US'><a
href="#_Msm_v1.x_Features">Msm v1.x Features</a><o:p></o:p></span></p>
-<p style='margin-left:36.0pt;text-indent:-18.0pt;mso-list:l34 level1 lfo1'><![if !supportLists]><span
+<p style='margin-left:36.0pt;text-indent:-18.0pt;mso-list:l35 level1 lfo1'><![if !supportLists]><span
lang=EN-US style='font-family:Symbol;mso-fareast-font-family:Symbol;mso-bidi-font-family:
Symbol;mso-ansi-language:EN-US'><span style='mso-list:Ignore'>·<span
style='font:7.0pt "Times New Roman"'> </span></span></span><![endif]><span
lang=EN-US style='mso-ansi-language:EN-US'><a href="#_Design_Goals">Design
Goals</a><o:p></o:p></span></p>
-<p style='margin-left:36.0pt;text-indent:-18.0pt;mso-list:l34 level1 lfo1'><![if !supportLists]><span
+<p style='margin-left:36.0pt;text-indent:-18.0pt;mso-list:l35 level1 lfo1'><![if !supportLists]><span
lang=EN-US style='font-family:Symbol;mso-fareast-font-family:Symbol;mso-bidi-font-family:
Symbol;mso-ansi-language:EN-US'><span style='mso-list:Ignore'>·<span
style='font:7.0pt "Times New Roman"'> </span></span></span><![endif]><span
lang=EN-US style='mso-ansi-language:EN-US'><a href="#_Founding_example">Founding
example</a><o:p></o:p></span></p>
-<p style='margin-left:36.0pt;text-indent:-18.0pt;mso-list:l34 level1 lfo1'><![if !supportLists]><span
+<p style='margin-left:36.0pt;text-indent:-18.0pt;mso-list:l35 level1 lfo1'><![if !supportLists]><span
lang=EN-US style='font-family:Symbol;mso-fareast-font-family:Symbol;mso-bidi-font-family:
Symbol;mso-ansi-language:EN-US'><span style='mso-list:Ignore'>·<span
style='font:7.0pt "Times New Roman"'> </span></span></span><![endif]><span
lang=EN-US style='mso-ansi-language:EN-US'>Rows<o:p></o:p></span></p>
-<p style='margin-left:36.0pt;text-indent:-18.0pt;mso-list:l34 level1 lfo1'><![if !supportLists]><span
+<p style='margin-left:36.0pt;text-indent:-18.0pt;mso-list:l35 level1 lfo1'><![if !supportLists]><span
lang=EN-US style='font-family:Symbol;mso-fareast-font-family:Symbol;mso-bidi-font-family:
Symbol;mso-ansi-language:EN-US'><span style='mso-list:Ignore'>·<span
style='font:7.0pt "Times New Roman"'> </span></span></span><![endif]><span
lang=EN-US style='mso-ansi-language:EN-US'>Tutorials<o:p></o:p></span></p>
-<p style='margin-left:54.0pt;text-indent:-18.0pt;mso-list:l21 level1 lfo2'><![if !supportLists]><span
+<p style='margin-left:54.0pt;text-indent:-18.0pt;mso-list:l22 level1 lfo2'><![if !supportLists]><span
lang=EN-US style='font-family:Symbol;mso-fareast-font-family:Symbol;mso-bidi-font-family:
Symbol;mso-ansi-language:EN-US'><span style='mso-list:Ignore'>·<span
style='font:7.0pt "Times New Roman"'> </span></span></span><![endif]><span
lang=EN-US style='mso-ansi-language:EN-US'><a href="#_Your_first_finite">Your
first finite state machine</a><o:p></o:p></span></p>
-<p style='margin-left:54.0pt;text-indent:-18.0pt;mso-list:l21 level1 lfo2'><![if !supportLists]><span
+<p style='margin-left:54.0pt;text-indent:-18.0pt;mso-list:l22 level1 lfo2'><![if !supportLists]><span
lang=EN-US style='font-family:Symbol;mso-fareast-font-family:Symbol;mso-bidi-font-family:
Symbol;mso-ansi-language:EN-US'><span style='mso-list:Ignore'>·<span
style='font:7.0pt "Times New Roman"'> </span></span></span><![endif]><span
lang=EN-US style='mso-ansi-language:EN-US'><a href="#_A_more_advanced">A more
advanced example</a><o:p></o:p></span></p>
-<p style='margin-left:54.0pt;text-indent:-18.0pt;mso-list:l21 level1 lfo2'><![if !supportLists]><span
+<p style='margin-left:54.0pt;text-indent:-18.0pt;mso-list:l22 level1 lfo2'><![if !supportLists]><span
lang=EN-US style='font-family:Symbol;mso-fareast-font-family:Symbol;mso-bidi-font-family:
Symbol;mso-ansi-language:EN-US'><span style='mso-list:Ignore'>·<span
style='font:7.0pt "Times New Roman"'> </span></span></span><![endif]><span
lang=EN-US style='mso-ansi-language:EN-US'><a href="#_Orthogonal_States_(+Defer">Orthogonal
States (+Defer and Terminate states)</a><o:p></o:p></span></p>
-<p style='margin-left:54.0pt;text-indent:-18.0pt;mso-list:l21 level1 lfo2'><![if !supportLists]><span
+<p style='margin-left:54.0pt;text-indent:-18.0pt;mso-list:l22 level1 lfo2'><![if !supportLists]><span
lang=EN-US style='font-family:Symbol;mso-fareast-font-family:Symbol;mso-bidi-font-family:
Symbol;mso-ansi-language:EN-US'><span style='mso-list:Ignore'>·<span
style='font:7.0pt "Times New Roman"'> </span></span></span><![endif]><span
lang=EN-US style='mso-ansi-language:EN-US'><a href="#_Adding_an_history">Adding
an history</a><o:p></o:p></span></p>
-<p style='margin-left:54.0pt;text-indent:-18.0pt;mso-list:l21 level1 lfo2'><![if !supportLists]><span
+<p style='margin-left:54.0pt;text-indent:-18.0pt;mso-list:l22 level1 lfo2'><![if !supportLists]><span
lang=EN-US style='font-family:Symbol;mso-fareast-font-family:Symbol;mso-bidi-font-family:
Symbol;mso-ansi-language:EN-US'><span style='mso-list:Ignore'>·<span
style='font:7.0pt "Times New Roman"'> </span></span></span><![endif]><span
lang=EN-US style='mso-ansi-language:EN-US'><a href="#_Defining_flags">Using
“flags”</a><o:p></o:p></span></p>
-<p style='margin-left:54.0pt;text-indent:-18.0pt;mso-list:l21 level1 lfo2'><![if !supportLists]><span
+<p style='margin-left:54.0pt;text-indent:-18.0pt;mso-list:l22 level1 lfo2'><![if !supportLists]><span
lang=EN-US style='font-family:Symbol;mso-fareast-font-family:Symbol;mso-bidi-font-family:
Symbol;mso-ansi-language:EN-US'><span style='mso-list:Ignore'>·<span
style='font:7.0pt "Times New Roman"'> </span></span></span><![endif]><span
lang=EN-US style='mso-ansi-language:EN-US'><a href="#_Anonymous_transitions">Anonymous
transitions</a><o:p></o:p></span></p>
-<p style='margin-left:54.0pt;text-indent:-18.0pt;mso-list:l21 level1 lfo2'><![if !supportLists]><span
+<p style='margin-left:54.0pt;text-indent:-18.0pt;mso-list:l22 level1 lfo2'><![if !supportLists]><span
+lang=EN-US style='font-family:Symbol;mso-fareast-font-family:Symbol;mso-bidi-font-family:
+Symbol;mso-ansi-language:EN-US'><span style='mso-list:Ignore'>·<span
+style='font:7.0pt "Times New Roman"'> </span></span></span><![endif]><span
+lang=EN-US style='mso-ansi-language:EN-US'><a href="#_Internal_transitions">Internal
+transitions</a><o:p></o:p></span></p>
+
+<p style='margin-left:54.0pt;text-indent:-18.0pt;mso-list:l22 level1 lfo2'><![if !supportLists]><span
lang=EN-US style='font-family:Symbol;mso-fareast-font-family:Symbol;mso-bidi-font-family:
Symbol;mso-ansi-language:EN-US'><span style='mso-list:Ignore'>·<span
style='font:7.0pt "Times New Roman"'> </span></span></span><![endif]><span
@@ -5117,55 +5118,55 @@
<p style='margin-left:18.0pt'><span lang=EN-US style='mso-ansi-language:EN-US'><a
href="#_Advanced">Advanced</a><o:p></o:p></span></p>
-<p style='margin-left:54.0pt;text-indent:-18.0pt;mso-list:l29 level1 lfo3'><![if !supportLists]><span
+<p style='margin-left:54.0pt;text-indent:-18.0pt;mso-list:l30 level1 lfo3'><![if !supportLists]><span
lang=EN-US style='font-family:Symbol;mso-fareast-font-family:Symbol;mso-bidi-font-family:
Symbol;mso-ansi-language:EN-US'><span style='mso-list:Ignore'>·<span
style='font:7.0pt "Times New Roman"'> </span></span></span><![endif]><span
lang=EN-US style='mso-ansi-language:EN-US'><a href="#_Conflicting_Transitions">Conflicting
Transitions</a><o:p></o:p></span></p>
-<p style='margin-left:54.0pt;text-indent:-18.0pt;mso-list:l29 level1 lfo3'><![if !supportLists]><span
+<p style='margin-left:54.0pt;text-indent:-18.0pt;mso-list:l30 level1 lfo3'><![if !supportLists]><span
lang=EN-US style='font-family:Symbol;mso-fareast-font-family:Symbol;mso-bidi-font-family:
Symbol;mso-ansi-language:EN-US'><span style='mso-list:Ignore'>·<span
style='font:7.0pt "Times New Roman"'> </span></span></span><![endif]><span
lang=EN-US style='mso-ansi-language:EN-US'><a href="#_Containing_state_machine">Containing
state machine</a><o:p></o:p></span></p>
-<p style='margin-left:54.0pt;text-indent:-18.0pt;mso-list:l29 level1 lfo3'><![if !supportLists]><span
+<p style='margin-left:54.0pt;text-indent:-18.0pt;mso-list:l30 level1 lfo3'><![if !supportLists]><span
lang=EN-US style='font-family:Symbol;mso-fareast-font-family:Symbol;mso-bidi-font-family:
Symbol;mso-ansi-language:EN-US'><span style='mso-list:Ignore'>·<span
style='font:7.0pt "Times New Roman"'> </span></span></span><![endif]><span
lang=EN-US style='mso-ansi-language:EN-US'><a href="#_Getting_a_pointer">Getting
a pointer to a state</a><o:p></o:p></span></p>
-<p style='margin-left:54.0pt;text-indent:-18.0pt;mso-list:l29 level1 lfo3'><![if !supportLists]><span
+<p style='margin-left:54.0pt;text-indent:-18.0pt;mso-list:l30 level1 lfo3'><![if !supportLists]><span
lang=EN-US style='font-family:Symbol;mso-fareast-font-family:Symbol;mso-bidi-font-family:
Symbol;mso-ansi-language:EN-US'><span style='mso-list:Ignore'>·<span
style='font:7.0pt "Times New Roman"'> </span></span></span><![endif]><span
lang=EN-US style='mso-ansi-language:EN-US'>Exceptions<o:p></o:p></span></p>
-<p style='margin-left:54.0pt;text-indent:-18.0pt;mso-list:l29 level1 lfo3'><![if !supportLists]><span
+<p style='margin-left:54.0pt;text-indent:-18.0pt;mso-list:l30 level1 lfo3'><![if !supportLists]><span
lang=EN-US style='font-family:Symbol;mso-fareast-font-family:Symbol;mso-bidi-font-family:
Symbol;mso-ansi-language:EN-US'><span style='mso-list:Ignore'>·<span
style='font:7.0pt "Times New Roman"'> </span></span></span><![endif]><span
lang=EN-US style='mso-ansi-language:EN-US'><a href="#_Helpers_methods">Helpers
methods</a><o:p></o:p></span></p>
-<p style='margin-left:54.0pt;text-indent:-18.0pt;mso-list:l29 level1 lfo3'><![if !supportLists]><span
+<p style='margin-left:54.0pt;text-indent:-18.0pt;mso-list:l30 level1 lfo3'><![if !supportLists]><span
lang=EN-US style='font-family:Symbol;mso-fareast-font-family:Symbol;mso-bidi-font-family:
Symbol;mso-ansi-language:EN-US'><span style='mso-list:Ignore'>·<span
style='font:7.0pt "Times New Roman"'> </span></span></span><![endif]><span
lang=EN-US style='mso-ansi-language:EN-US'><a href="#_Getting_more_speed">Getting
more speed</a><o:p></o:p></span></p>
-<p style='margin-left:54.0pt;text-indent:-18.0pt;mso-list:l29 level1 lfo3'><![if !supportLists]><span
+<p style='margin-left:54.0pt;text-indent:-18.0pt;mso-list:l30 level1 lfo3'><![if !supportLists]><span
lang=EN-US style='font-family:Symbol;mso-fareast-font-family:Symbol;mso-bidi-font-family:
Symbol;mso-ansi-language:EN-US'><span style='mso-list:Ignore'>·<span
style='font:7.0pt "Times New Roman"'> </span></span></span><![endif]><span
lang=EN-US style='mso-ansi-language:EN-US'><a href="#_Processing_events_inside">Processing
events inside from within the front-end</a><o:p></o:p></span></p>
-<p style='margin-left:54.0pt;text-indent:-18.0pt;mso-list:l29 level1 lfo3'><![if !supportLists]><span
+<p style='margin-left:54.0pt;text-indent:-18.0pt;mso-list:l30 level1 lfo3'><![if !supportLists]><span
lang=EN-US style='font-family:Symbol;mso-fareast-font-family:Symbol;mso-bidi-font-family:
Symbol;mso-ansi-language:EN-US'><span style='mso-list:Ignore'>·<span
style='font:7.0pt "Times New Roman"'> </span></span></span><![endif]><span
@@ -5175,14 +5176,14 @@
<p style='margin-left:18.0pt'><span lang=EN-US style='mso-ansi-language:EN-US'><a
href="#_Customizing_states">Customizing states</a><o:p></o:p></span></p>
-<p style='margin-left:54.0pt;text-indent:-18.0pt;mso-list:l17 level1 lfo4'><![if !supportLists]><span
+<p style='margin-left:54.0pt;text-indent:-18.0pt;mso-list:l18 level1 lfo4'><![if !supportLists]><span
lang=EN-US style='font-family:Symbol;mso-fareast-font-family:Symbol;mso-bidi-font-family:
Symbol;mso-ansi-language:EN-US'><span style='mso-list:Ignore'>·<span
style='font:7.0pt "Times New Roman"'> </span></span></span><![endif]><span
lang=EN-US style='mso-ansi-language:EN-US'><a href="#_User-defined_base_state">User-defined
base state / Polymorphic states</a><o:p></o:p></span></p>
-<p style='margin-left:54.0pt;text-indent:-18.0pt;mso-list:l17 level1 lfo4'><![if !supportLists]><span
+<p style='margin-left:54.0pt;text-indent:-18.0pt;mso-list:l18 level1 lfo4'><![if !supportLists]><span
lang=EN-US style='font-family:Symbol;mso-fareast-font-family:Symbol;mso-bidi-font-family:
Symbol;mso-ansi-language:EN-US'><span style='mso-list:Ignore'>·<span
style='font:7.0pt "Times New Roman"'> </span></span></span><![endif]><span
@@ -5192,89 +5193,96 @@
<p><span lang=EN-US style='mso-ansi-language:EN-US'><a href="#_New_Msm_v2.0">New
Msm v2.0 Features</a> <o:p></o:p></span></p>
-<p style='margin-left:36.0pt;text-indent:-18.0pt;mso-list:l23 level1 lfo5'><![if !supportLists]><span
+<p style='margin-left:36.0pt;text-indent:-18.0pt;mso-list:l24 level1 lfo5'><![if !supportLists]><span
lang=EN-US style='font-family:Symbol;mso-fareast-font-family:Symbol;mso-bidi-font-family:
Symbol;mso-ansi-language:EN-US'><span style='mso-list:Ignore'>·<span
style='font:7.0pt "Times New Roman"'> </span></span></span><![endif]><span
lang=EN-US style='mso-ansi-language:EN-US'>Frontends<o:p></o:p></span></p>
-<p style='margin-left:36.0pt;text-indent:-18.0pt;mso-list:l23 level1 lfo5'><![if !supportLists]><span
+<p style='margin-left:36.0pt;text-indent:-18.0pt;mso-list:l24 level1 lfo5'><![if !supportLists]><span
lang=EN-US style='font-family:Symbol;mso-fareast-font-family:Symbol;mso-bidi-font-family:
Symbol;mso-ansi-language:EN-US'><span style='mso-list:Ignore'>·<span
style='font:7.0pt "Times New Roman"'> </span></span></span><![endif]><span
lang=EN-US style='mso-ansi-language:EN-US'><a href="#_Functor_rows">Functor
rows</a><o:p></o:p></span></p>
-<p style='margin-left:36.0pt;text-indent:-18.0pt;mso-list:l23 level1 lfo5'><![if !supportLists]><span
+<p style='margin-left:36.0pt;text-indent:-18.0pt;mso-list:l24 level1 lfo5'><![if !supportLists]><span
lang=EN-US style='font-family:Symbol;mso-fareast-font-family:Symbol;mso-bidi-font-family:
Symbol;mso-ansi-language:EN-US'><span style='mso-list:Ignore'>·<span
style='font:7.0pt "Times New Roman"'> </span></span></span><![endif]><span
lang=EN-US style='mso-ansi-language:EN-US'>eUML<o:p></o:p></span></p>
-<p style='margin-left:72.0pt;text-indent:-18.0pt;mso-list:l23 level2 lfo5;
+<p style='margin-left:72.0pt;text-indent:-18.0pt;mso-list:l24 level2 lfo5;
tab-stops:list 72.0pt'><![if !supportLists]><span lang=EN-US style='font-family:
Symbol;mso-fareast-font-family:Symbol;mso-bidi-font-family:Symbol;mso-ansi-language:
EN-US'><span style='mso-list:Ignore'>·<span style='font:7.0pt "Times New Roman"'>
</span></span></span><![endif]><span lang=EN-US style='mso-ansi-language:EN-US'><a
href="#_Transition_table">Transition table</a><o:p></o:p></span></p>
-<p style='margin-left:72.0pt;text-indent:-18.0pt;mso-list:l23 level2 lfo5;
+<p style='margin-left:72.0pt;text-indent:-18.0pt;mso-list:l24 level2 lfo5;
tab-stops:list 72.0pt'><![if !supportLists]><span lang=EN-US style='font-family:
Symbol;mso-fareast-font-family:Symbol;mso-bidi-font-family:Symbol;mso-ansi-language:
EN-US'><span style='mso-list:Ignore'>·<span style='font:7.0pt "Times New Roman"'>
</span></span></span><![endif]><span lang=EN-US style='mso-ansi-language:EN-US'><a
href="#_Defining_a_state">Defining a state with entry/exit functors</a><o:p></o:p></span></p>
-<p style='margin-left:72.0pt;text-indent:-18.0pt;mso-list:l23 level2 lfo5;
+<p style='margin-left:72.0pt;text-indent:-18.0pt;mso-list:l24 level2 lfo5;
tab-stops:list 72.0pt'><![if !supportLists]><span lang=EN-US style='font-family:
Symbol;mso-fareast-font-family:Symbol;mso-bidi-font-family:Symbol;mso-ansi-language:
EN-US'><span style='mso-list:Ignore'>·<span style='font:7.0pt "Times New Roman"'>
</span></span></span><![endif]><span lang=EN-US style='mso-ansi-language:EN-US'><a
href="#_Defining_a_state_1">Defining a simple state machine</a><o:p></o:p></span></p>
-<p style='margin-left:72.0pt;text-indent:-18.0pt;mso-list:l23 level2 lfo5;
+<p style='margin-left:72.0pt;text-indent:-18.0pt;mso-list:l24 level2 lfo5;
tab-stops:list 72.0pt'><![if !supportLists]><span lang=EN-US style='font-family:
Symbol;mso-fareast-font-family:Symbol;mso-bidi-font-family:Symbol;mso-ansi-language:
EN-US'><span style='mso-list:Ignore'>·<span style='font:7.0pt "Times New Roman"'>
</span></span></span><![endif]><span lang=EN-US style='mso-ansi-language:EN-US'><a
href="#_Defining_a_composite">Defining a composite state machine</a><o:p></o:p></span></p>
-<p style='margin-left:72.0pt;text-indent:-18.0pt;mso-list:l23 level2 lfo5;
+<p style='margin-left:72.0pt;text-indent:-18.0pt;mso-list:l24 level2 lfo5;
tab-stops:list 72.0pt'><![if !supportLists]><span lang=EN-US style='font-family:
Symbol;mso-fareast-font-family:Symbol;mso-bidi-font-family:Symbol;mso-ansi-language:
EN-US'><span style='mso-list:Ignore'>·<span style='font:7.0pt "Times New Roman"'>
</span></span></span><![endif]><span lang=EN-US style='mso-ansi-language:EN-US'><a
href="#_Anonymous_transitions_1">Anonymous transitions</a><o:p></o:p></span></p>
-<p style='margin-left:72.0pt;text-indent:-18.0pt;mso-list:l23 level2 lfo5;
+<p style='margin-left:72.0pt;text-indent:-18.0pt;mso-list:l24 level2 lfo5;
+tab-stops:list 72.0pt'><![if !supportLists]><span lang=EN-US style='font-family:
+Symbol;mso-fareast-font-family:Symbol;mso-bidi-font-family:Symbol;mso-ansi-language:
+EN-US'><span style='mso-list:Ignore'>·<span style='font:7.0pt "Times New Roman"'>
+</span></span></span><![endif]><span lang=EN-US style='mso-ansi-language:EN-US'><a
+href="#_Internal_transitions_1">Internal transitions</a><o:p></o:p></span></p>
+
+<p style='margin-left:72.0pt;text-indent:-18.0pt;mso-list:l24 level2 lfo5;
tab-stops:list 72.0pt'><![if !supportLists]><span lang=EN-US style='font-family:
Symbol;mso-fareast-font-family:Symbol;mso-bidi-font-family:Symbol;mso-ansi-language:
EN-US'><span style='mso-list:Ignore'>·<span style='font:7.0pt "Times New Roman"'>
</span></span></span><![endif]><span lang=EN-US style='mso-ansi-language:EN-US'><a
href="#_Fork">Fork</a><o:p></o:p></span></p>
-<p style='margin-left:72.0pt;text-indent:-18.0pt;mso-list:l23 level2 lfo5;
+<p style='margin-left:72.0pt;text-indent:-18.0pt;mso-list:l24 level2 lfo5;
tab-stops:list 72.0pt'><![if !supportLists]><span lang=EN-US style='font-family:
Symbol;mso-fareast-font-family:Symbol;mso-bidi-font-family:Symbol;mso-ansi-language:
EN-US'><span style='mso-list:Ignore'>·<span style='font:7.0pt "Times New Roman"'>
</span></span></span><![endif]><span lang=EN-US style='mso-ansi-language:EN-US'><a
href="#_Defining_attributes">Defining attributes</a><o:p></o:p></span></p>
-<p style='margin-left:72.0pt;text-indent:-18.0pt;mso-list:l23 level2 lfo5;
+<p style='margin-left:72.0pt;text-indent:-18.0pt;mso-list:l24 level2 lfo5;
tab-stops:list 72.0pt'><![if !supportLists]><span lang=EN-US style='font-family:
Symbol;mso-fareast-font-family:Symbol;mso-bidi-font-family:Symbol;mso-ansi-language:
EN-US'><span style='mso-list:Ignore'>·<span style='font:7.0pt "Times New Roman"'>
</span></span></span><![endif]><span lang=EN-US style='mso-ansi-language:EN-US'><a
href="#_Defining_flags">Defining flags</a><o:p></o:p></span></p>
-<p style='margin-left:72.0pt;text-indent:-18.0pt;mso-list:l23 level2 lfo5;
+<p style='margin-left:72.0pt;text-indent:-18.0pt;mso-list:l24 level2 lfo5;
tab-stops:list 72.0pt'><![if !supportLists]><span lang=EN-US style='font-family:
Symbol;mso-fareast-font-family:Symbol;mso-bidi-font-family:Symbol;mso-ansi-language:
EN-US'><span style='mso-list:Ignore'>·<span style='font:7.0pt "Times New Roman"'>
</span></span></span><![endif]><span lang=EN-US style='mso-ansi-language:EN-US'><a
href="#_Defining_deferred_events">Defining deferred events</a><o:p></o:p></span></p>
-<p style='margin-left:72.0pt;text-indent:-18.0pt;mso-list:l23 level2 lfo5;
+<p style='margin-left:72.0pt;text-indent:-18.0pt;mso-list:l24 level2 lfo5;
tab-stops:list 72.0pt'><![if !supportLists]><span lang=EN-US style='font-family:
Symbol;mso-fareast-font-family:Symbol;mso-bidi-font-family:Symbol;mso-ansi-language:
EN-US'><span style='mso-list:Ignore'>·<span style='font:7.0pt "Times New Roman"'>
@@ -5282,14 +5290,14 @@
href="#_Customizing_a_state">Customizing a state machine</a> <a
href="#_Customizing_a_state">/ getting more speed</a><o:p></o:p></span></p>
-<p style='margin-left:72.0pt;text-indent:-18.0pt;mso-list:l23 level2 lfo5;
+<p style='margin-left:72.0pt;text-indent:-18.0pt;mso-list:l24 level2 lfo5;
tab-stops:list 72.0pt'><![if !supportLists]><span lang=EN-US style='font-family:
Symbol;mso-fareast-font-family:Symbol;mso-bidi-font-family:Symbol;mso-ansi-language:
EN-US'><span style='mso-list:Ignore'>·<span style='font:7.0pt "Times New Roman"'>
</span></span></span><![endif]><span lang=EN-US style='mso-ansi-language:EN-US'><a
href="#_Wrapping_it_up">Operators</a><o:p></o:p></span></p>
-<p style='margin-left:72.0pt;text-indent:-18.0pt;mso-list:l23 level2 lfo5;
+<p style='margin-left:72.0pt;text-indent:-18.0pt;mso-list:l24 level2 lfo5;
tab-stops:list 72.0pt'><![if !supportLists]><span lang=EN-US style='font-family:
Symbol;mso-fareast-font-family:Symbol;mso-bidi-font-family:Symbol;mso-ansi-language:
EN-US'><span style='mso-list:Ignore'>·<span style='font:7.0pt "Times New Roman"'>
@@ -5297,14 +5305,14 @@
href="#_Adding_STL_support">Adding functional programming and
boost::phoenix-like STL support</a><o:p></o:p></span></p>
-<p style='margin-left:72.0pt;text-indent:-18.0pt;mso-list:l23 level2 lfo5;
+<p style='margin-left:72.0pt;text-indent:-18.0pt;mso-list:l24 level2 lfo5;
tab-stops:list 72.0pt'><![if !supportLists]><span lang=EN-US style='font-family:
Symbol;mso-fareast-font-family:Symbol;mso-bidi-font-family:Symbol;mso-ansi-language:
EN-US'><span style='mso-list:Ignore'>·<span style='font:7.0pt "Times New Roman"'>
</span></span></span><![endif]><span lang=EN-US style='mso-ansi-language:EN-US'><a
href="#_Binding_to_a">Binding to a function or method</a><o:p></o:p></span></p>
-<p style='margin-left:72.0pt;text-indent:-18.0pt;mso-list:l23 level2 lfo5;
+<p style='margin-left:72.0pt;text-indent:-18.0pt;mso-list:l24 level2 lfo5;
tab-stops:list 72.0pt'><![if !supportLists]><span lang=EN-US style='font-family:
Symbol;mso-fareast-font-family:Symbol;mso-bidi-font-family:Symbol;mso-ansi-language:
EN-US'><span style='mso-list:Ignore'>·<span style='font:7.0pt "Times New Roman"'>
@@ -5363,7 +5371,7 @@
Template Metaprogramming” and adds most of what UML Designers are
expecting from an UML State Machine framework:<o:p></o:p></span></p>
-<p style='margin-left:36.0pt;text-indent:-18.0pt;mso-list:l40 level1 lfo7;
+<p style='margin-left:36.0pt;text-indent:-18.0pt;mso-list:l41 level1 lfo7;
tab-stops:list 36.0pt'><![if !supportLists]><span lang=EN-US style='font-size:
10.0pt;mso-bidi-font-size:12.0pt;font-family:Symbol;mso-fareast-font-family:
Symbol;mso-bidi-font-family:Symbol;mso-ansi-language:EN-US'><span
@@ -5371,7 +5379,7 @@
</span></span></span><![endif]><span lang=EN-US style='mso-ansi-language:EN-US'>Entry
and Exit Methods<o:p></o:p></span></p>
-<p style='margin-left:36.0pt;text-indent:-18.0pt;mso-list:l40 level1 lfo7;
+<p style='margin-left:36.0pt;text-indent:-18.0pt;mso-list:l41 level1 lfo7;
tab-stops:list 36.0pt'><![if !supportLists]><span lang=EN-US style='font-size:
10.0pt;mso-bidi-font-size:12.0pt;font-family:Symbol;mso-fareast-font-family:
Symbol;mso-bidi-font-family:Symbol;mso-ansi-language:EN-US'><span
@@ -5379,7 +5387,7 @@
</span></span></span><![endif]><span lang=EN-US style='mso-ansi-language:EN-US'>Guard
Conditions<o:p></o:p></span></p>
-<p style='margin-left:36.0pt;text-indent:-18.0pt;mso-list:l40 level1 lfo7;
+<p style='margin-left:36.0pt;text-indent:-18.0pt;mso-list:l41 level1 lfo7;
tab-stops:list 36.0pt'><![if !supportLists]><span lang=EN-US style='font-size:
10.0pt;mso-bidi-font-size:12.0pt;font-family:Symbol;mso-fareast-font-family:
Symbol;mso-bidi-font-family:Symbol;mso-ansi-language:EN-US'><span
@@ -5387,14 +5395,14 @@
</span></span></span><![endif]><span lang=EN-US style='mso-ansi-language:EN-US'>Sub
state machines (also called composite states in UML)<o:p></o:p></span></p>
-<p style='margin-left:36.0pt;text-indent:-18.0pt;mso-list:l40 level1 lfo7;
+<p style='margin-left:36.0pt;text-indent:-18.0pt;mso-list:l41 level1 lfo7;
tab-stops:list 36.0pt'><![if !supportLists]><span lang=EN-US style='font-size:
10.0pt;mso-bidi-font-size:12.0pt;font-family:Symbol;mso-fareast-font-family:
Symbol;mso-bidi-font-family:Symbol;mso-ansi-language:EN-US'><span
style='mso-list:Ignore'>·<span style='font:7.0pt "Times New Roman"'>
</span></span></span><![endif]><span lang=EN-US style='mso-ansi-language:EN-US'>History<o:p></o:p></span></p>
-<p style='margin-left:36.0pt;text-indent:-18.0pt;mso-list:l40 level1 lfo7;
+<p style='margin-left:36.0pt;text-indent:-18.0pt;mso-list:l41 level1 lfo7;
tab-stops:list 36.0pt'><![if !supportLists]><span lang=EN-US style='font-size:
10.0pt;mso-bidi-font-size:12.0pt;font-family:Symbol;mso-fareast-font-family:
Symbol;mso-bidi-font-family:Symbol;mso-ansi-language:EN-US'><span
@@ -5402,7 +5410,7 @@
</span></span></span><![endif]><span lang=EN-US style='mso-ansi-language:EN-US'>Terminate
Pseudo-State<o:p></o:p></span></p>
-<p style='margin-left:36.0pt;text-indent:-18.0pt;mso-list:l40 level1 lfo7;
+<p style='margin-left:36.0pt;text-indent:-18.0pt;mso-list:l41 level1 lfo7;
tab-stops:list 36.0pt'><![if !supportLists]><span lang=EN-US style='font-size:
10.0pt;mso-bidi-font-size:12.0pt;font-family:Symbol;mso-fareast-font-family:
Symbol;mso-bidi-font-family:Symbol;mso-ansi-language:EN-US'><span
@@ -5410,7 +5418,7 @@
</span></span></span><![endif]><span lang=EN-US style='mso-ansi-language:EN-US'>Deferred
Events<o:p></o:p></span></p>
-<p style='margin-left:36.0pt;text-indent:-18.0pt;mso-list:l40 level1 lfo7;
+<p style='margin-left:36.0pt;text-indent:-18.0pt;mso-list:l41 level1 lfo7;
tab-stops:list 36.0pt'><![if !supportLists]><span lang=EN-US style='font-size:
10.0pt;mso-bidi-font-size:12.0pt;font-family:Symbol;mso-fareast-font-family:
Symbol;mso-bidi-font-family:Symbol;mso-ansi-language:EN-US'><span
@@ -5418,7 +5426,7 @@
</span></span></span><![endif]><span lang=EN-US style='mso-ansi-language:EN-US'>Orthogonal
regions (also called and-states)<o:p></o:p></span></p>
-<p style='margin-left:36.0pt;text-indent:-18.0pt;mso-list:l40 level1 lfo7;
+<p style='margin-left:36.0pt;text-indent:-18.0pt;mso-list:l41 level1 lfo7;
tab-stops:list 36.0pt'><![if !supportLists]><span lang=EN-US style='font-size:
10.0pt;mso-bidi-font-size:12.0pt;font-family:Symbol;mso-fareast-font-family:
Symbol;mso-bidi-font-family:Symbol;mso-ansi-language:EN-US'><span
@@ -5426,14 +5434,14 @@
</span></span></span><![endif]><span lang=EN-US style='mso-ansi-language:EN-US'>Explicit
entry into sub state machine states<o:p></o:p></span></p>
-<p style='margin-left:36.0pt;text-indent:-18.0pt;mso-list:l40 level1 lfo7;
+<p style='margin-left:36.0pt;text-indent:-18.0pt;mso-list:l41 level1 lfo7;
tab-stops:list 36.0pt'><![if !supportLists]><span lang=EN-US style='font-size:
10.0pt;mso-bidi-font-size:12.0pt;font-family:Symbol;mso-fareast-font-family:
Symbol;mso-bidi-font-family:Symbol;mso-ansi-language:EN-US'><span
style='mso-list:Ignore'>·<span style='font:7.0pt "Times New Roman"'>
</span></span></span><![endif]><span lang=EN-US style='mso-ansi-language:EN-US'>Fork<o:p></o:p></span></p>
-<p style='margin-left:36.0pt;text-indent:-18.0pt;mso-list:l40 level1 lfo7;
+<p style='margin-left:36.0pt;text-indent:-18.0pt;mso-list:l41 level1 lfo7;
tab-stops:list 36.0pt'><![if !supportLists]><span lang=EN-US style='font-size:
10.0pt;mso-bidi-font-size:12.0pt;font-family:Symbol;mso-fareast-font-family:
Symbol;mso-bidi-font-family:Symbol;mso-ansi-language:EN-US'><span
@@ -5441,7 +5449,7 @@
</span></span></span><![endif]><span lang=EN-US style='mso-ansi-language:EN-US'>Entry
/ Exit pseudo states<o:p></o:p></span></p>
-<p style='margin-left:36.0pt;text-indent:-18.0pt;mso-list:l40 level1 lfo7;
+<p style='margin-left:36.0pt;text-indent:-18.0pt;mso-list:l41 level1 lfo7;
tab-stops:list 36.0pt'><![if !supportLists]><span lang=EN-US style='font-size:
10.0pt;mso-bidi-font-size:12.0pt;font-family:Symbol;mso-fareast-font-family:
Symbol;mso-bidi-font-family:Symbol;mso-ansi-language:EN-US'><span
@@ -5449,7 +5457,7 @@
</span></span></span><![endif]><span lang=EN-US style='mso-ansi-language:EN-US'>Automatic
handling of conflicting transitions<o:p></o:p></span></p>
-<p style='margin-left:36.0pt;text-indent:-18.0pt;mso-list:l40 level1 lfo7;
+<p style='margin-left:36.0pt;text-indent:-18.0pt;mso-list:l41 level1 lfo7;
tab-stops:list 36.0pt'><![if !supportLists]><span lang=EN-US style='font-size:
10.0pt;mso-bidi-font-size:12.0pt;font-family:Symbol;mso-fareast-font-family:
Symbol;mso-bidi-font-family:Symbol;mso-ansi-language:EN-US'><span
@@ -5462,7 +5470,7 @@
<p><span lang=EN-US style='mso-ansi-language:EN-US'>Additional features, absent
from the UML specification but nevertheless relevant were also implemented:<o:p></o:p></span></p>
-<p style='margin-left:36.0pt;text-indent:-18.0pt;mso-list:l12 level1 lfo8;
+<p style='margin-left:36.0pt;text-indent:-18.0pt;mso-list:l13 level1 lfo8;
tab-stops:list 36.0pt'><![if !supportLists]><span lang=EN-US style='font-size:
10.0pt;mso-bidi-font-size:12.0pt;font-family:Symbol;mso-fareast-font-family:
Symbol;mso-bidi-font-family:Symbol;mso-ansi-language:EN-US'><span
@@ -5470,7 +5478,7 @@
</span></span></span><![endif]><span lang=EN-US style='mso-ansi-language:EN-US'>Event
Queue<o:p></o:p></span></p>
-<p style='margin-left:36.0pt;text-indent:-18.0pt;mso-list:l12 level1 lfo8;
+<p style='margin-left:36.0pt;text-indent:-18.0pt;mso-list:l13 level1 lfo8;
tab-stops:list 36.0pt'><![if !supportLists]><span lang=EN-US style='font-size:
10.0pt;mso-bidi-font-size:12.0pt;font-family:Symbol;mso-fareast-font-family:
Symbol;mso-bidi-font-family:Symbol;mso-ansi-language:EN-US'><span
@@ -5479,7 +5487,7 @@
new concept named “flags”. This can be seen as an alternative to
Boost.Statechart’s state_downcast<o:p></o:p></span></p>
-<p style='margin-left:36.0pt;text-indent:-18.0pt;mso-list:l12 level1 lfo8;
+<p style='margin-left:36.0pt;text-indent:-18.0pt;mso-list:l13 level1 lfo8;
tab-stops:list 36.0pt'><![if !supportLists]><span lang=EN-US style='font-size:
10.0pt;mso-bidi-font-size:12.0pt;font-family:Symbol;mso-fareast-font-family:
Symbol;mso-bidi-font-family:Symbol;mso-ansi-language:EN-US'><span
@@ -5487,7 +5495,7 @@
</span></span></span><![endif]><span lang=EN-US style='mso-ansi-language:EN-US'>Interrupted
Pseudo-State. A kind of Terminate pseudo-state which can still be left.<o:p></o:p></span></p>
-<p style='margin-left:36.0pt;text-indent:-18.0pt;mso-list:l12 level1 lfo8;
+<p style='margin-left:36.0pt;text-indent:-18.0pt;mso-list:l13 level1 lfo8;
tab-stops:list 36.0pt'><![if !supportLists]><span lang=EN-US style='font-size:
10.0pt;mso-bidi-font-size:12.0pt;font-family:Symbol;mso-fareast-font-family:
Symbol;mso-bidi-font-family:Symbol;mso-ansi-language:EN-US'><span
@@ -5549,7 +5557,7 @@
mso-wrap-style:square'>
<v:imagedata src="index-Dateien/image001.jpg" o:title="Transition"/>
</v:shape><![endif]--><![if !vml]><img border=0 width=202 height=96
-src="index-Dateien/image002.jpg" alt=Transition.jpg v:shapes="Grafik_x0020_16"><![endif]></span><span
+src="index-Dateien/image027.jpg" alt=Transition.jpg v:shapes="Grafik_x0020_16"><![endif]></span><span
lang=EN-US style='mso-ansi-language:EN-US'><o:p></o:p></span></p>
<p style='margin-bottom:12.0pt'><span lang=EN-US style='mso-ansi-language:EN-US'>Where
@@ -5593,7 +5601,7 @@
<p><span lang=EN-US style='mso-ansi-language:EN-US'>Changes from 1.20 to 2.0<o:p></o:p></span></p>
<p style='margin-top:5.0pt;margin-right:0cm;margin-bottom:12.0pt;margin-left:
-36.0pt;text-indent:-18.0pt;mso-list:l24 level1 lfo9'><![if !supportLists]><span
+36.0pt;text-indent:-18.0pt;mso-list:l25 level1 lfo9'><![if !supportLists]><span
lang=EN-US style='font-family:Symbol;mso-fareast-font-family:Symbol;mso-bidi-font-family:
Symbol;mso-ansi-language:EN-US'><span style='mso-list:Ignore'>·<span
style='font:7.0pt "Times New Roman"'> </span></span></span><![endif]><span
@@ -5601,7 +5609,7 @@
and backend.<o:p></o:p></span></p>
<p style='margin-top:5.0pt;margin-right:0cm;margin-bottom:12.0pt;margin-left:
-36.0pt;text-indent:-18.0pt;mso-list:l24 level1 lfo9'><![if !supportLists]><span
+36.0pt;text-indent:-18.0pt;mso-list:l25 level1 lfo9'><![if !supportLists]><span
lang=EN-US style='font-family:Symbol;mso-fareast-font-family:Symbol;mso-bidi-font-family:
Symbol;mso-ansi-language:EN-US'><span style='mso-list:Ignore'>·<span
style='font:7.0pt "Times New Roman"'> </span></span></span><![endif]><span
@@ -5611,7 +5619,7 @@
deferred events queues)<o:p></o:p></span></p>
<p style='margin-top:5.0pt;margin-right:0cm;margin-bottom:12.0pt;margin-left:
-36.0pt;text-indent:-18.0pt;mso-list:l24 level1 lfo9'><![if !supportLists]><span
+36.0pt;text-indent:-18.0pt;mso-list:l25 level1 lfo9'><![if !supportLists]><span
lang=EN-US style='font-family:Symbol;mso-fareast-font-family:Symbol;mso-bidi-font-family:
Symbol;mso-ansi-language:EN-US'><span style='mso-list:Ignore'>·<span
style='font:7.0pt "Times New Roman"'> </span></span></span><![endif]><span
@@ -5619,7 +5627,7 @@
effect of data locality in a fusion vector)<o:p></o:p></span></p>
<p style='margin-top:5.0pt;margin-right:0cm;margin-bottom:12.0pt;margin-left:
-36.0pt;text-indent:-18.0pt;mso-list:l24 level1 lfo9'><![if !supportLists]><span
+36.0pt;text-indent:-18.0pt;mso-list:l25 level1 lfo9'><![if !supportLists]><span
lang=EN-US style='font-family:Symbol;mso-fareast-font-family:Symbol;mso-bidi-font-family:
Symbol;mso-ansi-language:EN-US'><span style='mso-list:Ignore'>·<span
style='font:7.0pt "Times New Roman"'> </span></span></span><![endif]><span
@@ -5627,7 +5635,7 @@
functors instead of functions for guards and action methods.<o:p></o:p></span></p>
<p style='margin-top:5.0pt;margin-right:0cm;margin-bottom:12.0pt;margin-left:
-36.0pt;text-indent:-18.0pt;mso-list:l24 level1 lfo9'><![if !supportLists]><span
+36.0pt;text-indent:-18.0pt;mso-list:l25 level1 lfo9'><![if !supportLists]><span
lang=EN-US style='font-family:Symbol;mso-fareast-font-family:Symbol;mso-bidi-font-family:
Symbol;mso-ansi-language:EN-US'><span style='mso-list:Ignore'>·<span
style='font:7.0pt "Times New Roman"'> </span></span></span><![endif]><span
@@ -5635,7 +5643,7 @@
domain-specific-embedded language.<o:p></o:p></span></p>
<p style='margin-top:5.0pt;margin-right:0cm;margin-bottom:12.0pt;margin-left:
-36.0pt;text-indent:-18.0pt;mso-list:l24 level1 lfo9'><![if !supportLists]><span
+36.0pt;text-indent:-18.0pt;mso-list:l25 level1 lfo9'><![if !supportLists]><span
lang=EN-US style='font-family:Symbol;mso-fareast-font-family:Symbol;mso-bidi-font-family:
Symbol;mso-ansi-language:EN-US'><span style='mso-list:Ignore'>·<span
style='font:7.0pt "Times New Roman"'> </span></span></span><![endif]><span
@@ -5643,7 +5651,7 @@
state machines.<o:p></o:p></span></p>
<p style='margin-top:5.0pt;margin-right:0cm;margin-bottom:12.0pt;margin-left:
-36.0pt;text-indent:-18.0pt;mso-list:l24 level1 lfo9'><![if !supportLists]><span
+36.0pt;text-indent:-18.0pt;mso-list:l25 level1 lfo9'><![if !supportLists]><span
lang=EN-US style='font-family:Symbol;mso-fareast-font-family:Symbol;mso-bidi-font-family:
Symbol;mso-ansi-language:EN-US'><span style='mso-list:Ignore'>·<span
style='font:7.0pt "Times New Roman"'> </span></span></span><![endif]><span
@@ -5651,7 +5659,7 @@
pseudo states.<o:p></o:p></span></p>
<p style='margin-top:5.0pt;margin-right:0cm;margin-bottom:12.0pt;margin-left:
-36.0pt;text-indent:-18.0pt;mso-list:l24 level1 lfo9'><![if !supportLists]><span
+36.0pt;text-indent:-18.0pt;mso-list:l25 level1 lfo9'><![if !supportLists]><span
lang=EN-US style='font-family:Symbol;mso-fareast-font-family:Symbol;mso-bidi-font-family:
Symbol;mso-ansi-language:EN-US'><span style='mso-list:Ignore'>·<span
style='font:7.0pt "Times New Roman"'> </span></span></span><![endif]><span
@@ -5659,7 +5667,7 @@
for more reuse possibilities.<o:p></o:p></span></p>
<p style='margin-top:5.0pt;margin-right:0cm;margin-bottom:12.0pt;margin-left:
-36.0pt;text-indent:-18.0pt;mso-list:l24 level1 lfo9'><![if !supportLists]><span
+36.0pt;text-indent:-18.0pt;mso-list:l25 level1 lfo9'><![if !supportLists]><span
lang=EN-US style='font-family:Symbol;mso-fareast-font-family:Symbol;mso-bidi-font-family:
Symbol;mso-ansi-language:EN-US'><span style='mso-list:Ignore'>·<span
style='font:7.0pt "Times New Roman"'> </span></span></span><![endif]><span
@@ -5668,7 +5676,7 @@
copying.<o:p></o:p></span></p>
<p style='margin-top:5.0pt;margin-right:0cm;margin-bottom:12.0pt;margin-left:
-36.0pt;text-indent:-18.0pt;mso-list:l24 level1 lfo9'><![if !supportLists]><span
+36.0pt;text-indent:-18.0pt;mso-list:l25 level1 lfo9'><![if !supportLists]><span
lang=EN-US style='font-family:Symbol;mso-fareast-font-family:Symbol;mso-bidi-font-family:
Symbol;mso-ansi-language:EN-US'><span style='mso-list:Ignore'>·<span
style='font:7.0pt "Times New Roman"'> </span></span></span><![endif]><span
@@ -5678,28 +5686,28 @@
<p><span lang=EN-US style='mso-ansi-language:EN-US'>Several breaking changes
will require developer action:<o:p></o:p></span></p>
-<p style='margin-left:36.0pt;text-indent:-18.0pt;mso-list:l15 level1 lfo10'><![if !supportLists]><span
+<p style='margin-left:36.0pt;text-indent:-18.0pt;mso-list:l16 level1 lfo10'><![if !supportLists]><span
lang=EN-US style='font-family:Symbol;mso-fareast-font-family:Symbol;mso-bidi-font-family:
Symbol;mso-ansi-language:EN-US'><span style='mso-list:Ignore'>·<span
style='font:7.0pt "Times New Roman"'> </span></span></span><![endif]><span
lang=EN-US style='mso-ansi-language:EN-US'>Previous code now becomes the
frontend, and a backend typedef must be added.<o:p></o:p></span></p>
-<p style='margin-left:36.0pt;text-indent:-18.0pt;mso-list:l15 level1 lfo10'><![if !supportLists]><span
+<p style='margin-left:36.0pt;text-indent:-18.0pt;mso-list:l16 level1 lfo10'><![if !supportLists]><span
lang=EN-US style='font-family:Symbol;mso-fareast-font-family:Symbol;mso-bidi-font-family:
Symbol;mso-ansi-language:EN-US'><span style='mso-list:Ignore'>·<span
style='font:7.0pt "Times New Roman"'> </span></span></span><![endif]><span
lang=EN-US style='mso-ansi-language:EN-US'>Entry, exit pseudo states and direct
entries now have a new syntax.<o:p></o:p></span></p>
-<p style='margin-left:36.0pt;text-indent:-18.0pt;mso-list:l15 level1 lfo10'><![if !supportLists]><span
+<p style='margin-left:36.0pt;text-indent:-18.0pt;mso-list:l16 level1 lfo10'><![if !supportLists]><span
lang=EN-US style='font-family:Symbol;mso-fareast-font-family:Symbol;mso-bidi-font-family:
Symbol;mso-ansi-language:EN-US'><span style='mso-list:Ignore'>·<span
style='font:7.0pt "Times New Roman"'> </span></span></span><![endif]><span
lang=EN-US style='mso-ansi-language:EN-US'>Entry and exit actions have a new
parameter (the state machine itself) so that the sm_ptr policy is now obsolete.<o:p></o:p></span></p>
-<p style='margin-left:36.0pt;text-indent:-18.0pt;mso-list:l15 level1 lfo10'><![if !supportLists]><span
+<p style='margin-left:36.0pt;text-indent:-18.0pt;mso-list:l16 level1 lfo10'><![if !supportLists]><span
lang=EN-US style='font-family:Symbol;mso-fareast-font-family:Symbol;mso-bidi-font-family:
Symbol;mso-ansi-language:EN-US'><span style='mso-list:Ignore'>·<span
style='font:7.0pt "Times New Roman"'> </span></span></span><![endif]><span
@@ -5739,7 +5747,7 @@
already offers many of the aforementioned features, one may question the very
existence of the Msm framework. The following advantages are offered:<o:p></o:p></span></p>
-<p style='margin-left:36.0pt;text-indent:-18.0pt;mso-list:l22 level1 lfo11;
+<p style='margin-left:36.0pt;text-indent:-18.0pt;mso-list:l23 level1 lfo11;
tab-stops:list 36.0pt'><![if !supportLists]><span lang=EN-US style='font-size:
10.0pt;mso-bidi-font-size:12.0pt;font-family:Symbol;mso-fareast-font-family:
Symbol;mso-bidi-font-family:Symbol;mso-ansi-language:EN-US'><span
@@ -5750,7 +5758,7 @@
efficient code, at the cost of a longer compilation time and bigger executable
size.<o:p></o:p></span></p>
-<p style='margin-left:36.0pt;text-indent:-18.0pt;mso-list:l22 level1 lfo11;
+<p style='margin-left:36.0pt;text-indent:-18.0pt;mso-list:l23 level1 lfo11;
tab-stops:list 36.0pt'><![if !supportLists]><span lang=EN-US style='font-size:
10.0pt;mso-bidi-font-size:12.0pt;font-family:Symbol;mso-fareast-font-family:
Symbol;mso-bidi-font-family:Symbol;mso-ansi-language:EN-US'><span
@@ -5760,7 +5768,7 @@
good tool, but to deduce the original state machine diagram from its source
code can sometimes be quite a challenge. <o:p></o:p></span></p>
-<p style='margin-left:36.0pt;text-indent:-18.0pt;mso-list:l22 level1 lfo11;
+<p style='margin-left:36.0pt;text-indent:-18.0pt;mso-list:l23 level1 lfo11;
tab-stops:list 36.0pt'><![if !supportLists]><span lang=EN-US style='font-size:
10.0pt;mso-bidi-font-size:12.0pt;font-family:Symbol;mso-fareast-font-family:
Symbol;mso-bidi-font-family:Symbol;mso-ansi-language:EN-US'><span
@@ -5769,7 +5777,7 @@
The Domain-Specific-Language represents well the abstraction domain and
displays a high ratio of information to syntactic noise. <o:p></o:p></span></p>
-<p style='margin-left:36.0pt;text-indent:-18.0pt;mso-list:l22 level1 lfo11;
+<p style='margin-left:36.0pt;text-indent:-18.0pt;mso-list:l23 level1 lfo11;
tab-stops:list 36.0pt'><![if !supportLists]><span lang=EN-US style='font-size:
10.0pt;mso-bidi-font-size:12.0pt;font-family:Symbol;mso-fareast-font-family:
Symbol;mso-bidi-font-family:Symbol;mso-ansi-language:EN-US'><span
@@ -5778,7 +5786,7 @@
tools (see Annex B) can be easily
written and add much value to your state machine.<o:p></o:p></span></p>
-<p style='margin-left:36.0pt;text-indent:-18.0pt;mso-list:l22 level1 lfo11;
+<p style='margin-left:36.0pt;text-indent:-18.0pt;mso-list:l23 level1 lfo11;
tab-stops:list 36.0pt'><![if !supportLists]><span lang=EN-US style='font-size:
10.0pt;mso-bidi-font-size:12.0pt;font-family:Symbol;mso-fareast-font-family:
Symbol;mso-bidi-font-family:Symbol;mso-ansi-language:EN-US'><span
@@ -5805,7 +5813,7 @@
<p><span lang=EN-US style='mso-ansi-language:EN-US'>What the framework does not
yet offer:<o:p></o:p></span></p>
-<p style='margin-left:36.0pt;text-indent:-18.0pt;mso-list:l46 level1 lfo12;
+<p style='margin-left:36.0pt;text-indent:-18.0pt;mso-list:l47 level1 lfo12;
tab-stops:list 36.0pt'><![if !supportLists]><span lang=EN-US style='font-size:
10.0pt;mso-bidi-font-size:12.0pt;font-family:Symbol;mso-fareast-font-family:
Symbol;mso-bidi-font-family:Symbol;mso-ansi-language:EN-US'><span
@@ -5817,9 +5825,9 @@
<p style='margin-bottom:12.0pt'><span lang=EN-US style='mso-ansi-language:EN-US'><o:p> </o:p></span></p>
-<p><span lang=EN-US style='mso-ansi-language:EN-US'>If you are looking for an
-efficient and straightforward UML-based finite state machine framework, we
-sincerely hope you will enjoy this work!<o:p></o:p></span></p>
+<p><span lang=EN-US style='mso-ansi-language:EN-US'>If you are looking for an efficient
+and straightforward UML-based finite state machine framework, we sincerely hope
+you will enjoy this work!<o:p></o:p></span></p>
<h2><a name="_Founding_example"></a><span lang=EN-US style='mso-fareast-font-family:
"Times New Roman";mso-ansi-language:EN-US'>Founding example<o:p></o:p></span></h2>
@@ -6250,7 +6258,7 @@
<p><span lang=EN-US style='mso-ansi-language:EN-US'>You define one row for
every transition. A transition is made of:<o:p></o:p></span></p>
-<p style='margin-left:36.0pt;text-indent:-18.0pt;mso-list:l26 level1 lfo13;
+<p style='margin-left:36.0pt;text-indent:-18.0pt;mso-list:l27 level1 lfo13;
tab-stops:list 36.0pt'><![if !supportLists]><span lang=EN-US style='font-size:
10.0pt;mso-bidi-font-size:12.0pt;font-family:Symbol;mso-fareast-font-family:
Symbol;mso-bidi-font-family:Symbol;mso-ansi-language:EN-US'><span
@@ -6258,7 +6266,7 @@
</span></span></span><![endif]><span lang=EN-US style='mso-ansi-language:EN-US'>a
current state<o:p></o:p></span></p>
-<p style='margin-left:36.0pt;text-indent:-18.0pt;mso-list:l26 level1 lfo13;
+<p style='margin-left:36.0pt;text-indent:-18.0pt;mso-list:l27 level1 lfo13;
tab-stops:list 36.0pt'><![if !supportLists]><span lang=EN-US style='font-size:
10.0pt;mso-bidi-font-size:12.0pt;font-family:Symbol;mso-fareast-font-family:
Symbol;mso-bidi-font-family:Symbol;mso-ansi-language:EN-US'><span
@@ -6267,7 +6275,7 @@
event triggering the transition making the machine leave the current state and
moving to:<o:p></o:p></span></p>
-<p style='margin-left:36.0pt;text-indent:-18.0pt;mso-list:l26 level1 lfo13;
+<p style='margin-left:36.0pt;text-indent:-18.0pt;mso-list:l27 level1 lfo13;
tab-stops:list 36.0pt'><![if !supportLists]><span lang=EN-US style='font-size:
10.0pt;mso-bidi-font-size:12.0pt;font-family:Symbol;mso-fareast-font-family:
Symbol;mso-bidi-font-family:Symbol;mso-ansi-language:EN-US'><span
@@ -6275,7 +6283,7 @@
</span></span></span><![endif]><span lang=EN-US style='mso-ansi-language:EN-US'>a
next state, which becomes the next current state<o:p></o:p></span></p>
-<p style='margin-left:36.0pt;text-indent:-18.0pt;mso-list:l26 level1 lfo13;
+<p style='margin-left:36.0pt;text-indent:-18.0pt;mso-list:l27 level1 lfo13;
tab-stops:list 36.0pt'><![if !supportLists]><span lang=EN-US style='font-size:
10.0pt;mso-bidi-font-size:12.0pt;font-family:Symbol;mso-fareast-font-family:
Symbol;mso-bidi-font-family:Symbol;mso-ansi-language:EN-US'><span
@@ -6283,7 +6291,7 @@
</span></span></span><![endif]><span lang=EN-US style='mso-ansi-language:EN-US'>an
action method which gets called during the transition, if and only if<o:p></o:p></span></p>
-<p style='margin-left:36.0pt;text-indent:-18.0pt;mso-list:l26 level1 lfo13;
+<p style='margin-left:36.0pt;text-indent:-18.0pt;mso-list:l27 level1 lfo13;
tab-stops:list 36.0pt'><![if !supportLists]><span lang=EN-US style='font-size:
10.0pt;mso-bidi-font-size:12.0pt;font-family:Symbol;mso-fareast-font-family:
Symbol;mso-bidi-font-family:Symbol;mso-ansi-language:EN-US'><span
@@ -6552,15 +6560,16 @@
<p><span lang=EN-US style='mso-ansi-language:EN-US'>SimpleTutorial.cpp<o:p></o:p></span></p>
-<p><span lang=EN-US style='mso-ansi-language:EN-US'>The previously described transition
-table is an easily-generated view of the following UML State Machine Diagram:<o:p></o:p></span></p>
+<p><span lang=EN-US style='mso-ansi-language:EN-US'>The previously described
+transition table is an easily-generated view of the following UML State Machine
+Diagram:<o:p></o:p></span></p>
<p style='margin-bottom:12.0pt'><span style='mso-no-proof:yes'><!--[if gte vml 1]><v:shape
id="Grafik_x0020_15" o:spid="_x0000_i1036" type="#_x0000_t75" alt="SimpleTutorial.jpg"
style='width:450pt;height:435.6pt;visibility:visible;mso-wrap-style:square'>
<v:imagedata src="index-Dateien/image003.jpg" o:title="SimpleTutorial"/>
</v:shape><![endif]--><![if !vml]><img border=0 width=600 height=581
-src="index-Dateien/image004.jpg" alt=SimpleTutorial.jpg v:shapes="Grafik_x0020_15"><![endif]></span><span
+src="index-Dateien/image028.jpg" alt=SimpleTutorial.jpg v:shapes="Grafik_x0020_15"><![endif]></span><span
lang=EN-US style='mso-ansi-language:EN-US'><br clear=left style='mso-special-character:
line-break'>
<o:p></o:p></span></p>
@@ -6765,8 +6774,8 @@
style='mso-ansi-language:EN-US'><o:p></o:p></span></p>
<p style='margin-bottom:0cm;margin-bottom:.0001pt'><code><span lang=EN-US
-style='font-size:10.0pt;color:green;mso-ansi-language:EN-US'>// Replaces the
-default no-transition response.</span></code><span lang=EN-US style='mso-ansi-language:
+style='font-size:10.0pt;color:green;mso-ansi-language:EN-US'>// Replaces the default
+no-transition response.</span></code><span lang=EN-US style='mso-ansi-language:
EN-US'><o:p></o:p></span></p>
<p style='margin-bottom:0cm;margin-bottom:.0001pt'><span lang=EN-US
@@ -6819,7 +6828,7 @@
lang=EN-US style='mso-ansi-language:EN-US'><o:p></o:p></span></p>
<p style='margin-top:5.0pt;margin-right:0cm;margin-bottom:0cm;margin-left:36.0pt;
-margin-bottom:.0001pt;text-indent:-18.0pt;mso-list:l37 level1 lfo16;tab-stops:
+margin-bottom:.0001pt;text-indent:-18.0pt;mso-list:l38 level1 lfo16;tab-stops:
list 36.0pt'><![if !supportLists]><span lang=EN-US style='font-size:10.0pt;
mso-bidi-font-size:12.0pt;font-family:Symbol;mso-fareast-font-family:Symbol;
mso-bidi-font-family:Symbol;mso-ansi-language:EN-US'><span style='mso-list:
@@ -6829,12 +6838,12 @@
color:black;mso-ansi-language:EN-US'>states are now classes/structs</span></u></code><code><span
lang=EN-US style='font-size:10.0pt;color:black;mso-ansi-language:EN-US'> </span></code><code><span
lang=EN-US style='mso-ansi-font-size:12.0pt;mso-bidi-font-size:12.0pt;
-font-family:"Times New Roman","serif";color:black;mso-ansi-language:EN-US'>so they
-can have data. The states get default-constructed at initialization time.</span></code><span
+font-family:"Times New Roman","serif";color:black;mso-ansi-language:EN-US'>so
+they can have data. The states get default-constructed at initialization time.</span></code><span
lang=EN-US style='mso-ansi-language:EN-US'><o:p></o:p></span></p>
<p style='margin-top:5.0pt;margin-right:0cm;margin-bottom:0cm;margin-left:36.0pt;
-margin-bottom:.0001pt;text-indent:-18.0pt;mso-list:l37 level1 lfo16;tab-stops:
+margin-bottom:.0001pt;text-indent:-18.0pt;mso-list:l38 level1 lfo16;tab-stops:
list 36.0pt'><![if !supportLists]><span lang=EN-US style='font-size:10.0pt;
mso-bidi-font-size:12.0pt;font-family:Symbol;mso-fareast-font-family:Symbol;
mso-bidi-font-family:Symbol;mso-ansi-language:EN-US'><span style='mso-list:
@@ -6853,7 +6862,7 @@
lang=EN-US style='mso-ansi-language:EN-US'><o:p></o:p></span></p>
<p style='margin-top:5.0pt;margin-right:0cm;margin-bottom:0cm;margin-left:36.0pt;
-margin-bottom:.0001pt;text-indent:-18.0pt;mso-list:l37 level1 lfo16;tab-stops:
+margin-bottom:.0001pt;text-indent:-18.0pt;mso-list:l38 level1 lfo16;tab-stops:
list 36.0pt'><![if !supportLists]><span lang=EN-US style='font-size:10.0pt;
mso-bidi-font-size:12.0pt;font-family:Symbol;mso-fareast-font-family:Symbol;
mso-bidi-font-family:Symbol;mso-ansi-language:EN-US'><span style='mso-list:
@@ -6867,7 +6876,7 @@
added.</span></code><span lang=EN-US style='mso-ansi-language:EN-US'><o:p></o:p></span></p>
<p style='margin-top:5.0pt;margin-right:0cm;margin-bottom:0cm;margin-left:36.0pt;
-margin-bottom:.0001pt;text-indent:-18.0pt;mso-list:l37 level1 lfo16;tab-stops:
+margin-bottom:.0001pt;text-indent:-18.0pt;mso-list:l38 level1 lfo16;tab-stops:
list 36.0pt'><![if !supportLists]><code><span lang=EN-US style='font-size:10.0pt;
mso-bidi-font-size:12.0pt;font-family:Symbol;mso-fareast-font-family:Symbol;
mso-bidi-font-family:Symbol;mso-ansi-language:EN-US'><span style='mso-list:
@@ -6883,7 +6892,7 @@
font-family:"Times New Roman","serif";mso-ansi-language:EN-US'><o:p></o:p></span></code></p>
<p style='margin-top:5.0pt;margin-right:0cm;margin-bottom:0cm;margin-left:36.0pt;
-margin-bottom:.0001pt;text-indent:-18.0pt;mso-list:l37 level1 lfo16;tab-stops:
+margin-bottom:.0001pt;text-indent:-18.0pt;mso-list:l38 level1 lfo16;tab-stops:
list 36.0pt'><![if !supportLists]><span lang=EN-US style='font-size:10.0pt;
mso-bidi-font-size:12.0pt;font-family:Symbol;mso-fareast-font-family:Symbol;
mso-bidi-font-family:Symbol;mso-ansi-language:EN-US'><span style='mso-list:
@@ -6892,7 +6901,7 @@
of course, one needs to define a frontend and a backend.<o:p></o:p></span></p>
<p style='margin-top:5.0pt;margin-right:0cm;margin-bottom:0cm;margin-left:36.0pt;
-margin-bottom:.0001pt;text-indent:-18.0pt;mso-list:l37 level1 lfo16;tab-stops:
+margin-bottom:.0001pt;text-indent:-18.0pt;mso-list:l38 level1 lfo16;tab-stops:
list 36.0pt'><![if !supportLists]><span lang=EN-US style='font-size:10.0pt;
mso-bidi-font-size:12.0pt;font-family:Symbol;mso-fareast-font-family:Symbol;
mso-bidi-font-family:Symbol;mso-ansi-language:EN-US'><span style='mso-list:
@@ -6967,7 +6976,7 @@
style='width:462pt;height:620.4pt;visibility:visible;mso-wrap-style:square'>
<v:imagedata src="index-Dateien/image005.jpg" o:title="CompositeTutorial"/>
</v:shape><![endif]--><![if !vml]><img border=0 width=616 height=827
-src="index-Dateien/image006.jpg" alt=CompositeTutorial.jpg v:shapes="Grafik_x0020_14"><![endif]></span><span
+src="index-Dateien/image029.jpg" alt=CompositeTutorial.jpg v:shapes="Grafik_x0020_14"><![endif]></span><span
lang=EN-US style='mso-ansi-language:EN-US'><br clear=left style='mso-special-character:
line-break'>
<o:p></o:p></span></p>
@@ -7260,7 +7269,7 @@
style='width:486.6pt;height:604.2pt;visibility:visible;mso-wrap-style:square'>
<v:imagedata src="index-Dateien/image007.jpg" o:title="Orthogonal-deferred"/>
</v:shape><![endif]--><![if !vml]><img border=0 width=649 height=806
-src="index-Dateien/image008.jpg" alt=Orthogonal-deferred.jpg v:shapes="Bild_x0020_4"><![endif]></span><span
+src="index-Dateien/image030.jpg" alt=Orthogonal-deferred.jpg v:shapes="Bild_x0020_4"><![endif]></span><span
lang=EN-US style='mso-ansi-language:EN-US'><br clear=left style='mso-special-character:
line-break'>
<o:p></o:p></span></p>
@@ -7439,7 +7448,7 @@
style='width:427.2pt;height:617.4pt;visibility:visible;mso-wrap-style:square'>
<v:imagedata src="index-Dateien/image009.jpg" o:title="HistoryTutorial"/>
</v:shape><![endif]--><![if !vml]><img border=0 width=570 height=823
-src="index-Dateien/image010.jpg" alt=HistoryTutorial.jpg v:shapes="Grafik_x0020_12"><![endif]></span><span
+src="index-Dateien/image031.jpg" alt=HistoryTutorial.jpg v:shapes="Grafik_x0020_12"><![endif]></span><span
lang=EN-US style='mso-ansi-language:EN-US'><br clear=left style='mso-special-character:
line-break'>
<o:p></o:p></span></p>
@@ -7662,7 +7671,7 @@
height:655.2pt;visibility:visible;mso-wrap-style:square'>
<v:imagedata src="index-Dateien/image011.jpg" o:title="FlagsTutorial"/>
</v:shape><![endif]--><![if !vml]><img border=0 width=616 height=874
-src="index-Dateien/image012.jpg" alt=FlagsTutorial.jpg v:shapes="Grafik_x0020_11"><![endif]></span><span
+src="index-Dateien/image032.jpg" alt=FlagsTutorial.jpg v:shapes="Grafik_x0020_11"><![endif]></span><span
lang=EN-US style='mso-ansi-language:EN-US'><br clear=left style='mso-special-character:
line-break'>
<o:p></o:p></span></p>
@@ -7686,7 +7695,7 @@
height:331.8pt;visibility:visible;mso-wrap-style:square'>
<v:imagedata src="index-Dateien/image013.jpg" o:title="Anonymous"/>
</v:shape><![endif]--><![if !vml]><img border=0 width=444 height=442
-src="index-Dateien/image014.jpg" alt=Anonymous.jpg v:shapes="Grafik_x0020_13"><![endif]></span><span
+src="index-Dateien/image033.jpg" alt=Anonymous.jpg v:shapes="Grafik_x0020_13"><![endif]></span><span
lang=EN-US style='mso-ansi-language:EN-US'><o:p></o:p></span></p>
<p style='page-break-before:always;tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'><span
@@ -7704,12 +7713,12 @@
<p style='page-break-before:always;tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'><span
lang=EN-US style='mso-ansi-language:EN-US'>Another possible use would be a
-real-time system called at regular intervals and always doing the same thing,
-meaning implementing the same algorithm. The advantage is that once you know
-how long a transition takes to execute on the system, by calculating the
-longest path (the number of transitions from start to end), you can pretty much
-know how long your algorithm will take in the worst case, which in turns tells
-you how big of a time frame you are to request from a scheduler.<o:p></o:p></span></p>
+real-time system called at regular intervals and always doing the same thing, meaning
+implementing the same algorithm. The advantage is that once you know how long a
+transition takes to execute on the system, by calculating the longest path (the
+number of transitions from start to end), you can pretty much know how long
+your algorithm will take in the worst case, which in turns tells you how big of
+a time frame you are to request from a scheduler.<o:p></o:p></span></p>
<p style='page-break-before:always;tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'><span
lang=EN-US style='mso-ansi-language:EN-US'>What is the cost of this feature? If
@@ -7751,8 +7760,8 @@
style='color:#030003'>State3</span><span style='mso-spacerun:yes'>
</span>, <span style='color:#030003'>none</span><span
style='mso-spacerun:yes'> </span>, <span
-style='color:#030003'>State4</span><span style='mso-spacerun:yes'>
-</span>, <span style='color:#030003'>State3ToState4</span><span
+style='color:#030003'>State4</span> <span
+style='mso-spacerun:yes'> </span>, <span style='color:#030003'>State3ToState4</span><span
style='mso-spacerun:yes'> </span>, <span
style='color:#030003'>always_true</span><span
style='mso-spacerun:yes'>
@@ -7784,8 +7793,93 @@
<o:p></o:p></span></p>
<h3 style='tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'><a
-name="_The_many_ways"></a><span lang=EN-US style='mso-fareast-font-family:"Times New Roman";
-mso-ansi-language:EN-US'>The many ways to enter a composite state<o:p></o:p></span></h3>
+name="_Internal_transitions"></a><span lang=EN-US style='mso-fareast-font-family:
+"Times New Roman";mso-ansi-language:EN-US'>Internal transitions<o:p></o:p></span></h3>
+
+<p class=MsoNormal style='margin-bottom:6.0pt'><a name="_The_many_ways"></a><span
+lang=EN-US style='mso-ansi-language:EN-US'>Internal transitions are transitions
+executing in the scope of the active state, being a simple state or a
+submachine. One can see them as a self-transition of this state, without an
+entry or exit action called.<o:p></o:p></span></p>
+
+<p class=MsoNormal><span lang=EN-US style='mso-ansi-language:EN-US'>Internal
+transitions are specified as having a higher priority than normal transitions.
+While it makes sense for a submachine with exit points, it is surprising for a
+simple state. MSM lets you define the transition priority by setting the
+transition’s position inside the transition table. Later on, a table for
+states is also a possibility.<o:p></o:p></span></p>
+
+<p class=MsoNormal style='margin-bottom:6.0pt'><span lang=EN-US
+style='mso-ansi-language:EN-US'><o:p> </o:p></span></p>
+
+<p class=MsoNormal style='margin-bottom:6.0pt'><span lang=EN-US
+style='mso-ansi-language:EN-US'>To define internal transitions, use “</span><span
+lang=EN-US style='font-family:"Courier New";mso-ansi-language:EN-US'>irow</span><span
+lang=EN-US style='mso-ansi-language:EN-US'>” instead of the standard
+rows. Internal rows come in different flavors:<o:p></o:p></span></p>
+
+<p class=MsoListParagraphCxSpFirst style='margin-bottom:6.0pt;mso-add-space:
+auto;text-indent:-18.0pt;mso-list:l12 level1 lfo49'><![if !supportLists]><span
+lang=EN-US style='font-family:Symbol;mso-fareast-font-family:Symbol;mso-bidi-font-family:
+Symbol;mso-ansi-language:EN-US'><span style='mso-list:Ignore'>·<span
+style='font:7.0pt "Times New Roman"'> </span></span></span><![endif]><span
+lang=EN-US style='mso-ansi-language:EN-US'>a_irow: an internal transition with
+a transition action<o:p></o:p></span></p>
+
+<p class=MsoListParagraphCxSpMiddle style='margin-bottom:6.0pt;mso-add-space:
+auto;text-indent:-18.0pt;mso-list:l12 level1 lfo49'><![if !supportLists]><span
+lang=EN-US style='font-family:Symbol;mso-fareast-font-family:Symbol;mso-bidi-font-family:
+Symbol;mso-ansi-language:EN-US'><span style='mso-list:Ignore'>·<span
+style='font:7.0pt "Times New Roman"'> </span></span></span><![endif]><span
+lang=EN-US style='mso-ansi-language:EN-US'>g_irow: an internal transition with
+a guard condition<o:p></o:p></span></p>
+
+<p class=MsoListParagraphCxSpLast style='margin-bottom:6.0pt;mso-add-space:
+auto;text-indent:-18.0pt;mso-list:l12 level1 lfo49'><![if !supportLists]><span
+lang=EN-US style='font-family:Symbol;mso-fareast-font-family:Symbol;mso-bidi-font-family:
+Symbol;mso-ansi-language:EN-US'><span style='mso-list:Ignore'>·<span
+style='font:7.0pt "Times New Roman"'> </span></span></span><![endif]><span
+lang=EN-US style='mso-ansi-language:EN-US'>irow: an internal transition with a
+transition action and guard condition<o:p></o:p></span></p>
+
+<p class=MsoNormal style='margin-bottom:6.0pt'><span lang=EN-US
+style='mso-ansi-language:EN-US'><o:p> </o:p></span></p>
+
+<p class=MsoNormal style='margin-bottom:6.0pt'><span lang=EN-US
+style='mso-ansi-language:EN-US'>The only syntactic difference with their row
+equivalent is the absence of a target state. For example,<o:p></o:p></span></p>
+
+<p class=MsoNormal style='margin-bottom:6.0pt'><span lang=EN-US
+style='font-size:10.0pt;font-family:"Courier New";mso-fareast-font-family:"Times New Roman";
+color:#030003;mso-ansi-language:EN-US;mso-no-proof:yes'>irow</span><span
+lang=EN-US style='font-size:10.0pt;font-family:"Courier New";mso-fareast-font-family:
+"Times New Roman";mso-ansi-language:EN-US;mso-no-proof:yes'> < <span
+style='color:#030003'>Empty</span><span style='mso-spacerun:yes'>
+</span>, <span style='color:#030003'>cd_detected</span> , &<span
+style='color:#030003'>p</span>::<span style='color:#030003'>internal_action</span>
+,&<span style='color:#030003'>p</span>::<span style='color:#030003'>internal_guard</span><span
+style='mso-spacerun:yes'> </span>><o:p></o:p></span></p>
+
+<p class=MsoNormal style='margin-bottom:6.0pt'><span lang=EN-US
+style='mso-ansi-language:EN-US'>Is a transition internal to </span><span
+lang=EN-US style='font-family:"Courier New";mso-ansi-language:EN-US'>Empty</span><span
+lang=EN-US style='mso-ansi-language:EN-US'>, triggered with the event </span><span
+lang=EN-US style='font-family:"Courier New";mso-ansi-language:EN-US'>cd_detected</span><span
+lang=EN-US style='mso-ansi-language:EN-US'>, executing the action </span><span
+lang=EN-US style='font-family:"Courier New";mso-ansi-language:EN-US'>internal_action</span><span
+lang=EN-US style='mso-ansi-language:EN-US'>, guarded by </span><span
+lang=EN-US style='font-family:"Courier New";mso-ansi-language:EN-US'>internal_guard</span><span
+lang=EN-US style='mso-ansi-language:EN-US'>. The action and guard signature is
+the standard one.<o:p></o:p></span></p>
+
+<p class=MsoNormal style='margin-bottom:6.0pt'><span lang=EN-US
+style='mso-ansi-language:EN-US'>The functor front-end also allows internal
+transitions, but requires no new row type. Simply replacing the target state by
+“none” defines an internal transition.<o:p></o:p></span></p>
+
+<h3 style='tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'><span
+lang=EN-US style='mso-fareast-font-family:"Times New Roman";mso-ansi-language:
+EN-US'>The many ways to enter a composite state<o:p></o:p></span></h3>
<p style='margin-bottom:0cm;margin-bottom:.0001pt;tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'><span
lang=EN-US style='mso-ansi-language:EN-US'>Please have a look at the <a
@@ -7800,7 +7894,7 @@
lang=EN-US style='mso-ansi-language:EN-US'>Let us count the ways to enter a
composite state, as specified by UML:<o:p></o:p></span></p>
-<p style='margin-left:36.0pt;text-indent:-18.0pt;mso-list:l13 level1 lfo17;
+<p style='margin-left:36.0pt;text-indent:-18.0pt;mso-list:l14 level1 lfo17;
tab-stops:list 36.0pt'><![if !supportLists]><span lang=EN-US style='font-size:
10.0pt;mso-bidi-font-size:12.0pt;font-family:Symbol;mso-fareast-font-family:
Symbol;mso-bidi-font-family:Symbol;mso-ansi-language:EN-US'><span
@@ -7811,7 +7905,7 @@
as seen in the previous tutorials. The initial state in each orthogonal region
becomes active.<o:p></o:p></span></p>
-<p style='margin-left:36.0pt;text-indent:-18.0pt;mso-list:l13 level1 lfo17;
+<p style='margin-left:36.0pt;text-indent:-18.0pt;mso-list:l14 level1 lfo17;
tab-stops:list 36.0pt'><![if !supportLists]><span lang=EN-US style='font-size:
10.0pt;mso-bidi-font-size:12.0pt;font-family:Symbol;mso-fareast-font-family:
Symbol;mso-bidi-font-family:Symbol;mso-ansi-language:EN-US'><span
@@ -7820,18 +7914,18 @@
EN-US'>Shallow/Deep History entry</span></u><span lang=EN-US style='mso-ansi-language:
EN-US'>: See History tutorial.<o:p></o:p></span></p>
-<p style='margin-left:36.0pt;text-indent:-18.0pt;mso-list:l13 level1 lfo17;
+<p style='margin-left:36.0pt;text-indent:-18.0pt;mso-list:l14 level1 lfo17;
tab-stops:list 36.0pt'><![if !supportLists]><span lang=EN-US style='font-size:
10.0pt;mso-bidi-font-size:12.0pt;font-family:Symbol;mso-fareast-font-family:
Symbol;mso-bidi-font-family:Symbol;mso-ansi-language:EN-US'><span
style='mso-list:Ignore'>·<span style='font:7.0pt "Times New Roman"'>
</span></span></span><![endif]><u><span lang=EN-US style='mso-ansi-language:
EN-US'>Explicit entry</span></u><span lang=EN-US style='mso-ansi-language:EN-US'>:
-if a transition goes to a sub-state of a composite state, this state becomes active
-and like in the previous examples, its entry action is executed after the entry
-action from the composite state.<o:p></o:p></span></p>
+if a transition goes to a sub-state of a composite state, this state becomes
+active and like in the previous examples, its entry action is executed after
+the entry action from the composite state.<o:p></o:p></span></p>
-<p style='margin-left:36.0pt;text-indent:-18.0pt;mso-list:l13 level1 lfo17;
+<p style='margin-left:36.0pt;text-indent:-18.0pt;mso-list:l14 level1 lfo17;
tab-stops:list 36.0pt'><![if !supportLists]><span lang=EN-US style='font-size:
10.0pt;mso-bidi-font-size:12.0pt;font-family:Symbol;mso-fareast-font-family:
Symbol;mso-bidi-font-family:Symbol;mso-ansi-language:EN-US'><span
@@ -7840,7 +7934,7 @@
EN-US'>Fork</span></u><span lang=EN-US style='mso-ansi-language:EN-US'>: an
explicit entry into more than one region.<o:p></o:p></span></p>
-<p style='margin-left:36.0pt;text-indent:-18.0pt;mso-list:l13 level1 lfo17;
+<p style='margin-left:36.0pt;text-indent:-18.0pt;mso-list:l14 level1 lfo17;
tab-stops:list 36.0pt'><![if !supportLists]><span lang=EN-US style='font-size:
10.0pt;mso-bidi-font-size:12.0pt;font-family:Symbol;mso-fareast-font-family:
Symbol;mso-bidi-font-family:Symbol;mso-ansi-language:EN-US'><span
@@ -7856,7 +7950,7 @@
have only one transition inside the composite. It is supposed to provide some
kind of encapsulation.<o:p></o:p></span></p>
-<p style='margin-left:36.0pt;text-indent:-18.0pt;mso-list:l13 level1 lfo17;
+<p style='margin-left:36.0pt;text-indent:-18.0pt;mso-list:l14 level1 lfo17;
tab-stops:list 36.0pt'><![if !supportLists]><span lang=EN-US style='font-size:
10.0pt;mso-bidi-font-size:12.0pt;font-family:Symbol;mso-fareast-font-family:
Symbol;mso-bidi-font-family:Symbol;mso-ansi-language:EN-US'><span
@@ -7912,7 +8006,7 @@
height:574.8pt;visibility:visible;mso-wrap-style:square'>
<v:imagedata src="index-Dateien/image015.jpg" o:title="entry tutorial"/>
</v:shape><![endif]--><![if !vml]><img border=0 width=634 height=766
-src="index-Dateien/image016.jpg" alt="entry tutorial.jpg" v:shapes="Grafik_x0020_10"><![endif]></span><span
+src="index-Dateien/image034.jpg" alt="entry tutorial.jpg" v:shapes="Grafik_x0020_10"><![endif]></span><span
lang=EN-US style='mso-ansi-language:EN-US'><br clear=left style='mso-special-character:
line-break'>
<o:p></o:p></span></p>
@@ -8451,8 +8545,8 @@
<p style='margin-bottom:0cm;margin-bottom:.0001pt;tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'><u><span
lang=EN-US style='mso-ansi-language:EN-US'>Important note 1:</span></u><span
lang=EN-US style='mso-ansi-language:EN-US'> UML defines transiting to an entry
-pseudo state and having either no second transition or one with a guard as an
-error but defines no error handling. Msm will tolerate this behavior; the entry
+pseudo state and having either no second transition or one with a guard as an error
+but defines no error handling. Msm will tolerate this behavior; the entry
pseudo state will simply be the newly active state.<o:p></o:p></span></p>
<p style='margin-bottom:0cm;margin-bottom:.0001pt;tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'><span
@@ -8460,11 +8554,11 @@
<p style='margin-bottom:0cm;margin-bottom:.0001pt;tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'><u><span
lang=EN-US style='mso-ansi-language:EN-US'>Important note 2:</span></u><span
-lang=EN-US style='mso-ansi-language:EN-US'> UML defines transiting to an exit pseudo
-state and having no second transition as an error, and also defines no error
-handling. Therefore, it was decided to implement exit pseudo state as terminate
-states and the containing composite not properly exited will stay terminated as
-it was technically “exited”.<o:p></o:p></span></p>
+lang=EN-US style='mso-ansi-language:EN-US'> UML defines transiting to an exit
+pseudo state and having no second transition as an error, and also defines no
+error handling. Therefore, it was decided to implement exit pseudo state as
+terminate states and the containing composite not properly exited will stay
+terminated as it was technically “exited”.<o:p></o:p></span></p>
<p style='margin-bottom:0cm;margin-bottom:.0001pt;tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'><span
lang=EN-US style='mso-ansi-language:EN-US'><o:p> </o:p></span></p>
@@ -8548,7 +8642,7 @@
lang=EN-US style='mso-ansi-language:EN-US'>There are two kinds of conflicts,
both supported by Msm:<o:p></o:p></span></p>
-<p style='margin-left:36.0pt;text-indent:-18.0pt;mso-list:l42 level1 lfo20;
+<p style='margin-left:36.0pt;text-indent:-18.0pt;mso-list:l43 level1 lfo20;
tab-stops:list 36.0pt'><![if !supportLists]><span lang=EN-US style='font-size:
10.0pt;mso-bidi-font-size:12.0pt;font-family:Symbol;mso-fareast-font-family:
Symbol;mso-bidi-font-family:Symbol;mso-ansi-language:EN-US'><span
@@ -8557,7 +8651,7 @@
a given source state, several transitions have been defined, triggered by the
same event but <u>different guards</u>.<o:p></o:p></span></p>
-<p style='margin-left:36.0pt;text-indent:-18.0pt;mso-list:l42 level1 lfo20;
+<p style='margin-left:36.0pt;text-indent:-18.0pt;mso-list:l43 level1 lfo20;
tab-stops:list 36.0pt'><![if !supportLists]><span lang=EN-US style='font-size:
10.0pt;mso-bidi-font-size:12.0pt;font-family:Symbol;mso-fareast-font-family:
Symbol;mso-bidi-font-family:Symbol;mso-ansi-language:EN-US'><span
@@ -8766,8 +8860,8 @@
<p style='margin-bottom:0cm;margin-bottom:.0001pt;tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'><i
style='mso-bidi-font-style:normal'><span lang=EN-US style='mso-ansi-language:
-EN-US'>to get a pointer to the containing state machine. The same applies to terminate_state
-/ interrupt_state and entry_pseudo_state / exit_pseudo_state.<o:p></o:p></span></i></p>
+EN-US'>to get a pointer to the containing state machine. The same applies to
+terminate_state / interrupt_state and entry_pseudo_state / exit_pseudo_state.<o:p></o:p></span></i></p>
<p style='margin-bottom:0cm;margin-bottom:.0001pt;tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'><i
style='mso-bidi-font-style:normal'><span lang=EN-US style='mso-ansi-language:
@@ -8827,10 +8921,10 @@
<p style='tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'><code><span
lang=EN-US style='mso-ansi-font-size:12.0pt;mso-bidi-font-size:12.0pt;
-font-family:"Times New Roman","serif";mso-ansi-language:EN-US'>Normally, you should
-not need exceptions. UML also says little about exceptions. To handle errors,
-the best UML-safe method is to add an orthogonal region, like previously shown.</span></code><span
-lang=EN-US style='mso-ansi-language:EN-US'><o:p></o:p></span></p>
+font-family:"Times New Roman","serif";mso-ansi-language:EN-US'>Normally, you
+should not need exceptions. UML also says little about exceptions. To handle
+errors, the best UML-safe method is to add an orthogonal region, like
+previously shown.</span></code><span lang=EN-US style='mso-ansi-language:EN-US'><o:p></o:p></span></p>
<p style='tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'><code><span
lang=EN-US style='mso-ansi-font-size:12.0pt;mso-bidi-font-size:12.0pt;
@@ -8876,7 +8970,7 @@
also provides a few helper methods which you might need but will probably not:</span></code><span
lang=EN-US style='mso-ansi-language:EN-US'><o:p></o:p></span></p>
-<p style='margin-left:36.0pt;text-indent:-18.0pt;mso-list:l43 level1 lfo21;
+<p style='margin-left:36.0pt;text-indent:-18.0pt;mso-list:l44 level1 lfo21;
tab-stops:list 36.0pt'><![if !supportLists]><span lang=EN-US style='font-size:
10.0pt;mso-bidi-font-size:12.0pt;font-family:Symbol;mso-fareast-font-family:
Symbol;mso-bidi-font-family:Symbol;mso-ansi-language:EN-US'><span
@@ -8906,7 +9000,7 @@
color:black;mso-ansi-language:EN-US'>: the ids of currently active states</span></code><span
lang=EN-US style='mso-ansi-language:EN-US'><o:p></o:p></span></p>
-<p style='margin-left:36.0pt;text-indent:-18.0pt;mso-list:l43 level1 lfo21;
+<p style='margin-left:36.0pt;text-indent:-18.0pt;mso-list:l44 level1 lfo21;
tab-stops:list 36.0pt'><![if !supportLists]><span lang=EN-US style='font-size:
10.0pt;mso-bidi-font-size:12.0pt;font-family:Symbol;mso-fareast-font-family:
Symbol;mso-bidi-font-family:Symbol;mso-ansi-language:EN-US'><span
@@ -8936,7 +9030,7 @@
pointer to a (user- or default-) base state. It executes in O(number of
states).</span></code><span lang=EN-US style='mso-ansi-language:EN-US'><o:p></o:p></span></p>
-<p style='margin-left:36.0pt;text-indent:-18.0pt;mso-list:l43 level1 lfo21;
+<p style='margin-left:36.0pt;text-indent:-18.0pt;mso-list:l44 level1 lfo21;
tab-stops:list 36.0pt'><![if !supportLists]><span lang=EN-US style='font-size:
10.0pt;mso-bidi-font-size:12.0pt;font-family:Symbol;mso-fareast-font-family:
Symbol;mso-bidi-font-family:Symbol;mso-ansi-language:EN-US'><span
@@ -8982,7 +9076,7 @@
doing 5 different jobs:</span></code><span lang=EN-US style='mso-ansi-language:
EN-US'><o:p></o:p></span></p>
-<p style='margin-left:36.0pt;text-indent:-18.0pt;mso-list:l18 level1 lfo22;
+<p style='margin-left:36.0pt;text-indent:-18.0pt;mso-list:l19 level1 lfo22;
tab-stops:list 36.0pt'><![if !supportLists]><span lang=EN-US style='font-size:
10.0pt;mso-bidi-font-size:12.0pt;font-family:Symbol;mso-fareast-font-family:
Symbol;mso-bidi-font-family:Symbol;mso-ansi-language:EN-US'><span
@@ -8992,18 +9086,18 @@
color:black;mso-ansi-language:EN-US'>checking for terminate/interrupt states</span></code><span
lang=EN-US style='mso-ansi-language:EN-US'><o:p></o:p></span></p>
-<p style='margin-left:36.0pt;text-indent:-18.0pt;mso-list:l18 level1 lfo22;
+<p style='margin-left:36.0pt;text-indent:-18.0pt;mso-list:l19 level1 lfo22;
tab-stops:list 36.0pt'><![if !supportLists]><span lang=EN-US style='font-size:
10.0pt;mso-bidi-font-size:12.0pt;font-family:Symbol;mso-fareast-font-family:
Symbol;mso-bidi-font-family:Symbol;mso-ansi-language:EN-US'><span
style='mso-list:Ignore'>·<span style='font:7.0pt "Times New Roman"'>
</span></span></span><![endif]><code><span lang=EN-US style='mso-ansi-font-size:
12.0pt;mso-bidi-font-size:12.0pt;font-family:"Times New Roman","serif";
-color:black;mso-ansi-language:EN-US'>handling the message queue (for entry/exit/transition
-actions generating themselves events)</span></code><span lang=EN-US
-style='mso-ansi-language:EN-US'><o:p></o:p></span></p>
+color:black;mso-ansi-language:EN-US'>handling the message queue (for
+entry/exit/transition actions generating themselves events)</span></code><span
+lang=EN-US style='mso-ansi-language:EN-US'><o:p></o:p></span></p>
-<p style='margin-left:36.0pt;text-indent:-18.0pt;mso-list:l18 level1 lfo22;
+<p style='margin-left:36.0pt;text-indent:-18.0pt;mso-list:l19 level1 lfo22;
tab-stops:list 36.0pt'><![if !supportLists]><span lang=EN-US style='font-size:
10.0pt;mso-bidi-font-size:12.0pt;font-family:Symbol;mso-fareast-font-family:
Symbol;mso-bidi-font-family:Symbol;mso-ansi-language:EN-US'><span
@@ -9013,7 +9107,7 @@
color:black;mso-ansi-language:EN-US'>handling deferred events</span></code><span
lang=EN-US style='mso-ansi-language:EN-US'><o:p></o:p></span></p>
-<p style='margin-left:36.0pt;text-indent:-18.0pt;mso-list:l18 level1 lfo22;
+<p style='margin-left:36.0pt;text-indent:-18.0pt;mso-list:l19 level1 lfo22;
tab-stops:list 36.0pt'><![if !supportLists]><span lang=EN-US style='font-size:
10.0pt;mso-bidi-font-size:12.0pt;font-family:Symbol;mso-fareast-font-family:
Symbol;mso-bidi-font-family:Symbol;mso-ansi-language:EN-US'><span
@@ -9023,7 +9117,7 @@
color:black;mso-ansi-language:EN-US'>catching exceptions</span></code><span
lang=EN-US style='mso-ansi-language:EN-US'><o:p></o:p></span></p>
-<p style='margin-left:36.0pt;text-indent:-18.0pt;mso-list:l18 level1 lfo22;
+<p style='margin-left:36.0pt;text-indent:-18.0pt;mso-list:l19 level1 lfo22;
tab-stops:list 36.0pt'><![if !supportLists]><span lang=EN-US style='font-size:
10.0pt;mso-bidi-font-size:12.0pt;font-family:Symbol;mso-fareast-font-family:
Symbol;mso-bidi-font-family:Symbol;mso-ansi-language:EN-US'><span
@@ -9161,9 +9255,9 @@
Symbol;mso-ansi-language:EN-US'><span style='mso-list:Ignore'>·<span
style='font:7.0pt "Times New Roman"'> </span></span></span><![endif]><span
lang=EN-US style='mso-ansi-language:EN-US'>Use a functor “<a
-href="#_Functor_rows">Row</a>” transition. These rows offer an FSM template
-argument. This argument is the concrete (back-end) state machine on which
-process_event can be called.<o:p></o:p></span></p>
+href="#_Functor_rows">Row</a>” transition. These rows offer an FSM
+template argument. This argument is the concrete (back-end) state machine on
+which process_event can be called.<o:p></o:p></span></p>
<p class=MsoListParagraphCxSpLast style='text-indent:-18.0pt;mso-list:l6 level1 lfo23;
tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'><![if !supportLists]><span
@@ -9226,8 +9320,8 @@
back-end as forwarding object:<o:p></o:p></span></p>
<p class=MsoNormal style='tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'><span
-lang=EN-US style='font-family:"Courier New";mso-ansi-language:EN-US'>typedef msm::back::state_machine<player_
-> player;<o:p></o:p></span></p>
+lang=EN-US style='font-family:"Courier New";mso-ansi-language:EN-US'>typedef
+msm::back::state_machine<player_ > player;<o:p></o:p></span></p>
<p class=MsoNormal style='tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'><span
lang=EN-US style='font-family:"Courier New";mso-ansi-language:EN-US'>player
@@ -9255,8 +9349,8 @@
lang=EN-US style='mso-ansi-language:EN-US'>By default, all states derive from </span><span
lang=EN-US style='font-family:"Courier New";mso-ansi-language:EN-US'>msm::default_base_state</span><span
lang=EN-US style='mso-ansi-language:EN-US'>, which is neither polymorphic nor
-has any other useful purpose than to define a base for all states. The
-following part will describe the customization possibilities offered by Msm.<o:p></o:p></span></p>
+has any other useful purpose than to define a base for all states. The following
+part will describe the customization possibilities offered by Msm.<o:p></o:p></span></p>
<h3 style='tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'><a
name="_User-defined_base_state"></a><code><span lang=EN-US style='mso-ansi-font-size:
@@ -9279,7 +9373,7 @@
allowing the base state to be user-defined. To do this, you need two simple
changes:<o:p></o:p></span></p>
-<p style='margin-left:36.0pt;text-indent:-18.0pt;mso-list:l32 level1 lfo24;
+<p style='margin-left:36.0pt;text-indent:-18.0pt;mso-list:l33 level1 lfo24;
tab-stops:list 36.0pt'><![if !supportLists]><span lang=EN-US style='font-size:
10.0pt;mso-bidi-font-size:12.0pt;font-family:Symbol;mso-fareast-font-family:
Symbol;mso-bidi-font-family:Symbol;mso-ansi-language:EN-US'><span
@@ -9327,15 +9421,15 @@
color:#030003;mso-ansi-language:EN-US'>state</span></code><span lang=EN-US
style='mso-ansi-language:EN-US'><o:p></o:p></span></p>
-<p style='margin-left:36.0pt;text-indent:-18.0pt;mso-list:l32 level1 lfo24;
+<p style='margin-left:36.0pt;text-indent:-18.0pt;mso-list:l33 level1 lfo24;
tab-stops:list 36.0pt'><![if !supportLists]><span lang=EN-US style='font-size:
10.0pt;mso-bidi-font-size:12.0pt;font-family:Symbol;mso-fareast-font-family:
Symbol;mso-bidi-font-family:Symbol;mso-ansi-language:EN-US'><span
style='mso-list:Ignore'>·<span style='font:7.0pt "Times New Roman"'>
</span></span></span><![endif]><code><span lang=EN-US style='mso-ansi-font-size:
12.0pt;mso-bidi-font-size:12.0pt;font-family:"Times New Roman","serif";
-color:#030003;mso-ansi-language:EN-US'>Add the user-defined base state in the state
-machine frontend definition, as a second template argument, for example:</span></code><span
+color:#030003;mso-ansi-language:EN-US'>Add the user-defined base state in the
+state machine frontend definition, as a second template argument, for example:</span></code><span
lang=EN-US style='color:#030003;mso-ansi-language:EN-US'><br>
</span><code><span lang=EN-US style='mso-ansi-font-size:12.0pt;mso-bidi-font-size:
12.0pt;color:blue;mso-ansi-language:EN-US'>struct</span></code><code><span
@@ -9397,8 +9491,8 @@
EN-US'>state_machine::visit_current_states</span><span lang=EN-US
style='mso-ansi-language:EN-US'> will cause </span><span lang=EN-US
style='font-family:"Courier New";mso-ansi-language:EN-US'>accept</span><span
-lang=EN-US style='mso-ansi-language:EN-US'> to be called on the currently active
-states. Typically, you will also want to provide an empty default </span><span
+lang=EN-US style='mso-ansi-language:EN-US'> to be called on the currently
+active states. Typically, you will also want to provide an empty default </span><span
lang=EN-US style='font-family:"Courier New";mso-ansi-language:EN-US'>accept</span><span
lang=EN-US style='mso-ansi-language:EN-US'> in your base state in order in
order not to force all your states to implement </span><span lang=EN-US
@@ -9745,8 +9839,8 @@
lang=EN-US style='mso-ansi-language:EN-US'><o:p> </o:p></span></p>
<h1 style='tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'><a
-name="_New_Msm_v2.0"></a><span lang=EN-US style='mso-ansi-language:EN-US'>New Msm
-v2.0 Features <o:p></o:p></span></h1>
+name="_New_Msm_v2.0"></a><span lang=EN-US style='mso-ansi-language:EN-US'>New
+Msm v2.0 Features <o:p></o:p></span></h1>
<p class=MsoNormal style='tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'><span
lang=EN-US style='mso-ansi-language:EN-US'>This chapter will introduce the new
@@ -9755,8 +9849,8 @@
<p class=MsoNormal style='tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'><span
lang=EN-US style='mso-ansi-language:EN-US'>We will first warm up with a
-front-end based on functors before moving on the eUML, which will provide us with
-a much bigger amount of fun.<o:p></o:p></span></p>
+front-end based on functors before moving on the eUML, which will provide us
+with a much bigger amount of fun.<o:p></o:p></span></p>
<h2 style='tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'><a
name="_Frontends"></a><span lang=EN-US style='mso-ansi-language:EN-US'>Frontends<o:p></o:p></span></h2>
@@ -9788,7 +9882,7 @@
<p class=MsoNormal style='tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'><span
lang=EN-US style='mso-ansi-language:EN-US'>These types have some disadvantages:<o:p></o:p></span></p>
-<p class=MsoListParagraphCxSpFirst style='text-indent:-18.0pt;mso-list:l20 level1 lfo25;
+<p class=MsoListParagraphCxSpFirst style='text-indent:-18.0pt;mso-list:l21 level1 lfo25;
tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'><![if !supportLists]><span
lang=EN-US style='font-family:Symbol;mso-fareast-font-family:Symbol;mso-bidi-font-family:
Symbol;mso-ansi-language:EN-US'><span style='mso-list:Ignore'>·<span
@@ -9796,14 +9890,14 @@
lang=EN-US style='mso-ansi-language:EN-US'>They are more typing and information
than we would wish. This means syntactic noise.<o:p></o:p></span></p>
-<p class=MsoListParagraphCxSpMiddle style='text-indent:-18.0pt;mso-list:l20 level1 lfo25;
+<p class=MsoListParagraphCxSpMiddle style='text-indent:-18.0pt;mso-list:l21 level1 lfo25;
tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'><![if !supportLists]><span
lang=EN-US style='font-family:Symbol;mso-fareast-font-family:Symbol;mso-bidi-font-family:
Symbol;mso-ansi-language:EN-US'><span style='mso-list:Ignore'>·<span
style='font:7.0pt "Times New Roman"'> </span></span></span><![endif]><span
lang=EN-US style='mso-ansi-language:EN-US'>Function pointers are weird in C++.<o:p></o:p></span></p>
-<p class=MsoListParagraphCxSpMiddle style='text-indent:-18.0pt;mso-list:l20 level1 lfo25;
+<p class=MsoListParagraphCxSpMiddle style='text-indent:-18.0pt;mso-list:l21 level1 lfo25;
tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'><![if !supportLists]><span
lang=EN-US style='font-family:Symbol;mso-fareast-font-family:Symbol;mso-bidi-font-family:
Symbol;mso-ansi-language:EN-US'><span style='mso-list:Ignore'>·<span
@@ -9812,7 +9906,7 @@
limited and does not allow for more variations of parameters (source state,
target state, current state machine, etc.)<o:p></o:p></span></p>
-<p class=MsoListParagraphCxSpLast style='text-indent:-18.0pt;mso-list:l20 level1 lfo25;
+<p class=MsoListParagraphCxSpLast style='text-indent:-18.0pt;mso-list:l21 level1 lfo25;
tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'><![if !supportLists]><span
lang=EN-US style='font-family:Symbol;mso-fareast-font-family:Symbol;mso-bidi-font-family:
Symbol;mso-ansi-language:EN-US'><span style='mso-list:Ignore'>·<span
@@ -10000,7 +10094,7 @@
<p class=MsoNormal style='tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'><span
lang=EN-US style='mso-ansi-language:EN-US'>In a nutshell, what is all this?<o:p></o:p></span></p>
-<p class=MsoListParagraphCxSpFirst style='text-indent:-18.0pt;mso-list:l14 level1 lfo26;
+<p class=MsoListParagraphCxSpFirst style='text-indent:-18.0pt;mso-list:l15 level1 lfo26;
tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'><![if !supportLists]><span
lang=EN-US style='font-family:Symbol;mso-fareast-font-family:Symbol;mso-bidi-font-family:
Symbol;mso-ansi-language:EN-US'><span style='mso-list:Ignore'>·<span
@@ -10010,15 +10104,15 @@
href="#_Anonymous_transitions">anonymous transitions</a>) is needed, write
“none”.<o:p></o:p></span></p>
-<p class=MsoListParagraphCxSpMiddle style='text-indent:-18.0pt;mso-list:l14 level1 lfo26;
+<p class=MsoListParagraphCxSpMiddle style='text-indent:-18.0pt;mso-list:l15 level1 lfo26;
tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'><![if !supportLists]><span
lang=EN-US style='font-family:Symbol;mso-fareast-font-family:Symbol;mso-bidi-font-family:
Symbol;mso-ansi-language:EN-US'><span style='mso-list:Ignore'>·<span
style='font:7.0pt "Times New Roman"'> </span></span></span><![endif]><span
-lang=EN-US style='mso-ansi-language:EN-US'>You can mix new rows with the old g_row,
-a_row, etc.<o:p></o:p></span></p>
+lang=EN-US style='mso-ansi-language:EN-US'>You can mix new rows with the old
+g_row, a_row, etc.<o:p></o:p></span></p>
-<p class=MsoListParagraphCxSpMiddle style='text-indent:-18.0pt;mso-list:l14 level1 lfo26;
+<p class=MsoListParagraphCxSpMiddle style='text-indent:-18.0pt;mso-list:l15 level1 lfo26;
tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'><![if !supportLists]><span
lang=EN-US style='font-family:Symbol;mso-fareast-font-family:Symbol;mso-bidi-font-family:
Symbol;mso-ansi-language:EN-US'><span style='mso-list:Ignore'>·<span
@@ -10027,7 +10121,7 @@
your functors in other state machines. State machine function pointers cannot
offer this easily.<o:p></o:p></span></p>
-<p class=MsoListParagraphCxSpLast style='text-indent:-18.0pt;mso-list:l14 level1 lfo26;
+<p class=MsoListParagraphCxSpLast style='text-indent:-18.0pt;mso-list:l15 level1 lfo26;
tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'><![if !supportLists]><span
lang=EN-US style='font-family:Symbol;mso-fareast-font-family:Symbol;mso-bidi-font-family:
Symbol;mso-ansi-language:EN-US'><span style='mso-list:Ignore'>·<span
@@ -10115,8 +10209,9 @@
"Times New Roman";mso-ansi-language:EN-US;mso-no-proof:yes'><o:p> </o:p></span></p>
<p class=MsoNormal style='tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'><span
-lang=EN-US style='mso-ansi-language:EN-US'>It is a functor object taking as template
-arguments, the back-end state machine, event, and source and target states. <o:p></o:p></span></p>
+lang=EN-US style='mso-ansi-language:EN-US'>It is a functor object taking as
+template arguments, the back-end state machine, event, and source and target
+states. <o:p></o:p></span></p>
<p class=MsoNormal style='tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'><span
lang=EN-US style='mso-ansi-language:EN-US'>Notice how the functor places a new
@@ -10216,11 +10311,11 @@
actions, guards, flags, attributes, deferred events, initial states.<o:p></o:p></span></p>
<p style='margin-bottom:0cm;margin-bottom:.0001pt;tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'><span
-lang=EN-US style='color:black;mso-ansi-language:EN-US'>It also relies on
-Boost.Typeof as a wrapper around the new decltype C++0x feature to provide a
-compile-time evaluation of all the grammars. Unfortunately, all the underlying
-Boost libraries are not Typeof-enabled, so for the moment, you will need a
-compiler where Typeof is natively implemented (like VC8-9-10, g++ >= 4.3)<o:p></o:p></span></p>
+lang=EN-US style='color:black;mso-ansi-language:EN-US'>It also relies on Boost.Typeof
+as a wrapper around the new decltype C++0x feature to provide a compile-time
+evaluation of all the grammars. Unfortunately, all the underlying Boost
+libraries are not Typeof-enabled, so for the moment, you will need a compiler
+where Typeof is natively implemented (like VC8-9-10, g++ >= 4.3)<o:p></o:p></span></p>
<p style='margin-bottom:0cm;margin-bottom:.0001pt;tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'><span
lang=EN-US style='color:black;mso-ansi-language:EN-US'>To play with grammars,
@@ -10228,7 +10323,7 @@
actors (states, events, actions) of state machines proto terminals:<o:p></o:p></span></p>
<p style='margin-top:5.0pt;margin-right:0cm;margin-bottom:0cm;margin-left:36.0pt;
-margin-bottom:.0001pt;text-indent:-18.0pt;mso-list:l41 level1 lfo27;tab-stops:
+margin-bottom:.0001pt;text-indent:-18.0pt;mso-list:l42 level1 lfo27;tab-stops:
45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'><![if !supportLists]><span
lang=EN-US style='mso-fareast-font-family:"Times New Roman";color:black;
mso-ansi-language:EN-US'><span style='mso-list:Ignore'>-<span style='font:7.0pt "Times New Roman"'>
@@ -10241,7 +10336,7 @@
mso-ansi-language:EN-US'> function (described later)<o:p></o:p></span></p>
<p style='margin-top:5.0pt;margin-right:0cm;margin-bottom:0cm;margin-left:36.0pt;
-margin-bottom:.0001pt;text-indent:-18.0pt;mso-list:l41 level1 lfo27;tab-stops:
+margin-bottom:.0001pt;text-indent:-18.0pt;mso-list:l42 level1 lfo27;tab-stops:
45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'><![if !supportLists]><span
lang=EN-US style='mso-fareast-font-family:"Times New Roman";color:black;
mso-ansi-language:EN-US'><span style='mso-list:Ignore'>-<span style='font:7.0pt "Times New Roman"'>
@@ -10251,7 +10346,7 @@
lang=EN-US style='color:black;mso-ansi-language:EN-US'><o:p></o:p></span></p>
<p style='margin-top:5.0pt;margin-right:0cm;margin-bottom:0cm;margin-left:36.0pt;
-margin-bottom:.0001pt;text-indent:-18.0pt;mso-list:l41 level1 lfo27;tab-stops:
+margin-bottom:.0001pt;text-indent:-18.0pt;mso-list:l42 level1 lfo27;tab-stops:
45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'><![if !supportLists]><span
lang=EN-US style='mso-fareast-font-family:"Times New Roman";color:black;
mso-ansi-language:EN-US'><span style='mso-list:Ignore'>-<span style='font:7.0pt "Times New Roman"'>
@@ -10261,7 +10356,7 @@
lang=EN-US style='color:black;mso-ansi-language:EN-US'><o:p></o:p></span></p>
<p style='margin-top:5.0pt;margin-right:0cm;margin-bottom:0cm;margin-left:36.0pt;
-margin-bottom:.0001pt;text-indent:-18.0pt;mso-list:l41 level1 lfo27;tab-stops:
+margin-bottom:.0001pt;text-indent:-18.0pt;mso-list:l42 level1 lfo27;tab-stops:
45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'><![if !supportLists]><span
lang=EN-US style='mso-fareast-font-family:"Times New Roman";color:black;
mso-ansi-language:EN-US'><span style='mso-list:Ignore'>-<span style='font:7.0pt "Times New Roman"'>
@@ -10271,8 +10366,8 @@
lang=EN-US style='color:black;mso-ansi-language:EN-US'><o:p></o:p></span></p>
<p style='margin-bottom:0cm;margin-bottom:.0001pt;tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'><span
-lang=EN-US style='color:black;mso-ansi-language:EN-US'>Examples will be provided
-in the next paragraphs. The basic eUML features can be found in:<o:p></o:p></span></p>
+lang=EN-US style='color:black;mso-ansi-language:EN-US'>Examples will be
+provided in the next paragraphs. The basic eUML features can be found in:<o:p></o:p></span></p>
<p class=MsoNormal style='margin-top:12.0pt;margin-right:36.45pt;margin-bottom:
0cm;margin-left:36.45pt;margin-bottom:.0001pt;tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'><span
@@ -10302,6 +10397,10 @@
transition table can be defined using eUML as:<o:p></o:p></span></p>
<p style='margin-bottom:0cm;margin-bottom:.0001pt;tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'><span
+lang=EN-US style='color:black;mso-ansi-language:EN-US'>source + event [guard] /
+action == target <o:p></o:p></span></p>
+
+<p style='margin-bottom:0cm;margin-bottom:.0001pt;tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'><span
lang=EN-US style='color:black;mso-ansi-language:EN-US'><o:p> </o:p></span></p>
<p class=MsoNormal style='tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;
@@ -10310,28 +10409,34 @@
color:blue;mso-ansi-language:EN-US;mso-no-proof:yes'>typedef</span><span
lang=EN-US style='font-size:10.0pt;font-family:"Courier New";mso-fareast-font-family:
"Times New Roman";mso-ansi-language:EN-US;mso-no-proof:yes'> <span
-style='color:#030003'>BOOST_TYPEOF</span>(<span style='color:#030003'>build_stt<o:p></o:p></span></span></p>
+style='color:#030003'>BOOST_TYPEOF</span>(<span style='color:#030003'>build_stt</span>((<span
+style='color:#030003'><o:p></o:p></span></span></p>
<p class=MsoNormal style='tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;
mso-layout-grid-align:none;text-autospace:none'><span lang=EN-US
style='font-size:10.0pt;font-family:"Courier New";mso-fareast-font-family:"Times New Roman";
mso-ansi-language:EN-US;mso-no-proof:yes'><span
-style='mso-spacerun:yes'> </span>((<span style='color:#030003'>Stopped</span>()
+style='mso-spacerun:yes'> </span><span
+style='mso-spacerun:yes'> </span><span style='color:#030003'>Stopped</span>()
+ <span style='color:#030003'>play</span>()<span
-style='mso-spacerun:yes'> </span>== <span
-style='color:#030003'>Playing</span>()<span style='mso-spacerun:yes'>
-</span>[DummyGuard()] / (TestFct(),<span style='color:#030003'>start_playback</span>())
-,<o:p></o:p></span></p>
+style='mso-spacerun:yes'> </span><span
+style='mso-spacerun:yes'> </span>[DummyGuard()] /
+(TestFct(),<span style='color:#030003'>start_playback</span>())<span
+style='mso-tab-count:1'> </span>== <span style='color:#030003'>Playing</span>()<span
+style='mso-spacerun:yes'> </span><span style='mso-tab-count:1'> </span>,<o:p></o:p></span></p>
<p class=MsoNormal style='tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;
mso-layout-grid-align:none;text-autospace:none'><span lang=EN-US
style='font-size:10.0pt;font-family:"Courier New";mso-fareast-font-family:"Times New Roman";
mso-ansi-language:EN-US;mso-no-proof:yes'><span
style='mso-spacerun:yes'> </span><span
-style='color:#030003'>Stopped</span>() + <span style='color:#030003'>open_close</span>()<span
-style='mso-spacerun:yes'> </span>== <span style='color:#030003'>Open</span>()<span
-style='mso-spacerun:yes'> </span>/ <span
-style='color:#030003'>open_drawer</span>(),<o:p></o:p></span></p>
+style='color:#030003'>Stopped</span>() + <span style='color:#030003'>open_close</span>()/
+<span style='color:#030003'>open_drawer</span>() <span style='mso-tab-count:
+1'> </span><span style='mso-tab-count:2'> </span><span
+style='mso-tab-count:1'> </span>== <span
+style='color:#030003'>Open</span>()<span
+style='mso-spacerun:yes'> </span><span
+style='mso-tab-count:1'> </span>,<o:p></o:p></span></p>
<p class=MsoNormal style='tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;
mso-layout-grid-align:none;text-autospace:none'><span lang=EN-US
@@ -10339,8 +10444,10 @@
mso-ansi-language:EN-US;mso-no-proof:yes'><span
style='mso-spacerun:yes'> </span><span
style='color:#030003'>Stopped</span>() + <span style='color:#030003'>stop</span>()<span
-style='mso-spacerun:yes'> </span>== <span
-style='color:#030003'>Stopped</span>(),<o:p></o:p></span></p>
+style='mso-spacerun:yes'> </span><span
+style='mso-tab-count:5'> </span><span
+style='mso-tab-count:1'> </span>== <span
+style='color:#030003'>Stopped</span>()<span style='mso-tab-count:1'> </span>,<o:p></o:p></span></p>
<p class=MsoNormal style='tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;
mso-layout-grid-align:none;text-autospace:none'><span lang=EN-US
@@ -10356,9 +10463,13 @@
mso-ansi-language:EN-US;mso-no-proof:yes'><span
style='mso-spacerun:yes'> </span><span
style='color:#030003'>Open</span>()<span
-style='mso-spacerun:yes'> </span>+ <span style='color:#030003'>open_close</span>()<span
-style='mso-spacerun:yes'> </span>== <span style='color:#030003'>Empty</span>()<span
-style='mso-spacerun:yes'> </span>/ <span style='color:#030003'>close_drawer</span>(),<o:p></o:p></span></p>
+style='mso-spacerun:yes'> </span>+ <span style='color:#030003'>open_close</span>()/
+<span style='color:#030003'>close_drawer</span>() <span style='mso-tab-count:
+3'> </span><span
+style='mso-tab-count:1'> </span>== <span
+style='color:#030003'>Empty</span>()<span
+style='mso-spacerun:yes'> </span><span style='mso-tab-count:
+1'> </span>,<o:p></o:p></span></p>
<p class=MsoNormal style='tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;
mso-layout-grid-align:none;text-autospace:none'><span lang=EN-US
@@ -10374,10 +10485,114 @@
mso-ansi-language:EN-US;mso-no-proof:yes'><span
style='mso-spacerun:yes'> </span><span
style='color:#030003'>Empty</span>()<span style='mso-spacerun:yes'>
-</span>+ <span style='color:#030003'>open_close</span>()<span
-style='mso-spacerun:yes'> </span>== <span style='color:#030003'>Open</span>()<span
-style='mso-spacerun:yes'> </span>/ <span
-style='color:#030003'>open_drawer</span>(),<o:p></o:p></span></p>
+</span>+ <span style='color:#030003'>open_close</span>()/ <span
+style='color:#030003'>open_drawer</span>() <span style='mso-tab-count:3'> </span><span
+style='mso-tab-count:1'> </span>== <span
+style='color:#030003'>Open</span>()<span
+style='mso-spacerun:yes'> </span><span
+style='mso-tab-count:1'> </span>,<o:p></o:p></span></p>
+
+<p class=MsoNormal style='tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;
+mso-layout-grid-align:none;text-autospace:none'><span lang=EN-US
+style='font-size:10.0pt;font-family:"Courier New";mso-fareast-font-family:"Times New Roman";
+mso-ansi-language:EN-US;mso-no-proof:yes'><span
+style='mso-spacerun:yes'> </span><span
+style='color:#030003'>Empty</span>()<span style='mso-spacerun:yes'>
+</span>+ <span style='color:#030003'>cd_detected</span>()[<span
+style='color:#030003'>good_disk_format</span>()] / <span style='color:#030003'>store_cd_info</span>()
+<span style='mso-tab-count:1'> </span>==
+<span style='color:#030003'>Stopped</span>()<span
+style='mso-spacerun:yes'> </span><span style='mso-tab-count:1'> </span>,<o:p></o:p></span></p>
+
+<p class=MsoNormal style='tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;
+mso-layout-grid-align:none;text-autospace:none'><span lang=EN-US
+style='font-size:10.0pt;font-family:"Courier New";mso-fareast-font-family:"Times New Roman";
+mso-ansi-language:EN-US;mso-no-proof:yes'><span
+style='mso-spacerun:yes'> </span><span
+style='color:green'>//<span style='mso-spacerun:yes'> </span>+------------------------------------------------------------------------------+<o:p></o:p></span></span></p>
+
+<p class=MsoNormal style='tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;
+mso-layout-grid-align:none;text-autospace:none'><span lang=EN-US
+style='font-size:10.0pt;font-family:"Courier New";mso-fareast-font-family:"Times New Roman";
+color:#030003;mso-ansi-language:EN-US;mso-no-proof:yes'><span
+style='mso-spacerun:yes'> </span></span><span
+lang=EN-US style='font-size:10.0pt;font-family:"Courier New";mso-fareast-font-family:
+"Times New Roman";color:green;mso-ansi-language:EN-US;mso-no-proof:yes'>//<span
+style='mso-spacerun:yes'> </span>more rows</span><span lang=EN-US
+style='font-size:10.0pt;font-family:"Courier New";mso-fareast-font-family:"Times New Roman";
+mso-ansi-language:EN-US;mso-no-proof:yes'><o:p></o:p></span></p>
+
+<p class=MsoNormal style='tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;
+mso-layout-grid-align:none;text-autospace:none'><span lang=EN-US
+style='font-size:10.0pt;font-family:"Courier New";mso-fareast-font-family:"Times New Roman";
+mso-ansi-language:EN-US;mso-no-proof:yes'><span
+style='mso-spacerun:yes'> </span><span
+style='color:green'>//<span style='mso-spacerun:yes'>
+</span>+------------------------------------------------------------------------------+<o:p></o:p></span></span></p>
+
+<p class=MsoNormal style='tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;
+mso-layout-grid-align:none;text-autospace:none'><span lang=EN-US
+style='font-size:10.0pt;font-family:"Courier New";mso-fareast-font-family:"Times New Roman";
+mso-ansi-language:EN-US;mso-no-proof:yes'><span
+style='mso-spacerun:yes'>
+</span>) ) ) <span style='color:#030003'>transition_table</span>;<o:p></o:p></span></p>
+
+<p style='margin-bottom:0cm;margin-bottom:.0001pt;tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'><span
+lang=EN-US style='color:black;mso-ansi-language:EN-US'>Or<span
+style='mso-spacerun:yes'> </span>as alternative syntax: target == source
++ event [guard] / action<o:p></o:p></span></p>
+
+<p class=MsoNormal style='tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;
+mso-layout-grid-align:none;text-autospace:none'><span lang=EN-US
+style='font-size:10.0pt;font-family:"Courier New";mso-fareast-font-family:"Times New Roman";
+color:blue;mso-ansi-language:EN-US;mso-no-proof:yes'>typedef</span><span
+lang=EN-US style='font-size:10.0pt;font-family:"Courier New";mso-fareast-font-family:
+"Times New Roman";mso-ansi-language:EN-US;mso-no-proof:yes'> <span
+style='color:#030003'>BOOST_TYPEOF</span>(<span style='color:#030003'>build_stt</span>((<span
+style='color:#030003'><o:p></o:p></span></span></p>
+
+<p class=MsoNormal style='tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;
+mso-layout-grid-align:none;text-autospace:none'><span lang=EN-US
+style='font-size:10.0pt;font-family:"Courier New";mso-fareast-font-family:"Times New Roman";
+mso-ansi-language:EN-US;mso-no-proof:yes'><span
+style='mso-spacerun:yes'> </span><span
+style='mso-spacerun:yes'> </span><span style='color:#030003'>Playing</span>()
+== <span style='color:#030003'>Stopped</span>() + <span style='color:#030003'>play</span>()<span
+style='mso-spacerun:yes'> </span><span
+style='mso-spacerun:yes'> </span><span
+style='mso-spacerun:yes'> </span>[DummyGuard()] / (TestFct(),<span
+style='color:#030003'>start_playback</span>())<span
+style='mso-spacerun:yes'> </span>,<o:p></o:p></span></p>
+
+<p class=MsoNormal style='tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;
+mso-layout-grid-align:none;text-autospace:none'><span lang=EN-US
+style='font-size:10.0pt;font-family:"Courier New";mso-fareast-font-family:"Times New Roman";
+mso-ansi-language:EN-US;mso-no-proof:yes'><span
+style='mso-spacerun:yes'> </span><span
+style='color:#030003'>Open</span>()<span
+style='mso-spacerun:yes'> </span>== <span style='color:#030003'>Stopped</span>()
++ <span style='color:#030003'>open_close</span>() /<span style='color:#030003'>open_drawer</span>()
+<span style='mso-tab-count:1'> </span><span style='mso-tab-count:2'> </span><span
+style='mso-tab-count:1'> </span>,<o:p></o:p></span></p>
+
+<p class=MsoNormal style='tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;
+mso-layout-grid-align:none;text-autospace:none'><span lang=EN-US
+style='font-size:10.0pt;font-family:"Courier New";mso-fareast-font-family:"Times New Roman";
+mso-ansi-language:EN-US;mso-no-proof:yes'><span
+style='mso-spacerun:yes'> </span><span
+style='color:#030003'>Stopped</span>() == <span style='color:#030003'>Stopped</span>()
++ <span style='color:#030003'>stop</span>()<span
+style='mso-spacerun:yes'> </span><span
+style='mso-tab-count:5'> </span><span
+style='mso-tab-count:1'> </span>,<o:p></o:p></span></p>
+
+<p class=MsoNormal style='tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;
+mso-layout-grid-align:none;text-autospace:none'><span lang=EN-US
+style='font-size:10.0pt;font-family:"Courier New";mso-fareast-font-family:"Times New Roman";
+mso-ansi-language:EN-US;mso-no-proof:yes'><span
+style='mso-spacerun:yes'> </span><span
+style='color:green'>//<span style='mso-spacerun:yes'>
+</span>+------------------------------------------------------------------------------+<o:p></o:p></span></span></p>
<p class=MsoNormal style='tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;
mso-layout-grid-align:none;text-autospace:none'><span lang=EN-US
@@ -10385,10 +10600,41 @@
mso-ansi-language:EN-US;mso-no-proof:yes'><span
style='mso-spacerun:yes'> </span><span
style='color:#030003'>Empty</span>()<span style='mso-spacerun:yes'>
-</span>+ <span style='color:#030003'>cd_detected</span>() == <span
-style='color:#030003'>Stopped</span>()<span style='mso-spacerun:yes'>
-</span>[<span style='color:#030003'>good_disk_format</span>()] / <span
-style='color:#030003'>store_cd_info</span>(),<o:p></o:p></span></p>
+</span>== <span style='color:#030003'>Open</span>()<span
+style='mso-spacerun:yes'> </span>+ <span style='color:#030003'>open_close</span>()
+/ <span style='color:#030003'>close_drawer</span>() <span style='mso-tab-count:
+2'> </span><span
+style='mso-tab-count:2'> </span>,<o:p></o:p></span></p>
+
+<p class=MsoNormal style='tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;
+mso-layout-grid-align:none;text-autospace:none'><span lang=EN-US
+style='font-size:10.0pt;font-family:"Courier New";mso-fareast-font-family:"Times New Roman";
+mso-ansi-language:EN-US;mso-no-proof:yes'><span
+style='mso-spacerun:yes'> </span><span
+style='color:green'>//<span style='mso-spacerun:yes'>
+</span>+------------------------------------------------------------------------------+<o:p></o:p></span></span></p>
+
+<p class=MsoNormal style='tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;
+mso-layout-grid-align:none;text-autospace:none'><span lang=EN-US
+style='font-size:10.0pt;font-family:"Courier New";mso-fareast-font-family:"Times New Roman";
+mso-ansi-language:EN-US;mso-no-proof:yes'><span
+style='mso-spacerun:yes'> </span><span
+style='color:#030003'>Open</span>()<span style='mso-tab-count:1'> </span>
+== <span style='color:#030003'>Empty</span>()<span
+style='mso-spacerun:yes'> </span>+ <span style='color:#030003'>open_close</span>()
+/ <span style='color:#030003'>open_drawer</span>() <span style='mso-tab-count:
+3'> </span><span
+style='mso-tab-count:1'> </span>,<o:p></o:p></span></p>
+
+<p class=MsoNormal style='tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;
+mso-layout-grid-align:none;text-autospace:none'><span lang=EN-US
+style='font-size:10.0pt;font-family:"Courier New";mso-fareast-font-family:"Times New Roman";
+mso-ansi-language:EN-US;mso-no-proof:yes'><span
+style='mso-spacerun:yes'> </span><span
+style='color:#030003'>Stopped</span>() == <span style='color:#030003'>Empty</span>()<span
+style='mso-spacerun:yes'> </span>+ <span style='color:#030003'>cd_detected</span>()[<span
+style='color:#030003'>good_disk_format</span>()] / <span style='color:#030003'>store_cd_info</span>()
+<span style='mso-tab-count:1'> </span>,<o:p></o:p></span></p>
<p class=MsoNormal style='tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;
mso-layout-grid-align:none;text-autospace:none'><span lang=EN-US
@@ -10424,6 +10670,9 @@
</span>) ) ) <span style='color:#030003'>transition_table</span>;<o:p></o:p></span></p>
<p style='margin-bottom:0cm;margin-bottom:.0001pt;tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'><span
+lang=EN-US style='color:black;mso-ansi-language:EN-US'><o:p> </o:p></span></p>
+
+<p style='margin-bottom:0cm;margin-bottom:.0001pt;tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'><span
lang=EN-US style='color:black;mso-ansi-language:EN-US'>UML defines guards
between “[ ]” and actions after a “/”, so this is
already more readable for UML designers. UML also allows designers to define
@@ -10543,8 +10792,8 @@
<p style='margin-bottom:0cm;margin-bottom:.0001pt;tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'><span
lang=EN-US style='mso-ansi-language:EN-US'>The only differences with our
-previous functors is that they return a bool (guards are in UML actions
-returning a bool and producing no side-effect), and they must inherit from </span><span
+previous functors is that they return a bool (guards are in UML actions returning
+a bool and producing no side-effect), and they must inherit from </span><span
lang=EN-US style='font-family:"Courier New";mso-ansi-language:EN-US'>euml_action</span><span
lang=EN-US style='mso-ansi-language:EN-US'> in order to enable the grammar. The
same is also necessary for events which must inherit from euml_event:<o:p></o:p></span></p>
@@ -10581,8 +10830,8 @@
lang=EN-US style='mso-ansi-language:EN-US'><o:p></o:p></span></p>
<p style='margin-bottom:0cm;margin-bottom:.0001pt;tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'><span
-lang=EN-US style='mso-ansi-language:EN-US'>This means that Empty is defined as a
-state with an entry action made of two sub-actions, </span><span lang=EN-US
+lang=EN-US style='mso-ansi-language:EN-US'>This means that Empty is defined as
+a state with an entry action made of two sub-actions, </span><span lang=EN-US
style='font-family:"Courier New";mso-ansi-language:EN-US'>Empty_Entry</span><span
lang=EN-US style='mso-ansi-language:EN-US'> and </span><span lang=EN-US
style='font-family:"Courier New";mso-ansi-language:EN-US'>Dummy_Entry </span><span
@@ -10747,8 +10996,8 @@
lang=EN-US style='mso-ansi-language:EN-US'><o:p> </o:p></span></p>
<p style='margin-bottom:0cm;margin-bottom:.0001pt;tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'><span
-lang=EN-US style='mso-ansi-language:EN-US'>Likewise, eUML provides other
-state-building functions for other types of states:<o:p></o:p></span></p>
+lang=EN-US style='mso-ansi-language:EN-US'>Likewise, eUML provides other state-building
+functions for other types of states:<o:p></o:p></span></p>
<p style='margin-bottom:0cm;margin-bottom:.0001pt;tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'><span
lang=EN-US style='font-family:"Courier New";mso-fareast-font-family:"Times New Roman";
@@ -10901,33 +11150,35 @@
mso-ansi-language:EN-US;mso-no-proof:yes'><span
style='mso-spacerun:yes'> </span>( <span style='mso-tab-count:1'> </span><span
style='color:#030003'>Stopped</span>() + <span style='color:#030003'>play</span>()<span
-style='mso-spacerun:yes'> </span>== <span
-style='color:#030003'>Playing</span>()<span style='mso-spacerun:yes'>
-</span>/ <span style='color:#030003'>start_playback</span>(),<o:p></o:p></span></p>
+style='mso-spacerun:yes'> </span>/ <span
+style='color:#030003'>start_playback</span>() <span style='mso-tab-count:1'> </span>==
+<span style='color:#030003'>Playing</span>()<span
+style='mso-spacerun:yes'> </span>,<o:p></o:p></span></p>
<p class=MsoNormal style='tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;
mso-layout-grid-align:none;text-autospace:none'><span lang=EN-US
style='font-size:10.0pt;font-family:"Courier New";mso-fareast-font-family:"Times New Roman";
mso-ansi-language:EN-US;mso-no-proof:yes'><span style='mso-tab-count:1'> </span><span
style='color:#030003'>Stopped</span>() + <span style='color:#030003'>open_close</span>()<span
-style='mso-spacerun:yes'> </span>== <span style='color:#030003'>Open</span>()<span
-style='mso-spacerun:yes'> </span>/ <span
-style='color:#030003'>open_drawer</span>(),<o:p></o:p></span></p>
+style='mso-spacerun:yes'> </span>/ <span style='color:#030003'>open_drawer</span>()<span
+style='mso-tab-count:1'> </span>== <span
+style='color:#030003'>Open</span>()<span
+style='mso-spacerun:yes'> </span>,<o:p></o:p></span></p>
<p class=MsoNormal style='tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;
mso-layout-grid-align:none;text-autospace:none'><span lang=EN-US
style='font-size:10.0pt;font-family:"Courier New";mso-fareast-font-family:"Times New Roman";
mso-ansi-language:EN-US;mso-no-proof:yes'><span style='mso-tab-count:1'> </span><span
style='color:#030003'>Stopped</span>() + <span style='color:#030003'>stop</span>()<span
-style='mso-spacerun:yes'> </span>== <span
-style='color:#030003'>Stopped</span>(),<o:p></o:p></span></p>
+style='mso-spacerun:yes'> </span><span
+style='mso-tab-count:3'> </span>==
+<span style='color:#030003'>Stopped</span>(),<o:p></o:p></span></p>
<p class=MsoNormal style='tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;
mso-layout-grid-align:none;text-autospace:none'><span lang=EN-US
style='font-size:10.0pt;font-family:"Courier New";mso-fareast-font-family:"Times New Roman";
mso-ansi-language:EN-US;mso-no-proof:yes'><span style='mso-tab-count:1'> </span><span
-style='color:green'>//<span style='mso-spacerun:yes'>
-</span>+------------------------------------------------------------------------------+<o:p></o:p></span></span></p>
+style='color:green'>//<span style='mso-spacerun:yes'> </span>+------------------------------------------------------------------------------+<o:p></o:p></span></span></p>
<p class=MsoNormal style='tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;
mso-layout-grid-align:none;text-autospace:none'><span lang=EN-US
@@ -10935,8 +11186,9 @@
mso-ansi-language:EN-US;mso-no-proof:yes'><span style='mso-tab-count:1'> </span><span
style='color:#030003'>Open</span>()<span
style='mso-spacerun:yes'> </span>+ <span style='color:#030003'>open_close</span>()<span
-style='mso-spacerun:yes'> </span>== <span style='color:#030003'>Empty</span>()<span
-style='mso-spacerun:yes'> </span>/ <span style='color:#030003'>close_drawer</span>(),<o:p></o:p></span></p>
+style='mso-spacerun:yes'> </span>/ <span style='color:#030003'>close_drawer</span>()<span
+style='mso-tab-count:1'> </span>== <span style='color:#030003'>Empty</span>()<span
+style='mso-spacerun:yes'> </span>,<o:p></o:p></span></p>
<p class=MsoNormal style='tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;
mso-layout-grid-align:none;text-autospace:none'><span lang=EN-US
@@ -10951,9 +11203,10 @@
mso-ansi-language:EN-US;mso-no-proof:yes'><span style='mso-tab-count:1'> </span><span
style='color:#030003'>Empty</span>()<span style='mso-spacerun:yes'>
</span>+ <span style='color:#030003'>open_close</span>()<span
-style='mso-spacerun:yes'> </span>== <span style='color:#030003'>Open</span>()<span
-style='mso-spacerun:yes'> </span>/ <span
-style='color:#030003'>open_drawer</span>(),<o:p></o:p></span></p>
+style='mso-spacerun:yes'> </span>/ <span style='color:#030003'>open_drawer</span>()<span
+style='mso-tab-count:1'> </span>== <span
+style='color:#030003'>Open</span>()<span
+style='mso-spacerun:yes'> </span>,<o:p></o:p></span></p>
<p class=MsoNormal style='tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;
mso-layout-grid-align:none;text-autospace:none'><span lang=EN-US
@@ -10961,15 +11214,16 @@
mso-ansi-language:EN-US;mso-no-proof:yes'><span style='mso-tab-count:1'> </span><span
style='color:#030003'>Paused</span>()<span style='mso-spacerun:yes'>
</span>+ <span style='color:#030003'>open_close</span>()<span
-style='mso-spacerun:yes'> </span>== <span style='color:#030003'>Open</span>()<span
-style='mso-spacerun:yes'> </span>/ <span
-style='color:#030003'>stop_and_open</span>()<o:p></o:p></span></p>
+style='mso-spacerun:yes'> </span>/ <span style='color:#030003'>stop_and_open</span>()<span
+style='mso-tab-count:1'> </span>== <span style='color:#030003'>Open</span>()<span
+style='mso-spacerun:yes'> </span><o:p></o:p></span></p>
<p class=MsoNormal style='tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;
mso-layout-grid-align:none;text-autospace:none'><span lang=EN-US
style='font-size:10.0pt;font-family:"Courier New";mso-fareast-font-family:"Times New Roman";
mso-ansi-language:EN-US;mso-no-proof:yes'><span style='mso-tab-count:1'> </span><span
-style='color:green'>//<span style='mso-spacerun:yes'> </span>+------------------------------------------------------------------------------+<o:p></o:p></span></span></p>
+style='color:green'>//<span style='mso-spacerun:yes'>
+</span>+------------------------------------------------------------------------------+<o:p></o:p></span></span></p>
<p style='margin-bottom:0cm;margin-bottom:.0001pt;tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'><span
lang=EN-US style='font-size:10.0pt;font-family:"Courier New";mso-fareast-font-family:
@@ -11322,14 +11576,61 @@
mso-no-proof:yes'><o:p> </o:p></span></p>
<h3 style='tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'><a
+name="_Internal_transitions_1"></a><span lang=EN-US style='mso-fareast-font-family:
+"Times New Roman";mso-ansi-language:EN-US;mso-no-proof:yes'>Internal
+transitions<o:p></o:p></span></h3>
+
+<p class=MsoNormal style='tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;
+mso-layout-grid-align:none;text-autospace:none'><span lang=EN-US
+style='mso-fareast-font-family:"Times New Roman";mso-ansi-language:EN-US;
+mso-no-proof:yes'>Defining an internal transition with eUML and only requires
+you to omit the target state. So for example:<o:p></o:p></span></p>
+
+<p class=MsoNormal style='tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;
+mso-layout-grid-align:none;text-autospace:none'><span lang=EN-US
+style='mso-fareast-font-family:"Times New Roman";mso-ansi-language:EN-US;
+mso-no-proof:yes'><o:p> </o:p></span></p>
+
+<p class=MsoNormal style='tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;
+mso-layout-grid-align:none;text-autospace:none'><span lang=EN-US
+style='font-size:10.0pt;font-family:"Courier New";mso-fareast-font-family:"Times New Roman";
+color:#030003;mso-ansi-language:EN-US;mso-no-proof:yes'>Open</span><span
+lang=EN-US style='font-size:10.0pt;font-family:"Courier New";mso-fareast-font-family:
+"Times New Roman";mso-ansi-language:EN-US;mso-no-proof:yes'>() + <span
+style='color:#030003'>internal_event</span>() / <span style='color:#030003'>internal_action</span>()</span><span
+lang=EN-US style='mso-fareast-font-family:"Times New Roman";mso-ansi-language:
+EN-US;mso-no-proof:yes'><o:p></o:p></span></p>
+
+<p class=MsoNormal style='tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;
+mso-layout-grid-align:none;text-autospace:none'><span lang=EN-US
+style='mso-fareast-font-family:"Times New Roman";mso-ansi-language:EN-US;
+mso-no-proof:yes'><o:p> </o:p></span></p>
+
+<p class=MsoNormal style='tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;
+mso-layout-grid-align:none;text-autospace:none'><span lang=EN-US
+style='mso-fareast-font-family:"Times New Roman";mso-ansi-language:EN-US;
+mso-no-proof:yes'>Defines a transition internal to </span><span lang=EN-US
+style='font-family:"Courier New";mso-fareast-font-family:"Times New Roman";
+mso-ansi-language:EN-US;mso-no-proof:yes'>Open</span><span lang=EN-US
+style='mso-fareast-font-family:"Times New Roman";mso-ansi-language:EN-US;
+mso-no-proof:yes'>, triggered by </span><span lang=EN-US style='font-family:
+"Courier New";mso-fareast-font-family:"Times New Roman";mso-ansi-language:EN-US;
+mso-no-proof:yes'>internal_event</span><span lang=EN-US style='mso-fareast-font-family:
+"Times New Roman";mso-ansi-language:EN-US;mso-no-proof:yes'> and executing </span><span
+lang=EN-US style='font-family:"Courier New";mso-fareast-font-family:"Times New Roman";
+mso-ansi-language:EN-US;mso-no-proof:yes'>internal_action</span><span
+lang=EN-US style='mso-fareast-font-family:"Times New Roman";mso-ansi-language:
+EN-US;mso-no-proof:yes'>.<o:p></o:p></span></p>
+
+<h3 style='tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'><a
name="_Fork"></a><span lang=EN-US style='mso-ansi-language:EN-US'>Fork<o:p></o:p></span></h3>
<p class=MsoNormal style='tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'><span
lang=EN-US style='mso-fareast-font-family:"Times New Roman";mso-ansi-language:
-EN-US;mso-no-proof:yes'>A fork is a direct entry into
-several regions of a composite substate. EUML also supports this by allowing
-the user to define a list of entry states separated by a comma and enclosed
-inside parenthesis, for eaxample:<o:p></o:p></span></p>
+EN-US;mso-no-proof:yes'>A fork is a direct entry into several
+regions of a composite substate. EUML also supports this by allowing the user
+to define a list of entry states separated by a comma and enclosed inside
+parenthesis, for eaxample:<o:p></o:p></span></p>
<p class=MsoNormal style='tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'><span
lang=EN-US style='mso-fareast-font-family:"Times New Roman";mso-ansi-language:
@@ -11401,7 +11702,7 @@
“Empty” containing 3 attributes:<o:p></o:p></span></p>
<p style='margin-top:5.0pt;margin-right:0cm;margin-bottom:0cm;margin-left:36.0pt;
-margin-bottom:.0001pt;text-indent:-18.0pt;mso-list:l31 level1 lfo28;tab-stops:
+margin-bottom:.0001pt;text-indent:-18.0pt;mso-list:l32 level1 lfo28;tab-stops:
45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'><![if !supportLists]><span
lang=EN-US style='font-family:Symbol;mso-fareast-font-family:Symbol;mso-bidi-font-family:
Symbol;mso-ansi-language:EN-US'><span style='mso-list:Ignore'>·<span
@@ -11409,7 +11710,7 @@
lang=EN-US style='mso-ansi-language:EN-US'>An int, at index 0<o:p></o:p></span></p>
<p style='margin-top:5.0pt;margin-right:0cm;margin-bottom:0cm;margin-left:36.0pt;
-margin-bottom:.0001pt;text-indent:-18.0pt;mso-list:l31 level1 lfo28;tab-stops:
+margin-bottom:.0001pt;text-indent:-18.0pt;mso-list:l32 level1 lfo28;tab-stops:
45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'><![if !supportLists]><span
lang=EN-US style='font-family:Symbol;mso-fareast-font-family:Symbol;mso-bidi-font-family:
Symbol;mso-ansi-language:EN-US'><span style='mso-list:Ignore'>·<span
@@ -11417,7 +11718,7 @@
lang=EN-US style='mso-ansi-language:EN-US'>A std::map<int,int> at index 1<o:p></o:p></span></p>
<p style='margin-top:5.0pt;margin-right:0cm;margin-bottom:0cm;margin-left:36.0pt;
-margin-bottom:.0001pt;text-indent:-18.0pt;mso-list:l31 level1 lfo28;tab-stops:
+margin-bottom:.0001pt;text-indent:-18.0pt;mso-list:l32 level1 lfo28;tab-stops:
45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'><![if !supportLists]><span
lang=EN-US style='font-family:Symbol;mso-fareast-font-family:Symbol;mso-bidi-font-family:
Symbol;mso-ansi-language:EN-US'><span style='mso-list:Ignore'>·<span
@@ -11522,7 +11823,7 @@
attributes in our grammar. To this aim, eUML provides several functors:<o:p></o:p></span></p>
<p style='margin-top:5.0pt;margin-right:0cm;margin-bottom:0cm;margin-left:36.0pt;
-margin-bottom:.0001pt;text-indent:-18.0pt;mso-list:l39 level1 lfo29;tab-stops:
+margin-bottom:.0001pt;text-indent:-18.0pt;mso-list:l40 level1 lfo29;tab-stops:
45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'><![if !supportLists]><span
lang=EN-US style='font-family:Symbol;mso-fareast-font-family:Symbol;mso-bidi-font-family:
Symbol;mso-ansi-language:EN-US'><span style='mso-list:Ignore'>·<span
@@ -11545,7 +11846,7 @@
lang=EN-US style='mso-ansi-language:EN-US'><o:p></o:p></span></p>
<p style='margin-top:5.0pt;margin-right:0cm;margin-bottom:0cm;margin-left:36.0pt;
-margin-bottom:.0001pt;text-indent:-18.0pt;mso-list:l39 level1 lfo29;tab-stops:
+margin-bottom:.0001pt;text-indent:-18.0pt;mso-list:l40 level1 lfo29;tab-stops:
45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'><![if !supportLists]><span
lang=EN-US style='font-family:Symbol;mso-fareast-font-family:Symbol;mso-bidi-font-family:
Symbol;mso-ansi-language:EN-US'><span style='mso-list:Ignore'>·<span
@@ -11560,7 +11861,7 @@
state. </span><span lang=EN-US style='mso-ansi-language:EN-US'><o:p></o:p></span></p>
<p style='margin-top:5.0pt;margin-right:0cm;margin-bottom:0cm;margin-left:36.0pt;
-margin-bottom:.0001pt;text-indent:-18.0pt;mso-list:l39 level1 lfo29;tab-stops:
+margin-bottom:.0001pt;text-indent:-18.0pt;mso-list:l40 level1 lfo29;tab-stops:
45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'><![if !supportLists]><span
lang=EN-US style='font-family:Symbol;mso-fareast-font-family:Symbol;mso-bidi-font-family:
Symbol;mso-ansi-language:EN-US'><span style='mso-list:Ignore'>·<span
@@ -11575,7 +11876,7 @@
state. </span><span lang=EN-US style='mso-ansi-language:EN-US'><o:p></o:p></span></p>
<p style='margin-top:5.0pt;margin-right:0cm;margin-bottom:0cm;margin-left:36.0pt;
-margin-bottom:.0001pt;text-indent:-18.0pt;mso-list:l39 level1 lfo29;tab-stops:
+margin-bottom:.0001pt;text-indent:-18.0pt;mso-list:l40 level1 lfo29;tab-stops:
45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'><![if !supportLists]><span
lang=EN-US style='font-family:Symbol;mso-fareast-font-family:Symbol;mso-bidi-font-family:
Symbol;mso-ansi-language:EN-US'><span style='mso-list:Ignore'>·<span
@@ -11593,7 +11894,7 @@
mso-no-proof:yes'>.</span><span lang=EN-US style='mso-ansi-language:EN-US'><o:p></o:p></span></p>
<p style='margin-top:5.0pt;margin-right:0cm;margin-bottom:0cm;margin-left:36.0pt;
-margin-bottom:.0001pt;text-indent:-18.0pt;mso-list:l39 level1 lfo29;tab-stops:
+margin-bottom:.0001pt;text-indent:-18.0pt;mso-list:l40 level1 lfo29;tab-stops:
45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'><![if !supportLists]><span
lang=EN-US style='font-family:Symbol;mso-fareast-font-family:Symbol;mso-bidi-font-family:
Symbol;mso-ansi-language:EN-US'><span style='mso-list:Ignore'>·<span
@@ -11608,7 +11909,7 @@
style='mso-ansi-language:EN-US'><o:p></o:p></span></p>
<p style='margin-top:5.0pt;margin-right:0cm;margin-bottom:0cm;margin-left:36.0pt;
-margin-bottom:.0001pt;text-indent:-18.0pt;mso-list:l39 level1 lfo29;tab-stops:
+margin-bottom:.0001pt;text-indent:-18.0pt;mso-list:l40 level1 lfo29;tab-stops:
45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'><![if !supportLists]><span
lang=EN-US style='font-family:Symbol;mso-fareast-font-family:Symbol;mso-bidi-font-family:
Symbol;mso-ansi-language:EN-US'><span style='mso-list:Ignore'>·<span
@@ -12142,7 +12443,7 @@
operators at our disposal:<o:p></o:p></span></p>
<p style='margin-top:5.0pt;margin-right:0cm;margin-bottom:0cm;margin-left:36.0pt;
-margin-bottom:.0001pt;text-indent:-18.0pt;mso-list:l16 level1 lfo31;tab-stops:
+margin-bottom:.0001pt;text-indent:-18.0pt;mso-list:l17 level1 lfo31;tab-stops:
45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'><![if !supportLists]><span
lang=EN-US style='font-family:Symbol;mso-fareast-font-family:Symbol;mso-bidi-font-family:
Symbol;mso-ansi-language:EN-US'><span style='mso-list:Ignore'>·<span
@@ -12150,7 +12451,7 @@
lang=EN-US style='mso-ansi-language:EN-US'>And<o:p></o:p></span></p>
<p style='margin-top:5.0pt;margin-right:0cm;margin-bottom:0cm;margin-left:36.0pt;
-margin-bottom:.0001pt;text-indent:-18.0pt;mso-list:l16 level1 lfo31;tab-stops:
+margin-bottom:.0001pt;text-indent:-18.0pt;mso-list:l17 level1 lfo31;tab-stops:
45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'><![if !supportLists]><span
lang=EN-US style='font-family:Symbol;mso-fareast-font-family:Symbol;mso-bidi-font-family:
Symbol;mso-ansi-language:EN-US'><span style='mso-list:Ignore'>·<span
@@ -12158,7 +12459,7 @@
lang=EN-US style='mso-ansi-language:EN-US'>Or<o:p></o:p></span></p>
<p style='margin-top:5.0pt;margin-right:0cm;margin-bottom:0cm;margin-left:36.0pt;
-margin-bottom:.0001pt;text-indent:-18.0pt;mso-list:l16 level1 lfo31;tab-stops:
+margin-bottom:.0001pt;text-indent:-18.0pt;mso-list:l17 level1 lfo31;tab-stops:
45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'><![if !supportLists]><span
lang=EN-US style='font-family:Symbol;mso-fareast-font-family:Symbol;mso-bidi-font-family:
Symbol;mso-ansi-language:EN-US'><span style='mso-list:Ignore'>·<span
@@ -12166,7 +12467,7 @@
lang=EN-US style='mso-ansi-language:EN-US'>Not<o:p></o:p></span></p>
<p style='margin-top:5.0pt;margin-right:0cm;margin-bottom:0cm;margin-left:36.0pt;
-margin-bottom:.0001pt;text-indent:-18.0pt;mso-list:l16 level1 lfo31;tab-stops:
+margin-bottom:.0001pt;text-indent:-18.0pt;mso-list:l17 level1 lfo31;tab-stops:
45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'><![if !supportLists]><span
lang=EN-US style='font-family:Symbol;mso-fareast-font-family:Symbol;mso-bidi-font-family:
Symbol;mso-ansi-language:EN-US'><span style='mso-list:Ignore'>·<span
@@ -12254,7 +12555,7 @@
syntax:<o:p></o:p></span></p>
<p style='margin-top:5.0pt;margin-right:0cm;margin-bottom:0cm;margin-left:36.0pt;
-margin-bottom:.0001pt;text-indent:-18.0pt;mso-list:l45 level1 lfo33;tab-stops:
+margin-bottom:.0001pt;text-indent:-18.0pt;mso-list:l46 level1 lfo33;tab-stops:
45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'><![if !supportLists]><span
lang=EN-US style='font-family:Symbol;mso-fareast-font-family:Symbol;mso-bidi-font-family:
Symbol;mso-ansi-language:EN-US'><span style='mso-list:Ignore'>·<span
@@ -12264,7 +12565,7 @@
guard respects the guard grammar and action the action sequence grammar.<o:p></o:p></span></p>
<p style='margin-top:5.0pt;margin-right:0cm;margin-bottom:0cm;margin-left:36.0pt;
-margin-bottom:.0001pt;text-indent:-18.0pt;mso-list:l45 level1 lfo33;tab-stops:
+margin-bottom:.0001pt;text-indent:-18.0pt;mso-list:l46 level1 lfo33;tab-stops:
45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'><![if !supportLists]><span
lang=EN-US style='font-family:Symbol;mso-fareast-font-family:Symbol;mso-bidi-font-family:
Symbol;mso-ansi-language:EN-US'><span style='mso-list:Ignore'>·<span
@@ -12274,7 +12575,7 @@
respects the guard grammar and action the action sequence grammar.<o:p></o:p></span></p>
<p style='margin-top:5.0pt;margin-right:0cm;margin-bottom:0cm;margin-left:36.0pt;
-margin-bottom:.0001pt;text-indent:-18.0pt;mso-list:l45 level1 lfo33;tab-stops:
+margin-bottom:.0001pt;text-indent:-18.0pt;mso-list:l46 level1 lfo33;tab-stops:
45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'><![if !supportLists]><span
lang=EN-US style='font-family:Symbol;mso-fareast-font-family:Symbol;mso-bidi-font-family:
Symbol;mso-ansi-language:EN-US'><span style='mso-list:Ignore'>·<span
@@ -12284,7 +12585,7 @@
respects the guard grammar and action the action sequence grammar.<o:p></o:p></span></p>
<p style='margin-top:5.0pt;margin-right:0cm;margin-bottom:0cm;margin-left:36.0pt;
-margin-bottom:.0001pt;text-indent:-18.0pt;mso-list:l45 level1 lfo33;tab-stops:
+margin-bottom:.0001pt;text-indent:-18.0pt;mso-list:l46 level1 lfo33;tab-stops:
45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'><![if !supportLists]><span
lang=EN-US style='font-family:Symbol;mso-fareast-font-family:Symbol;mso-bidi-font-family:
Symbol;mso-ansi-language:EN-US'><span style='mso-list:Ignore'>·<span
@@ -12295,7 +12596,7 @@
and action the action sequence grammar.<o:p></o:p></span></p>
<p style='margin-top:5.0pt;margin-right:0cm;margin-bottom:0cm;margin-left:36.0pt;
-margin-bottom:.0001pt;text-indent:-18.0pt;mso-list:l45 level1 lfo33;tab-stops:
+margin-bottom:.0001pt;text-indent:-18.0pt;mso-list:l46 level1 lfo33;tab-stops:
45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'><![if !supportLists]><span
lang=EN-US style='font-family:Symbol;mso-fareast-font-family:Symbol;mso-bidi-font-family:
Symbol;mso-ansi-language:EN-US'><span style='mso-list:Ignore'>·<span
@@ -12436,7 +12737,7 @@
and that you respect the grammar:<o:p></o:p></span></p>
<p style='margin-top:5.0pt;margin-right:0cm;margin-bottom:0cm;margin-left:36.0pt;
-margin-bottom:.0001pt;text-indent:-18.0pt;mso-list:l47 level1 lfo35;tab-stops:
+margin-bottom:.0001pt;text-indent:-18.0pt;mso-list:l48 level1 lfo35;tab-stops:
45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'><![if !supportLists]><span
lang=EN-US style='font-family:Symbol;mso-fareast-font-family:Symbol;mso-bidi-font-family:
Symbol;mso-ansi-language:EN-US'><span style='mso-list:Ignore'>·<span
@@ -12445,7 +12746,7 @@
return a bool.<o:p></o:p></span></p>
<p style='margin-top:5.0pt;margin-right:0cm;margin-bottom:0cm;margin-left:36.0pt;
-margin-bottom:.0001pt;text-indent:-18.0pt;mso-list:l47 level1 lfo35;tab-stops:
+margin-bottom:.0001pt;text-indent:-18.0pt;mso-list:l48 level1 lfo35;tab-stops:
45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'><![if !supportLists]><span
lang=EN-US style='font-family:Symbol;mso-fareast-font-family:Symbol;mso-bidi-font-family:
Symbol;mso-ansi-language:EN-US'><span style='mso-list:Ignore'>·<span
@@ -12458,7 +12759,7 @@
all this:<o:p></o:p></span></p>
<p style='margin-top:5.0pt;margin-right:0cm;margin-bottom:0cm;margin-left:36.0pt;
-margin-bottom:.0001pt;text-indent:-18.0pt;mso-list:l27 level1 lfo36;tab-stops:
+margin-bottom:.0001pt;text-indent:-18.0pt;mso-list:l28 level1 lfo36;tab-stops:
45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'><![if !supportLists]><span
lang=EN-US style='font-family:Symbol;mso-fareast-font-family:Symbol;mso-bidi-font-family:
Symbol;mso-ansi-language:EN-US'><span style='mso-list:Ignore'>·<span
@@ -12472,7 +12773,7 @@
is DISK_CD</span><span lang=EN-US style='mso-ansi-language:EN-US'><o:p></o:p></span></p>
<p style='margin-top:5.0pt;margin-right:0cm;margin-bottom:0cm;margin-left:36.0pt;
-margin-bottom:.0001pt;text-indent:-18.0pt;mso-list:l27 level1 lfo36;tab-stops:
+margin-bottom:.0001pt;text-indent:-18.0pt;mso-list:l28 level1 lfo36;tab-stops:
45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'><![if !supportLists]><span
lang=EN-US style='font-family:Symbol;mso-fareast-font-family:Symbol;mso-bidi-font-family:
Symbol;mso-ansi-language:EN-US'><span style='mso-list:Ignore'>·<span
@@ -12486,23 +12787,23 @@
EN-US'><o:p></o:p></span></p>
<p style='margin-top:5.0pt;margin-right:0cm;margin-bottom:0cm;margin-left:36.0pt;
-margin-bottom:.0001pt;text-indent:-18.0pt;mso-list:l27 level1 lfo36;tab-stops:
+margin-bottom:.0001pt;text-indent:-18.0pt;mso-list:l28 level1 lfo36;tab-stops:
45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'><![if !supportLists]><span
lang=EN-US style='font-family:Symbol;mso-fareast-font-family:Symbol;mso-bidi-font-family:
Symbol;mso-ansi-language:EN-US'><span style='mso-list:Ignore'>·<span
style='font:7.0pt "Times New Roman"'> </span></span></span><![endif]><span
lang=EN-US style='font-size:10.0pt;font-family:"Courier New";mso-fareast-font-family:
-"Times New Roman";mso-ansi-language:EN-US;mso-no-proof:yes'>[(if_then_else_(
-True_(),Guard1(),Guard2()))] </span><span lang=EN-US style='mso-fareast-font-family:
-"Times New Roman";mso-ansi-language:EN-US;mso-no-proof:yes'>is a guard
-returning the result of calling </span><span lang=EN-US style='font-family:
-"Courier New";mso-fareast-font-family:"Times New Roman";mso-ansi-language:EN-US;
-mso-no-proof:yes'>Guard1</span><span lang=EN-US style='mso-fareast-font-family:
-"Times New Roman";mso-ansi-language:EN-US;mso-no-proof:yes'> (True_ will, well,
-return true).</span><span lang=EN-US style='mso-ansi-language:EN-US'><o:p></o:p></span></p>
+"Times New Roman";mso-ansi-language:EN-US;mso-no-proof:yes'>[(if_then_else_( True_(),Guard1(),Guard2()))]
+</span><span lang=EN-US style='mso-fareast-font-family:"Times New Roman";
+mso-ansi-language:EN-US;mso-no-proof:yes'>is a guard returning the result of
+calling </span><span lang=EN-US style='font-family:"Courier New";mso-fareast-font-family:
+"Times New Roman";mso-ansi-language:EN-US;mso-no-proof:yes'>Guard1</span><span
+lang=EN-US style='mso-fareast-font-family:"Times New Roman";mso-ansi-language:
+EN-US;mso-no-proof:yes'> (True_ will, well, return true).</span><span
+lang=EN-US style='mso-ansi-language:EN-US'><o:p></o:p></span></p>
<p style='margin-top:5.0pt;margin-right:0cm;margin-bottom:0cm;margin-left:36.0pt;
-margin-bottom:.0001pt;text-indent:-18.0pt;mso-list:l27 level1 lfo36;tab-stops:
+margin-bottom:.0001pt;text-indent:-18.0pt;mso-list:l28 level1 lfo36;tab-stops:
45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'><![if !supportLists]><span
lang=EN-US style='font-family:Symbol;mso-fareast-font-family:Symbol;mso-bidi-font-family:
Symbol;mso-ansi-language:EN-US'><span style='mso-list:Ignore'>·<span
@@ -12521,7 +12822,7 @@
mso-no-proof:yes'>.</span><span lang=EN-US style='mso-ansi-language:EN-US'><o:p></o:p></span></p>
<p style='margin-top:5.0pt;margin-right:0cm;margin-bottom:0cm;margin-left:36.0pt;
-margin-bottom:.0001pt;text-indent:-18.0pt;mso-list:l27 level1 lfo36;tab-stops:
+margin-bottom:.0001pt;text-indent:-18.0pt;mso-list:l28 level1 lfo36;tab-stops:
45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'><![if !supportLists]><span
lang=EN-US style='font-size:10.0pt;font-family:Symbol;mso-fareast-font-family:
Symbol;mso-bidi-font-family:Symbol;mso-ansi-language:EN-US'><span
@@ -12895,8 +13196,8 @@
mso-border-top-themecolor:accent1;border-left:none;border-bottom:solid #4F81BD 1.0pt;
mso-border-bottom-themecolor:accent1;border-right:none;padding:0cm 5.4pt 0cm 5.4pt'>
<p style='margin-bottom:0cm;margin-bottom:.0001pt;tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;
- mso-yfti-cnfc:64'><span lang=EN style='mso-ansi-language:EN'>Calls lazily
- --Action1 / Action1--.<o:p></o:p></span></p>
+ mso-yfti-cnfc:64'><span lang=EN style='mso-ansi-language:EN'>Calls lazily --Action1
+ / Action1--.<o:p></o:p></span></p>
</td>
<td width=437 valign=top style='width:262.25pt;border-top:solid #4F81BD 1.0pt;
mso-border-top-themecolor:accent1;border-left:none;border-bottom:solid #4F81BD 1.0pt;
@@ -13336,8 +13637,7 @@
mso-border-top-themecolor:accent1;border-left:none;border-bottom:solid #4F81BD 1.0pt;
mso-border-bottom-themecolor:accent1;border-right:none;padding:0cm 5.4pt 0cm 5.4pt'>
<p style='margin-bottom:0cm;margin-bottom:.0001pt;tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;
- mso-yfti-cnfc:64'><span lang=EN style='mso-ansi-language:EN'>Action1()
- [Action2()]<o:p></o:p></span></p>
+ mso-yfti-cnfc:64'><span lang=EN style='mso-ansi-language:EN'>Action1() [Action2()]<o:p></o:p></span></p>
</td>
<td width=248 valign=top style='width:148.85pt;border:solid #4F81BD 1.0pt;
mso-border-themecolor:accent1;border-left:none;padding:0cm 5.4pt 0cm 5.4pt'>
@@ -13363,9 +13663,8 @@
mso-ansi-language:EN-US'>if_then_else_(Condition1(),++Source_<0>(),<o:p></o:p></span></p>
<p class=MsoNormal><span lang=EN-US style='mso-fareast-font-family:"Times New Roman";
mso-ansi-language:EN-US'><span
- style='mso-spacerun:yes'>
- </span><span
- style='mso-spacerun:yes'> </span>--Source_<0>())<o:p></o:p></span></p>
+ style='mso-spacerun:yes'>
+ </span>--Source_<0>())<o:p></o:p></span></p>
<p class=MsoNormal><span lang=EN-US style='mso-fareast-font-family:"Times New Roman";
mso-ansi-language:EN-US'>[if_then_else_(Condition1(),True_(), False())]<o:p></o:p></span></p>
</td>
@@ -13533,9 +13832,8 @@
mso-border-top-themecolor:accent1;border-left:none;border-bottom:solid #4F81BD 1.0pt;
mso-border-bottom-themecolor:accent1;border-right:none;padding:0cm 5.4pt 0cm 5.4pt'>
<p style='margin-bottom:0cm;margin-bottom:.0001pt;tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;
- mso-yfti-cnfc:64'><span lang=EN style='mso-ansi-language:EN'>Returns the
- some_int attribute of the target state from the currently triggered
- transition.<o:p></o:p></span></p>
+ mso-yfti-cnfc:64'><span lang=EN style='mso-ansi-language:EN'>Returns the some_int
+ attribute of the target state from the currently triggered transition.<o:p></o:p></span></p>
</td>
<td width=437 valign=top style='width:262.25pt;border-top:solid #4F81BD 1.0pt;
mso-border-top-themecolor:accent1;border-left:none;border-bottom:solid #4F81BD 1.0pt;
@@ -13604,9 +13902,8 @@
</td>
<td width=437 valign=top style='width:262.25pt;border:none;padding:0cm 5.4pt 0cm 5.4pt'>
<p style='margin-bottom:0cm;margin-bottom:.0001pt;tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'><span
- lang=EN style='mso-ansi-language:EN'>Returns the some_int attribute of the
- current state machine (valid inside an entry/exit state action or a
- transition).<o:p></o:p></span></p>
+ lang=EN style='mso-ansi-language:EN'>Returns the some_int attribute of the current
+ state machine (valid inside an entry/exit state action or a transition).<o:p></o:p></span></p>
</td>
<td width=437 valign=top style='width:262.25pt;border:none;padding:0cm 5.4pt 0cm 5.4pt'>
<p class=MsoNormal><span lang=EN-US style='mso-fareast-font-family:"Times New Roman";
@@ -13954,8 +14251,8 @@
<p class=MsoNormal style='mso-yfti-cnfc:64'><span lang=EN style='mso-fareast-font-family:
"Times New Roman";mso-ansi-language:EN'>++attribute_(fsm_(),Int_<0>())<o:p></o:p></span></p>
<p class=MsoNormal style='mso-yfti-cnfc:64'><span lang=EN style='mso-fareast-font-family:
- "Times New Roman";mso-ansi-language:EN'>Preincrements the first attribute of
- the current state machine<o:p></o:p></span></p>
+ "Times New Roman";mso-ansi-language:EN'>Preincrements the first attribute of the
+ current state machine<o:p></o:p></span></p>
</td>
<td width=248 valign=top style='width:148.85pt;border:solid #4F81BD 1.0pt;
mso-border-themecolor:accent1;border-left:none;padding:0cm 5.4pt 0cm 5.4pt'>
@@ -14287,7 +14584,7 @@
programming paradigm, for example:<o:p></o:p></span></p>
<p style='margin-top:5.0pt;margin-right:0cm;margin-bottom:0cm;margin-left:36.0pt;
-margin-bottom:.0001pt;text-indent:-18.0pt;mso-list:l25 level1 lfo37;tab-stops:
+margin-bottom:.0001pt;text-indent:-18.0pt;mso-list:l26 level1 lfo37;tab-stops:
45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'><![if !supportLists]><span
lang=EN-US style='mso-fareast-font-family:"Times New Roman";mso-ansi-language:
EN-US'><span style='mso-list:Ignore'>-<span style='font:7.0pt "Times New Roman"'>
@@ -14295,7 +14592,7 @@
end_(container): returns iterators of a container.<o:p></o:p></span></p>
<p style='margin-top:5.0pt;margin-right:0cm;margin-bottom:0cm;margin-left:36.0pt;
-margin-bottom:.0001pt;text-indent:-18.0pt;mso-list:l25 level1 lfo37;tab-stops:
+margin-bottom:.0001pt;text-indent:-18.0pt;mso-list:l26 level1 lfo37;tab-stops:
45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'><![if !supportLists]><span
lang=EN-US style='mso-fareast-font-family:"Times New Roman";mso-ansi-language:
EN-US'><span style='mso-list:Ignore'>-<span style='font:7.0pt "Times New Roman"'>
@@ -14303,7 +14600,7 @@
returns container.empty()<o:p></o:p></span></p>
<p style='margin-top:5.0pt;margin-right:0cm;margin-bottom:0cm;margin-left:36.0pt;
-margin-bottom:.0001pt;text-indent:-18.0pt;mso-list:l25 level1 lfo37;tab-stops:
+margin-bottom:.0001pt;text-indent:-18.0pt;mso-list:l26 level1 lfo37;tab-stops:
45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'><![if !supportLists]><span
lang=EN-US style='mso-fareast-font-family:"Times New Roman";mso-ansi-language:
EN-US'><span style='mso-list:Ignore'>-<span style='font:7.0pt "Times New Roman"'>
@@ -14311,7 +14608,7 @@
container.clear()<o:p></o:p></span></p>
<p style='margin-top:5.0pt;margin-right:0cm;margin-bottom:0cm;margin-left:36.0pt;
-margin-bottom:.0001pt;text-indent:-18.0pt;mso-list:l25 level1 lfo37;tab-stops:
+margin-bottom:.0001pt;text-indent:-18.0pt;mso-list:l26 level1 lfo37;tab-stops:
45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'><![if !supportLists]><span
lang=EN-US style='mso-fareast-font-family:"Times New Roman";mso-ansi-language:
EN-US'><span style='mso-list:Ignore'>-<span style='font:7.0pt "Times New Roman"'>
@@ -14322,12 +14619,12 @@
lang=EN-US style='mso-ansi-language:EN-US'><o:p> </o:p></span></p>
<p style='margin-bottom:0cm;margin-bottom:.0001pt;tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'><span
-lang=EN-US style='mso-ansi-language:EN-US'>In a nutshell, almost every STL
-method or algorithm is matched by a corresponding functor, which can then be
-used in the transition table or state actions. The following tables explain in
-detail the possible argument combination and the underlying functor, so that
-this possibility is not reserved to eUML but also to the functor-based
-front-end previously explained.<o:p></o:p></span></p>
+lang=EN-US style='mso-ansi-language:EN-US'>In a nutshell, almost every STL method
+or algorithm is matched by a corresponding functor, which can then be used in
+the transition table or state actions. The following tables explain in detail
+the possible argument combination and the underlying functor, so that this
+possibility is not reserved to eUML but also to the functor-based front-end
+previously explained.<o:p></o:p></span></p>
<p style='margin-bottom:0cm;margin-bottom:.0001pt;tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'><span
lang=EN-US style='mso-ansi-language:EN-US'>The file structure of this
@@ -15529,8 +15826,8 @@
</td>
<td width=437 valign=top style='width:262.25pt;border:none;border-bottom:
solid #4F81BD 1.0pt;mso-border-bottom-themecolor:accent1;padding:0cm 5.4pt 0cm 5.4pt'>
- <p class=MsoNormal><span lang=EN style='mso-ansi-language:EN'>rotate_(first,
- middle, last)ᵇ<o:p></o:p></span></p>
+ <p class=MsoNormal><span lang=EN style='mso-ansi-language:EN'>rotate_(first, middle,
+ last)ᵇ<o:p></o:p></span></p>
</td>
<td width=248 valign=top style='width:148.85pt;border-top:none;border-left:
none;border-bottom:solid #4F81BD 1.0pt;mso-border-bottom-themecolor:accent1;
@@ -16281,8 +16578,8 @@
EN'>void erase(pos)<o:p></o:p></span></b></p>
</td>
<td width=437 valign=top style='width:262.25pt;border:none;padding:0cm 5.4pt 0cm 5.4pt'>
- <p class=MsoNormal><span lang=EN style='mso-ansi-language:EN'>void
- associative_erase_( container , pos)<o:p></o:p></span></p>
+ <p class=MsoNormal><span lang=EN style='mso-ansi-language:EN'>void associative_erase_(
+ container , pos)<o:p></o:p></span></p>
</td>
<td width=248 valign=top style='width:148.85pt;border:none;border-right:solid #4F81BD 1.0pt;
mso-border-right-themecolor:accent1;padding:0cm 5.4pt 0cm 5.4pt'>
@@ -16534,8 +16831,8 @@
EN'>int compare(string)<o:p></o:p></span></b></p>
</td>
<td width=437 valign=top style='width:262.25pt;border:none;padding:0cm 5.4pt 0cm 5.4pt'>
- <p class=MsoNormal><span lang=EN style='mso-ansi-language:EN'>int
- string_compare_(container, another_string)<o:p></o:p></span></p>
+ <p class=MsoNormal><span lang=EN style='mso-ansi-language:EN'>int string_compare_(container,
+ another_string)<o:p></o:p></span></p>
</td>
<td width=248 valign=top style='width:148.85pt;border:none;border-right:solid #4F81BD 1.0pt;
mso-border-right-themecolor:accent1;padding:0cm 5.4pt 0cm 5.4pt'>
@@ -16605,8 +16902,8 @@
EN'>string& append(const string&)<o:p></o:p></span></b></p>
</td>
<td width=437 valign=top style='width:262.25pt;border:none;padding:0cm 5.4pt 0cm 5.4pt'>
- <p class=MsoNormal><span lang=EN style='mso-ansi-language:EN'>string&
- append_(container, another_string)<o:p></o:p></span></p>
+ <p class=MsoNormal><span lang=EN style='mso-ansi-language:EN'>string& append_(container,
+ another_string)<o:p></o:p></span></p>
</td>
<td width=248 valign=top style='width:148.85pt;border:none;border-right:solid #4F81BD 1.0pt;
mso-border-right-themecolor:accent1;padding:0cm 5.4pt 0cm 5.4pt'>
@@ -16989,8 +17286,8 @@
<td width=437 valign=top style='width:261.95pt;border:solid #4F81BD 1.0pt;
mso-border-themecolor:accent1;border-right:none;padding:0cm 5.4pt 0cm 5.4pt'>
<p class=MsoNormal style='mso-yfti-cnfc:68'><b><span lang=EN
- style='mso-ansi-language:EN'>string& replace(iterator first, iterator last,
- const charT*, size_type n)<o:p></o:p></span></b></p>
+ style='mso-ansi-language:EN'>string& replace(iterator first, iterator
+ last, const charT*, size_type n)<o:p></o:p></span></b></p>
</td>
<td width=437 valign=top style='width:262.25pt;border-top:solid #4F81BD 1.0pt;
mso-border-top-themecolor:accent1;border-left:none;border-bottom:solid #4F81BD 1.0pt;
@@ -17011,8 +17308,8 @@
EN'>string& replace(iterator first, iterator last, const charT*)<o:p></o:p></span></b></p>
</td>
<td width=437 valign=top style='width:262.25pt;border:none;padding:0cm 5.4pt 0cm 5.4pt'>
- <p class=MsoNormal><span lang=EN style='mso-ansi-language:EN'>string&
- string_replace_(container, first, last, another_string)<o:p></o:p></span></p>
+ <p class=MsoNormal><span lang=EN style='mso-ansi-language:EN'>string& string_replace_(container,
+ first, last, another_string)<o:p></o:p></span></p>
</td>
<td width=248 valign=top style='width:148.85pt;border:none;border-right:solid #4F81BD 1.0pt;
mso-border-right-themecolor:accent1;padding:0cm 5.4pt 0cm 5.4pt'>
@@ -17046,8 +17343,8 @@
l)<o:p></o:p></span></b></p>
</td>
<td width=437 valign=top style='width:262.25pt;border:none;padding:0cm 5.4pt 0cm 5.4pt'>
- <p class=MsoNormal><span lang=EN style='mso-ansi-language:EN'>string& string_replace_(container,
- first, last, f, l)<o:p></o:p></span></p>
+ <p class=MsoNormal><span lang=EN style='mso-ansi-language:EN'>string&
+ string_replace_(container, first, last, f, l)<o:p></o:p></span></p>
</td>
<td width=248 valign=top style='width:148.85pt;border:none;border-right:solid #4F81BD 1.0pt;
mso-border-right-themecolor:accent1;padding:0cm 5.4pt 0cm 5.4pt'>
@@ -17079,8 +17376,7 @@
EN'>const charT* data()<o:p></o:p></span></b></p>
</td>
<td width=437 valign=top style='width:262.25pt;border:none;padding:0cm 5.4pt 0cm 5.4pt'>
- <p class=MsoNormal><span lang=EN style='mso-ansi-language:EN'>const charT*
- string_data_(container)<o:p></o:p></span></p>
+ <p class=MsoNormal><span lang=EN style='mso-ansi-language:EN'>const charT* string_data_(container)<o:p></o:p></span></p>
</td>
<td width=248 valign=top style='width:148.85pt;border:none;border-right:solid #4F81BD 1.0pt;
mso-border-right-themecolor:accent1;padding:0cm 5.4pt 0cm 5.4pt'>
@@ -17091,8 +17387,8 @@
<td width=437 valign=top style='width:261.95pt;border:solid #4F81BD 1.0pt;
mso-border-themecolor:accent1;border-right:none;padding:0cm 5.4pt 0cm 5.4pt'>
<p class=MsoNormal style='mso-yfti-cnfc:68'><b><span lang=EN
- style='mso-ansi-language:EN'>size_type copy(charT* buf, size_type n, size_type
- pos = 0)<o:p></o:p></span></b></p>
+ style='mso-ansi-language:EN'>size_type copy(charT* buf, size_type n,
+ size_type pos = 0)<o:p></o:p></span></b></p>
</td>
<td width=437 valign=top style='width:262.25pt;border-top:solid #4F81BD 1.0pt;
mso-border-top-themecolor:accent1;border-left:none;border-bottom:solid #4F81BD 1.0pt;
@@ -17152,8 +17448,8 @@
<td width=437 valign=top style='width:262.25pt;border:none;padding:0cm 5.4pt 0cm 5.4pt'>
<p class=MsoNormal><span lang=EN style='mso-ansi-language:EN'>size_type
string_find_(container, s, pos)<o:p></o:p></span></p>
- <p class=MsoNormal><span lang=EN style='mso-ansi-language:EN'>size_type string_find_(container,
- s)<o:p></o:p></span></p>
+ <p class=MsoNormal><span lang=EN style='mso-ansi-language:EN'>size_type
+ string_find_(container, s)<o:p></o:p></span></p>
</td>
<td width=248 valign=top style='width:148.85pt;border:none;border-right:solid #4F81BD 1.0pt;
mso-border-right-themecolor:accent1;padding:0cm 5.4pt 0cm 5.4pt'>
@@ -17187,8 +17483,8 @@
EN'>size_type rfind(charT* s, size_type pos, size_type n)<o:p></o:p></span></b></p>
</td>
<td width=437 valign=top style='width:262.25pt;border:none;padding:0cm 5.4pt 0cm 5.4pt'>
- <p class=MsoNormal><span lang=EN style='mso-ansi-language:EN'>size_type string_rfind_(container,
- s, pos, n)<o:p></o:p></span></p>
+ <p class=MsoNormal><span lang=EN style='mso-ansi-language:EN'>size_type
+ string_rfind_(container, s, pos, n)<o:p></o:p></span></p>
</td>
<td width=248 valign=top style='width:148.85pt;border:none;border-right:solid #4F81BD 1.0pt;
mso-border-right-themecolor:accent1;padding:0cm 5.4pt 0cm 5.4pt'>
@@ -17295,8 +17591,8 @@
EN'>size_type find_first_of (const string& s, size_type pos=0)<o:p></o:p></span></b></p>
</td>
<td width=437 valign=top style='width:262.25pt;border:none;padding:0cm 5.4pt 0cm 5.4pt'>
- <p class=MsoNormal><span lang=EN style='mso-ansi-language:EN'>size_type
- find_first_of_(container, s, pos)<o:p></o:p></span></p>
+ <p class=MsoNormal><span lang=EN style='mso-ansi-language:EN'>size_type find_first_of_(container,
+ s, pos)<o:p></o:p></span></p>
<p class=MsoNormal><span lang=EN style='mso-ansi-language:EN'>size_type
find_first_of_(container, s)<o:p></o:p></span></p>
</td>
@@ -17309,7 +17605,8 @@
<td width=437 valign=top style='width:261.95pt;border:solid #4F81BD 1.0pt;
mso-border-themecolor:accent1;border-right:none;padding:0cm 5.4pt 0cm 5.4pt'>
<p class=MsoNormal style='mso-yfti-cnfc:68'><b><span lang=EN
- style='mso-ansi-language:EN'>size_type find_first_of (charT c, size_type pos=0)<o:p></o:p></span></b></p>
+ style='mso-ansi-language:EN'>size_type find_first_of (charT c, size_type
+ pos=0)<o:p></o:p></span></b></p>
</td>
<td width=437 valign=top style='width:262.25pt;border-top:solid #4F81BD 1.0pt;
mso-border-top-themecolor:accent1;border-left:none;border-bottom:solid #4F81BD 1.0pt;
@@ -17368,8 +17665,8 @@
EN'>size_type find_first_not_of (const string& s, size_type pos=0)<o:p></o:p></span></b></p>
</td>
<td width=437 valign=top style='width:262.25pt;border:none;padding:0cm 5.4pt 0cm 5.4pt'>
- <p class=MsoNormal><span lang=EN style='mso-ansi-language:EN'>size_type find_first_not_of_(container,
- s, pos)<o:p></o:p></span></p>
+ <p class=MsoNormal><span lang=EN style='mso-ansi-language:EN'>size_type
+ find_first_not_of_(container, s, pos)<o:p></o:p></span></p>
<p class=MsoNormal><span lang=EN style='mso-ansi-language:EN'>size_type
find_first_not_of_(container, s)<o:p></o:p></span></p>
</td>
@@ -17406,8 +17703,8 @@
EN'>size_type find_last_of(charT* s, size_type pos, size_type n)<o:p></o:p></span></b></p>
</td>
<td width=437 valign=top style='width:262.25pt;border:none;padding:0cm 5.4pt 0cm 5.4pt'>
- <p class=MsoNormal><span lang=EN style='mso-ansi-language:EN'>size_type
- find_last_of_(container, s, pos, n)<o:p></o:p></span></p>
+ <p class=MsoNormal><span lang=EN style='mso-ansi-language:EN'>size_type find_last_of_(container,
+ s, pos, n)<o:p></o:p></span></p>
</td>
<td width=248 valign=top style='width:148.85pt;border:none;border-right:solid #4F81BD 1.0pt;
mso-border-right-themecolor:accent1;padding:0cm 5.4pt 0cm 5.4pt'>
@@ -17492,8 +17789,7 @@
<td width=437 valign=top style='width:261.95pt;border:solid #4F81BD 1.0pt;
mso-border-themecolor:accent1;border-right:none;padding:0cm 5.4pt 0cm 5.4pt'>
<p class=MsoNormal style='mso-yfti-cnfc:68'><b><span lang=EN
- style='mso-ansi-language:EN'>size_type find_last_not_of (charT* s, size_type
- pos=npos)<o:p></o:p></span></b></p>
+ style='mso-ansi-language:EN'>size_type find_last_not_of (charT* s, size_type pos=npos)<o:p></o:p></span></b></p>
</td>
<td width=437 valign=top style='width:262.25pt;border-top:solid #4F81BD 1.0pt;
mso-border-top-themecolor:accent1;border-left:none;border-bottom:solid #4F81BD 1.0pt;
@@ -17518,8 +17814,8 @@
<td width=437 valign=top style='width:262.25pt;border:none;padding:0cm 5.4pt 0cm 5.4pt'>
<p class=MsoNormal><span lang=EN style='mso-ansi-language:EN'>size_type
find_last_not_of_(container, s, pos)<o:p></o:p></span></p>
- <p class=MsoNormal><span lang=EN style='mso-ansi-language:EN'>size_type
- find_last_not_of_(container, s)<o:p></o:p></span></p>
+ <p class=MsoNormal><span lang=EN style='mso-ansi-language:EN'>size_type find_last_not_of_(container,
+ s)<o:p></o:p></span></p>
</td>
<td width=248 valign=top style='width:148.85pt;border:none;border-right:solid #4F81BD 1.0pt;
mso-border-right-themecolor:accent1;padding:0cm 5.4pt 0cm 5.4pt'>
@@ -17587,13 +17883,13 @@
lang=EN-US style='mso-ansi-language:EN-US'><o:p> </o:p></span></p>
<p class=MsoNormal style='tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'><span
-lang=EN-US style='mso-ansi-language:EN-US'>EUML provides two macros (sorry about
-that) to convert a function or method into a eUML-compatible functor for use in
-action / guard declarations.<o:p></o:p></span></p>
+lang=EN-US style='mso-ansi-language:EN-US'>EUML provides two macros (sorry
+about that) to convert a function or method into a eUML-compatible functor for
+use in action / guard declarations.<o:p></o:p></span></p>
<p class=MsoNormal style='tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'><span
-lang=EN-US style='mso-ansi-language:EN-US'>Let’s suppose we wrote a
-function printing the typeid of its parameter:<o:p></o:p></span></p>
+lang=EN-US style='mso-ansi-language:EN-US'>Let’s suppose we wrote a function
+printing the typeid of its parameter:<o:p></o:p></span></p>
<p class=MsoNormal style='tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;
mso-layout-grid-align:none;text-autospace:none'><span lang=EN-US
@@ -17715,13 +18011,13 @@
<p class=MsoNormal style='tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;
mso-layout-grid-align:none;text-autospace:none'><span lang=EN-US
style='font-size:10.0pt;font-family:"Courier New";mso-fareast-font-family:"Times New Roman";
-mso-ansi-language:EN-US;mso-no-proof:yes'><span
-style='mso-spacerun:yes'> </span><span style='color:blue'>int</span>
-<span style='color:#030003'>foo</span>(<span style='color:blue'>int</span> <span
-style='color:#030003'>i</span>)<span style='color:blue'>const</span> {<span
-style='color:#030003'>std</span>::<span style='color:#030003'>cout</span>
-<< <span style='color:#A31515'>"foo(int):"</span> << <span
-style='color:#030003'>i</span> << <span style='color:#030003'>std</span>::<span
+mso-ansi-language:EN-US;mso-no-proof:yes'><span style='mso-spacerun:yes'>
+</span><span style='mso-spacerun:yes'> </span><span
+style='color:blue'>int</span> <span style='color:#030003'>foo</span>(<span
+style='color:blue'>int</span> <span style='color:#030003'>i</span>)<span
+style='color:blue'>const</span> {<span style='color:#030003'>std</span>::<span
+style='color:#030003'>cout</span> << <span style='color:#A31515'>"foo(int):"</span>
+<< <span style='color:#030003'>i</span> << <span style='color:#030003'>std</span>::<span
style='color:#030003'>endl</span>; <span style='color:blue'>return</span> 1;}<o:p></o:p></span></p>
<p class=MsoNormal style='tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;
@@ -17806,8 +18102,8 @@
<p class=MsoNormal style='tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'><span
lang=EN-US style='mso-ansi-language:EN-US'>We now have a way to bind a method
-of an event, state or state machine or a simple function with a nicer syntax
-than a normal bind.<o:p></o:p></span></p>
+of an event, state or state machine or a simple function with a nicer syntax than
+a normal bind.<o:p></o:p></span></p>
<p class=MsoNormal style='tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'><span
lang=EN-US style='mso-ansi-language:EN-US'><o:p> </o:p></span></p>
@@ -17822,7 +18118,7 @@
these new concepts faster:<o:p></o:p></span></p>
<p style='margin-top:5.0pt;margin-right:0cm;margin-bottom:0cm;margin-left:36.0pt;
-margin-bottom:.0001pt;text-indent:-18.0pt;mso-list:l25 level1 lfo37;tab-stops:
+margin-bottom:.0001pt;text-indent:-18.0pt;mso-list:l26 level1 lfo37;tab-stops:
45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'><![if !supportLists]><span
lang=EN-US style='mso-fareast-font-family:"Times New Roman";mso-ansi-language:
EN-US'><span style='mso-list:Ignore'>-<span style='font:7.0pt "Times New Roman"'>
@@ -17830,7 +18126,7 @@
href="SimpleTutorialEuml.cpp">an eUML version of the simple tutorial</a><o:p></o:p></span></p>
<p style='margin-top:5.0pt;margin-right:0cm;margin-bottom:0cm;margin-left:36.0pt;
-margin-bottom:.0001pt;text-indent:-18.0pt;mso-list:l25 level1 lfo37;tab-stops:
+margin-bottom:.0001pt;text-indent:-18.0pt;mso-list:l26 level1 lfo37;tab-stops:
45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'><![if !supportLists]><span
lang=EN-US style='mso-fareast-font-family:"Times New Roman";mso-ansi-language:
EN-US'><span style='mso-list:Ignore'>-<span style='font:7.0pt "Times New Roman"'>
@@ -17838,7 +18134,7 @@
href="CompositeTutorialEuml.cpp">an eUML version of the composite tutorial</a><o:p></o:p></span></p>
<p style='margin-top:5.0pt;margin-right:0cm;margin-bottom:0cm;margin-left:36.0pt;
-margin-bottom:.0001pt;text-indent:-18.0pt;mso-list:l25 level1 lfo37;tab-stops:
+margin-bottom:.0001pt;text-indent:-18.0pt;mso-list:l26 level1 lfo37;tab-stops:
45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'><![if !supportLists]><span
lang=EN-US style='mso-fareast-font-family:"Times New Roman";mso-ansi-language:
EN-US'><span style='mso-list:Ignore'>-<span style='font:7.0pt "Times New Roman"'>
@@ -17846,7 +18142,7 @@
href="DirectEntryEuml.cpp">an eUML version of the entry tutorial</a><o:p></o:p></span></p>
<p style='margin-top:5.0pt;margin-right:0cm;margin-bottom:0cm;margin-left:36.0pt;
-margin-bottom:.0001pt;text-indent:-18.0pt;mso-list:l25 level1 lfo37;tab-stops:
+margin-bottom:.0001pt;text-indent:-18.0pt;mso-list:l26 level1 lfo37;tab-stops:
45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'><![if !supportLists]><span
lang=EN-US style='mso-fareast-font-family:"Times New Roman";mso-ansi-language:
EN-US'><span style='mso-list:Ignore'>-<span style='font:7.0pt "Times New Roman"'>
@@ -17854,7 +18150,7 @@
href="FlagsTutorialEuml.cpp">an eUML version of the flags tutorial</a><o:p></o:p></span></p>
<p style='margin-top:5.0pt;margin-right:0cm;margin-bottom:0cm;margin-left:36.0pt;
-margin-bottom:.0001pt;text-indent:-18.0pt;mso-list:l25 level1 lfo37;tab-stops:
+margin-bottom:.0001pt;text-indent:-18.0pt;mso-list:l26 level1 lfo37;tab-stops:
45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'><![if !supportLists]><span
lang=EN-US style='mso-fareast-font-family:"Times New Roman";mso-ansi-language:
EN-US'><span style='mso-list:Ignore'>-<span style='font:7.0pt "Times New Roman"'>
@@ -17862,7 +18158,7 @@
href="HistoryEuml.cpp">an eUML version of the history tutorial</a><o:p></o:p></span></p>
<p style='margin-top:5.0pt;margin-right:0cm;margin-bottom:0cm;margin-left:36.0pt;
-margin-bottom:.0001pt;text-indent:-18.0pt;mso-list:l25 level1 lfo37;tab-stops:
+margin-bottom:.0001pt;text-indent:-18.0pt;mso-list:l26 level1 lfo37;tab-stops:
45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'><![if !supportLists]><span
lang=EN-US style='mso-fareast-font-family:"Times New Roman";mso-ansi-language:
EN-US'><span style='mso-list:Ignore'>-<span style='font:7.0pt "Times New Roman"'>
@@ -17871,7 +18167,7 @@
tutorial</a><o:p></o:p></span></p>
<p style='margin-top:5.0pt;margin-right:0cm;margin-bottom:0cm;margin-left:36.0pt;
-margin-bottom:.0001pt;text-indent:-18.0pt;mso-list:l25 level1 lfo37;tab-stops:
+margin-bottom:.0001pt;text-indent:-18.0pt;mso-list:l26 level1 lfo37;tab-stops:
45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'><![if !supportLists]><span
lang=EN-US style='mso-fareast-font-family:"Times New Roman";mso-ansi-language:
EN-US'><span style='mso-list:Ignore'>-<span style='font:7.0pt "Times New Roman"'>
@@ -17879,7 +18175,7 @@
href="AnonymousTutorialEuml.cpp">an eUML version of anonymous transitions</a><o:p></o:p></span></p>
<p style='margin-top:5.0pt;margin-right:0cm;margin-bottom:0cm;margin-left:36.0pt;
-margin-bottom:.0001pt;text-indent:-18.0pt;mso-list:l25 level1 lfo37;tab-stops:
+margin-bottom:.0001pt;text-indent:-18.0pt;mso-list:l26 level1 lfo37;tab-stops:
45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'><![if !supportLists]><span
lang=EN-US style='mso-fareast-font-family:"Times New Roman";mso-ansi-language:
EN-US'><span style='mso-list:Ignore'>-<span style='font:7.0pt "Times New Roman"'>
@@ -17905,13 +18201,14 @@
<p style='tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'><span
lang=EN-US style='mso-ansi-language:EN-US'>The same simple
-and composite state machines are implemented with
-Msm2 with standard frontend, the simple one also with eUML.<o:p></o:p></span></p>
+and composite state machines are implemented
+with Msm2 with standard frontend, the simple one also with <a
+href="EumlSimple.cpp">eUML</a>.<o:p></o:p></span></p>
<p style='tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'><span
-lang=EN-US style='mso-ansi-language:EN-US'>As these simple machines need no
-terminate/interrupt states, no message queue and have no-throw guarantee on
-their actions, the Msm state machines are defined with minimum functionality.<o:p></o:p></span></p>
+lang=EN-US style='mso-ansi-language:EN-US'>As these simple machines need no terminate/interrupt
+states, no message queue and have no-throw guarantee on their actions, the Msm
+state machines are defined with minimum functionality.<o:p></o:p></span></p>
<p style='tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'><span
lang=EN-US style='mso-ansi-language:EN-US'>VC9:<o:p></o:p></span></p>
@@ -17938,13 +18235,13 @@
Symbol;mso-bidi-font-family:Symbol;mso-ansi-language:EN-US'><span
style='mso-list:Ignore'>·<span style='font:7.0pt "Times New Roman"'>
</span></span></span><![endif]><span lang=EN-US style='mso-ansi-language:EN-US'>The
-fastest version is with eUML. It completes 47 times faster than Boost.Statechart.
-A transition costs on my Q6600 9ns.<o:p></o:p></span></p>
+fastest version is with eUML. It completes 47 times faster than
+Boost.Statechart. A transition costs on my Q6600 9ns.<o:p></o:p></span></p>
<p style='tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'><span
lang=EN-US style='mso-ansi-language:EN-US'>gcc 4.2.3:<o:p></o:p></span></p>
-<p style='margin-left:36.0pt;text-indent:-18.0pt;mso-list:l30 level1 lfo39;
+<p style='margin-left:36.0pt;text-indent:-18.0pt;mso-list:l31 level1 lfo39;
tab-stops:list 36.0pt'><![if !supportLists]><span lang=EN-US style='font-size:
10.0pt;mso-bidi-font-size:12.0pt;font-family:Symbol;mso-fareast-font-family:
Symbol;mso-bidi-font-family:Symbol;mso-ansi-language:EN-US'><span
@@ -17952,7 +18249,7 @@
</span></span></span><![endif]><span lang=EN-US style='mso-ansi-language:EN-US'>the
simple test completes 33 times faster with Msm<o:p></o:p></span></p>
-<p style='margin-left:36.0pt;text-indent:-18.0pt;mso-list:l30 level1 lfo39;
+<p style='margin-left:36.0pt;text-indent:-18.0pt;mso-list:l31 level1 lfo39;
tab-stops:list 36.0pt'><![if !supportLists]><span lang=EN-US style='font-size:
10.0pt;mso-bidi-font-size:12.0pt;font-family:Symbol;mso-fareast-font-family:
Symbol;mso-bidi-font-family:Symbol;mso-ansi-language:EN-US'><span
@@ -17984,10 +18281,10 @@
<p style='tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'><span
lang=EN-US style='mso-ansi-language:EN-US'>With g++ 4.3, it strongly depends on
the compiler option (much more than VC). A good size state machine with
-–O3 can generate an executable of 600kB, and with eUML you can get to
-1.5MB. Now, trying with –Os –s I come down to 18kB and 30kB for the
-test state machines, while eUML will go down to 1MB (which is still big), so in
-this case eUML does not come for free.<o:p></o:p></span></p>
+–O3 can generate an executable of 600kB, and with eUML you can get to 1.5MB.
+Now, trying with –Os –s I come down to 18kB and 30kB for the test
+state machines, while eUML will go down to 1MB (which is still big), so in this
+case eUML does not come for free.<o:p></o:p></span></p>
<h1 style='tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'><a
name="_Compilers"></a><span lang=EN-US style='mso-ansi-language:EN-US'>Compilers<o:p></o:p></span></h1>
@@ -17995,7 +18292,7 @@
<p style='tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'><span
lang=EN-US style='mso-ansi-language:EN-US'>Msm v2 was successfully tested with:<o:p></o:p></span></p>
-<p style='margin-left:36.0pt;text-indent:-18.0pt;mso-list:l19 level1 lfo40;
+<p style='margin-left:36.0pt;text-indent:-18.0pt;mso-list:l20 level1 lfo40;
tab-stops:list 36.0pt'><![if !supportLists]><span lang=EN-US style='font-size:
10.0pt;mso-bidi-font-size:12.0pt;font-family:Symbol;mso-fareast-font-family:
Symbol;mso-bidi-font-family:Symbol;mso-ansi-language:EN-US'><span
@@ -18003,7 +18300,7 @@
</span></span></span><![endif]><span lang=EN-US style='mso-ansi-language:EN-US'>VC8,
VC9SP1, VC10 Beta1<o:p></o:p></span></p>
-<p style='margin-left:36.0pt;text-indent:-18.0pt;mso-list:l19 level1 lfo40;
+<p style='margin-left:36.0pt;text-indent:-18.0pt;mso-list:l20 level1 lfo40;
tab-stops:list 36.0pt'><![if !supportLists]><span lang=EN-US style='font-size:
10.0pt;mso-bidi-font-size:12.0pt;font-family:Symbol;mso-fareast-font-family:
Symbol;mso-bidi-font-family:Symbol;mso-ansi-language:EN-US'><span
@@ -18011,7 +18308,7 @@
</span></span></span><![endif]><span lang=EN-US style='mso-ansi-language:EN-US'>g++
4.1 and higher<o:p></o:p></span></p>
-<p style='margin-left:36.0pt;text-indent:-18.0pt;mso-list:l19 level1 lfo40;
+<p style='margin-left:36.0pt;text-indent:-18.0pt;mso-list:l20 level1 lfo40;
tab-stops:list 36.0pt'><![if !supportLists]><span lang=EN-US style='font-size:
10.0pt;mso-bidi-font-size:12.0pt;font-family:Symbol;mso-fareast-font-family:
Symbol;mso-bidi-font-family:Symbol;mso-ansi-language:EN-US'><span
@@ -18022,7 +18319,7 @@
<p style='tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'><span
lang=EN-US style='mso-ansi-language:EN-US'>EUML will only work with:<o:p></o:p></span></p>
-<p style='margin-left:36.0pt;text-indent:-18.0pt;mso-list:l19 level1 lfo40;
+<p style='margin-left:36.0pt;text-indent:-18.0pt;mso-list:l20 level1 lfo40;
tab-stops:list 36.0pt'><![if !supportLists]><span lang=EN-US style='font-size:
10.0pt;mso-bidi-font-size:12.0pt;font-family:Symbol;mso-fareast-font-family:
Symbol;mso-bidi-font-family:Symbol;mso-ansi-language:EN-US'><span
@@ -18031,7 +18328,7 @@
(partly). You cannot, however use any overloaded function (like splice) and
compile times and RAM consumption explode.<o:p></o:p></span></p>
-<p style='margin-left:36.0pt;text-indent:-18.0pt;mso-list:l19 level1 lfo40;
+<p style='margin-left:36.0pt;text-indent:-18.0pt;mso-list:l20 level1 lfo40;
tab-stops:list 36.0pt'><![if !supportLists]><span lang=EN-US style='font-size:
10.0pt;mso-bidi-font-size:12.0pt;font-family:Symbol;mso-fareast-font-family:
Symbol;mso-bidi-font-family:Symbol;mso-ansi-language:EN-US'><span
@@ -18039,7 +18336,7 @@
</span></span></span><![endif]><span lang=EN-US style='mso-ansi-language:EN-US'>VC9SP1,
VC10 Beta1-2<o:p></o:p></span></p>
-<p style='margin-left:36.0pt;text-indent:-18.0pt;mso-list:l19 level1 lfo40;
+<p style='margin-left:36.0pt;text-indent:-18.0pt;mso-list:l20 level1 lfo40;
tab-stops:list 36.0pt'><![if !supportLists]><span lang=EN-US style='font-size:
10.0pt;mso-bidi-font-size:12.0pt;font-family:Symbol;mso-fareast-font-family:
Symbol;mso-bidi-font-family:Symbol;mso-ansi-language:EN-US'><span
@@ -18053,7 +18350,7 @@
<h1 style='tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'><a
name="_Limitations"></a>Limitation</h1>
-<p style='margin-left:36.0pt;text-indent:-18.0pt;mso-list:l33 level1 lfo41;
+<p style='margin-left:36.0pt;text-indent:-18.0pt;mso-list:l34 level1 lfo41;
tab-stops:list 36.0pt'><![if !supportLists]><span lang=EN-US style='font-size:
10.0pt;mso-bidi-font-size:12.0pt;font-family:Symbol;mso-fareast-font-family:
Symbol;mso-bidi-font-family:Symbol;mso-ansi-language:EN-US'><span
@@ -18064,7 +18361,7 @@
watch the compiler agonize for hours... (Make sure you ask for dual 24" as
well, it doesn't hurt).<o:p></o:p></span></p>
-<p style='margin-left:36.0pt;text-indent:-18.0pt;mso-list:l33 level1 lfo41;
+<p style='margin-left:36.0pt;text-indent:-18.0pt;mso-list:l34 level1 lfo41;
tab-stops:list 36.0pt'><![if !supportLists]><span lang=EN-US style='font-size:
10.0pt;mso-bidi-font-size:12.0pt;font-family:Symbol;mso-fareast-font-family:
Symbol;mso-bidi-font-family:Symbol;mso-ansi-language:EN-US'><span
@@ -18074,7 +18371,7 @@
some compilers (VC9, VC10 Beta1) with buggy decltype support (I suspect some at
least quadratic algorithms there).<o:p></o:p></span></p>
-<p style='margin-left:36.0pt;text-indent:-18.0pt;mso-list:l33 level1 lfo41;
+<p style='margin-left:36.0pt;text-indent:-18.0pt;mso-list:l34 level1 lfo41;
tab-stops:list 36.0pt'><![if !supportLists]><span lang=EN-US style='font-size:
10.0pt;mso-bidi-font-size:12.0pt;font-family:Symbol;mso-fareast-font-family:
Symbol;mso-bidi-font-family:Symbol;mso-ansi-language:EN-US'><span
@@ -18129,7 +18426,7 @@
lang=EN-US style='mso-ansi-language:EN-US'>VC9</span></u><span lang=EN-US
style='mso-ansi-language:EN-US'>:<o:p></o:p></span></p>
-<p style='margin-left:36.0pt;text-indent:-18.0pt;mso-list:l28 level1 lfo42;
+<p style='margin-left:36.0pt;text-indent:-18.0pt;mso-list:l29 level1 lfo42;
tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'><![if !supportLists]><span
lang=EN-US style='font-family:Symbol;mso-fareast-font-family:Symbol;mso-bidi-font-family:
Symbol;mso-ansi-language:EN-US'><span style='mso-list:Ignore'>·<span
@@ -18140,13 +18437,13 @@
mso-ansi-language:EN-US'>submachine::exit_pt</span><span lang=EN-US
style='mso-ansi-language:EN-US'>” ? Because “</span><span
lang=EN-US style='font-family:"Courier New";mso-ansi-language:EN-US'>exit</span><span
-lang=EN-US style='mso-ansi-language:EN-US'>” will crash the compiler. “</span><span
-lang=EN-US style='font-family:"Courier New";mso-ansi-language:EN-US'>Exit</span><span
-lang=EN-US style='mso-ansi-language:EN-US'>” is not possible either
-because it will crash the compiler on one machine, but not on another (the
-compiler was installed from the same disk).<o:p></o:p></span></p>
+lang=EN-US style='mso-ansi-language:EN-US'>” will crash the compiler.
+“</span><span lang=EN-US style='font-family:"Courier New";mso-ansi-language:
+EN-US'>Exit</span><span lang=EN-US style='mso-ansi-language:EN-US'>” is
+not possible either because it will crash the compiler on one machine, but not
+on another (the compiler was installed from the same disk).<o:p></o:p></span></p>
-<p style='margin-left:36.0pt;text-indent:-18.0pt;mso-list:l28 level1 lfo42;
+<p style='margin-left:36.0pt;text-indent:-18.0pt;mso-list:l29 level1 lfo42;
tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'><![if !supportLists]><span
lang=EN-US style='font-family:Symbol;mso-fareast-font-family:Symbol;mso-bidi-font-family:
Symbol;mso-ansi-language:EN-US'><span style='mso-list:Ignore'>·<span
@@ -18159,15 +18456,15 @@
which was simpler because with one less template argument. Note: VC10 beta
seems to have solved the problem.<o:p></o:p></span></p>
-<p style='margin-left:36.0pt;text-indent:-18.0pt;mso-list:l28 level1 lfo42;
+<p style='margin-left:36.0pt;text-indent:-18.0pt;mso-list:l29 level1 lfo42;
tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'><![if !supportLists]><span
lang=EN-US style='font-family:Symbol;mso-fareast-font-family:Symbol;mso-bidi-font-family:
Symbol;mso-ansi-language:EN-US'><span style='mso-list:Ignore'>·<span
style='font:7.0pt "Times New Roman"'> </span></span></span><![endif]><span
lang=EN-US style='mso-ansi-language:EN-US'>Typeof: While g++ and VC9 compile
-“standard” state machines in comparable times, Typeof (while in
-both ways natively supported) seems to behave in a quadratic complexity with
-VC9 and VC10.<o:p></o:p></span></p>
+“standard” state machines in comparable times, Typeof (while in both
+ways natively supported) seems to behave in a quadratic complexity with VC9 and
+VC10.<o:p></o:p></span></p>
<p style='tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'><u><span
lang=EN-US style='mso-ansi-language:EN-US'>g++ 4.x</span></u><span lang=EN-US
@@ -18185,7 +18482,7 @@
lang=EN-US style='mso-ansi-language:EN-US'>I only found two ways to break the
compiler:<o:p></o:p></span></p>
-<p style='margin-left:36.0pt;text-indent:-18.0pt;mso-list:l36 level1 lfo43;
+<p style='margin-left:36.0pt;text-indent:-18.0pt;mso-list:l37 level1 lfo43;
tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'><![if !supportLists]><span
lang=EN-US style='font-family:Symbol;mso-fareast-font-family:Symbol;mso-bidi-font-family:
Symbol;mso-ansi-language:EN-US'><span style='mso-list:Ignore'>·<span
@@ -18193,7 +18490,7 @@
lang=EN-US style='mso-ansi-language:EN-US'>Add more eUML constructs until
something explodes. <o:p></o:p></span></p>
-<p style='margin-left:36.0pt;text-indent:-18.0pt;mso-list:l36 level1 lfo43;
+<p style='margin-left:36.0pt;text-indent:-18.0pt;mso-list:l37 level1 lfo43;
tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'><![if !supportLists]><span
lang=EN-US style='font-family:Symbol;mso-fareast-font-family:Symbol;mso-bidi-font-family:
Symbol;mso-ansi-language:EN-US'><span style='mso-list:Ignore'>·<span
@@ -18226,7 +18523,7 @@
<h2 style='tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'><span
lang=EN-US style='mso-ansi-language:EN-US'>Msm2:<o:p></o:p></span></h2>
-<p style='margin-left:36.0pt;text-indent:-18.0pt;mso-list:l38 level1 lfo44;
+<p style='margin-left:36.0pt;text-indent:-18.0pt;mso-list:l39 level1 lfo44;
tab-stops:list 36.0pt'><![if !supportLists]><span lang=EN-US style='font-size:
10.0pt;mso-bidi-font-size:12.0pt;font-family:Symbol;mso-fareast-font-family:
Symbol;mso-bidi-font-family:Symbol;mso-ansi-language:EN-US'><span
@@ -18234,7 +18531,7 @@
</span></span></span><![endif]><span lang=EN-US style='mso-ansi-language:EN-US'>eUML
was made possible by Boost.Proto and Boost.Typeof<o:p></o:p></span></p>
-<p style='margin-left:36.0pt;text-indent:-18.0pt;mso-list:l38 level1 lfo44;
+<p style='margin-left:36.0pt;text-indent:-18.0pt;mso-list:l39 level1 lfo44;
tab-stops:list 36.0pt'><![if !supportLists]><span lang=EN-US style='font-size:
10.0pt;mso-bidi-font-size:12.0pt;font-family:Symbol;mso-fareast-font-family:
Symbol;mso-bidi-font-family:Symbol;mso-ansi-language:EN-US'><span
@@ -18242,7 +18539,7 @@
</span></span></span><![endif]><span lang=EN-US style='mso-ansi-language:EN-US'>Thanks
to Eric Niebler for his patience correcting my grammar errors<o:p></o:p></span></p>
-<p style='margin-left:36.0pt;text-indent:-18.0pt;mso-list:l38 level1 lfo44;
+<p style='margin-left:36.0pt;text-indent:-18.0pt;mso-list:l39 level1 lfo44;
tab-stops:list 36.0pt'><![if !supportLists]><span lang=EN-US style='font-size:
10.0pt;mso-bidi-font-size:12.0pt;font-family:Symbol;mso-fareast-font-family:
Symbol;mso-bidi-font-family:Symbol;mso-ansi-language:EN-US'><span
@@ -18256,7 +18553,7 @@
mso-symbol-font-family:Wingdings'>J</span></span><span lang=EN-US
style='mso-ansi-language:EN-US'><o:p></o:p></span></p>
-<p style='margin-left:36.0pt;text-indent:-18.0pt;mso-list:l38 level1 lfo44;
+<p style='margin-left:36.0pt;text-indent:-18.0pt;mso-list:l39 level1 lfo44;
tab-stops:list 36.0pt'><![if !supportLists]><span lang=EN-US style='font-size:
10.0pt;mso-bidi-font-size:12.0pt;font-family:Symbol;mso-fareast-font-family:
Symbol;mso-bidi-font-family:Symbol;mso-ansi-language:EN-US'><span
@@ -18265,18 +18562,27 @@
to Richard O’Hara for making Green Hills bring a patch in less than 1
week, thus adding one more compiler to the supported list.<o:p></o:p></span></p>
-<p style='margin-left:36.0pt;text-indent:-18.0pt;mso-list:l38 level1 lfo44;
+<p style='margin-left:36.0pt;text-indent:-18.0pt;mso-list:l39 level1 lfo44;
+tab-stops:list 36.0pt'><![if !supportLists]><span lang=EN-US style='font-size:
+10.0pt;mso-bidi-font-size:12.0pt;font-family:Symbol;mso-fareast-font-family:
+Symbol;mso-bidi-font-family:Symbol;mso-ansi-language:EN-US'><span
+style='mso-list:Ignore'>·<span style='font:7.0pt "Times New Roman"'>
+</span></span></span><![endif]><span lang=EN-US style='mso-ansi-language:EN-US'>Big
+thanks to those who took the time to write a review: Franz Alt, David Bergman, Michael
+Caisse, Barend Gehrels, Darryl Greene, Juraj Ivancic, Erik Nelson, Kenny
+Riddile.<o:p></o:p></span></p>
+
+<p style='margin-left:36.0pt;text-indent:-18.0pt;mso-list:l39 level1 lfo44;
tab-stops:list 36.0pt'><![if !supportLists]><span lang=EN-US style='font-size:
10.0pt;mso-bidi-font-size:12.0pt;font-family:Symbol;mso-fareast-font-family:
Symbol;mso-bidi-font-family:Symbol;mso-ansi-language:EN-US'><span
style='mso-list:Ignore'>·<span style='font:7.0pt "Times New Roman"'>
</span></span></span><![endif]><span lang=EN-US style='mso-ansi-language:EN-US'>Thanks
-to the ones who gave some review comments and helped find problems: Juraj
-Ivancic, Andreas Huber.<o:p></o:p></span></p>
+to Dave Abrahams for managing the review<o:p></o:p></span></p>
<h2 style='tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'>Msm1</h2>
-<p style='margin-left:36.0pt;text-indent:-18.0pt;mso-list:l38 level1 lfo44;
+<p style='margin-left:36.0pt;text-indent:-18.0pt;mso-list:l39 level1 lfo44;
tab-stops:list 36.0pt'><![if !supportLists]><span lang=EN-US style='font-size:
10.0pt;mso-bidi-font-size:12.0pt;font-family:Symbol;mso-fareast-font-family:
Symbol;mso-bidi-font-family:Symbol;mso-ansi-language:EN-US'><span
@@ -18287,7 +18593,7 @@
framework in their excellent book, “C++ template Metaprogramming”.
The implementation also makes heavy use of the boost::mpl.<o:p></o:p></span></p>
-<p style='margin-left:36.0pt;text-indent:-18.0pt;mso-list:l38 level1 lfo44;
+<p style='margin-left:36.0pt;text-indent:-18.0pt;mso-list:l39 level1 lfo44;
tab-stops:list 36.0pt'><![if !supportLists]><span lang=EN-US style='font-size:
10.0pt;mso-bidi-font-size:12.0pt;font-family:Symbol;mso-fareast-font-family:
Symbol;mso-bidi-font-family:Symbol;mso-ansi-language:EN-US'><span
@@ -18296,7 +18602,7 @@
to Jeff Flinn for his idea of the user-defined base state and his review which
allowed Msm to be presented at the BoostCon09.<o:p></o:p></span></p>
-<p style='margin-left:36.0pt;text-indent:-18.0pt;mso-list:l38 level1 lfo44;
+<p style='margin-left:36.0pt;text-indent:-18.0pt;mso-list:l39 level1 lfo44;
tab-stops:list 36.0pt'><![if !supportLists]><span lang=EN-US style='font-size:
10.0pt;mso-bidi-font-size:12.0pt;font-family:Symbol;mso-fareast-font-family:
Symbol;mso-bidi-font-family:Symbol;mso-ansi-language:EN-US'><span
@@ -18380,8 +18686,8 @@
<p style='tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'><u><span
lang=EN-US style='mso-ansi-language:EN-US'>Question</span></u><span lang=EN-US
-style='mso-ansi-language:EN-US'>: on_entry gets as argument, the sent event.
-What event do I get when the state becomes default-activated (because it is an
+style='mso-ansi-language:EN-US'>: on_entry gets as argument, the sent event. What
+event do I get when the state becomes default-activated (because it is an
initial state)?<o:p></o:p></span></p>
<p style='tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'><u><span
@@ -18541,15 +18847,16 @@
disadvantages. <o:p></o:p></span></p>
<p style='tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'><span
-lang=EN-US style='mso-ansi-language:EN-US'>First, we notice that “alarm-beeps”
-has an implementation visible to the outside world. This particularity is being
-used and this leads to three states with close names, “alarm1
-beeps”, “alarm2 beeps”, “both beep”. If you think
-that this starts sounding like duplication of information, you are not the only
-one. The second point is about design and reuse. Let us imagine what could
-happen if Harel really was working for a company producing watches.<o:p></o:p></span></p>
+lang=EN-US style='mso-ansi-language:EN-US'>First, we notice that
+“alarm-beeps” has an implementation visible to the outside world.
+This particularity is being used and this leads to three states with close
+names, “alarm1 beeps”, “alarm2 beeps”, “both
+beep”. If you think that this starts sounding like duplication of
+information, you are not the only one. The second point is about design and
+reuse. Let us imagine what could happen if Harel really was working for a
+company producing watches.<o:p></o:p></span></p>
-<p style='margin-left:36.0pt;text-indent:-18.0pt;mso-list:l44 level1 lfo46;
+<p style='margin-left:36.0pt;text-indent:-18.0pt;mso-list:l45 level1 lfo46;
tab-stops:list 36.0pt'><![if !supportLists]><span lang=EN-US style='font-size:
10.0pt;mso-bidi-font-size:12.0pt;font-family:Symbol;mso-fareast-font-family:
Symbol;mso-bidi-font-family:Symbol;mso-ansi-language:EN-US'><span
@@ -18557,7 +18864,7 @@
</span></span></span><![endif]><span lang=EN-US style='mso-ansi-language:EN-US'>Harel
would implement this state machine.<o:p></o:p></span></p>
-<p style='margin-left:36.0pt;text-indent:-18.0pt;mso-list:l44 level1 lfo46;
+<p style='margin-left:36.0pt;text-indent:-18.0pt;mso-list:l45 level1 lfo46;
tab-stops:list 36.0pt'><![if !supportLists]><span lang=EN-US style='font-size:
10.0pt;mso-bidi-font-size:12.0pt;font-family:Symbol;mso-fareast-font-family:
Symbol;mso-bidi-font-family:Symbol;mso-ansi-language:EN-US'><span
@@ -18566,7 +18873,7 @@
time later, he would be asked to do the same for a new model of watch. But this
model would have 3 alarms.<o:p></o:p></span></p>
-<p style='margin-left:36.0pt;text-indent:-18.0pt;mso-list:l44 level1 lfo46;
+<p style='margin-left:36.0pt;text-indent:-18.0pt;mso-list:l45 level1 lfo46;
tab-stops:list 36.0pt'><![if !supportLists]><span lang=EN-US style='font-size:
10.0pt;mso-bidi-font-size:12.0pt;font-family:Symbol;mso-fareast-font-family:
Symbol;mso-bidi-font-family:Symbol;mso-ansi-language:EN-US'><span
@@ -18574,7 +18881,7 @@
</span></span></span><![endif]><span lang=EN-US style='mso-ansi-language:EN-US'>Or
maybe 4 alarms?<o:p></o:p></span></p>
-<p style='margin-left:36.0pt;text-indent:-18.0pt;mso-list:l44 level1 lfo46;
+<p style='margin-left:36.0pt;text-indent:-18.0pt;mso-list:l45 level1 lfo46;
tab-stops:list 36.0pt'><![if !supportLists]><span lang=EN-US style='font-size:
10.0pt;mso-bidi-font-size:12.0pt;font-family:Symbol;mso-fareast-font-family:
Symbol;mso-bidi-font-family:Symbol;mso-ansi-language:EN-US'><span
@@ -18586,16 +18893,16 @@
lang=EN-US style='mso-ansi-language:EN-US'><o:p> </o:p></span></p>
<p style='tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'><span
-lang=EN-US style='mso-ansi-language:EN-US'>Please keep in mind that these
-companies produce hundreds of slightly different products, which makes this quite
-a realistic scenario.<o:p></o:p></span></p>
+lang=EN-US style='mso-ansi-language:EN-US'>Please keep in mind that these companies
+produce hundreds of slightly different products, which makes this quite a
+realistic scenario.<o:p></o:p></span></p>
<p style='tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'><span
lang=EN-US style='mso-ansi-language:EN-US'>What would be the result? New states
like “alarm3 beeps” or “three beep” + “both
-beep” (backward compatibility). Maintenance would quickly become a
-nightmare. The reason? A breach of encapsulation caused by “alarm
-beeps” letting other state machines use its internals.<o:p></o:p></span></p>
+beep” (backward compatibility). Maintenance would quickly become a nightmare.
+The reason? A breach of encapsulation caused by “alarm beeps”
+letting other state machines use its internals.<o:p></o:p></span></p>
<p style='tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'><span
lang=EN-US style='mso-ansi-language:EN-US'>Luckily, UML provides not only the
@@ -18606,7 +18913,7 @@
<p style='tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'><span
lang=EN-US style='mso-ansi-language:EN-US'>Let us redesign Alarm-Beeps by:<o:p></o:p></span></p>
-<p style='margin-left:36.0pt;text-indent:-18.0pt;mso-list:l35 level1 lfo47;
+<p style='margin-left:36.0pt;text-indent:-18.0pt;mso-list:l36 level1 lfo47;
tab-stops:list 36.0pt'><![if !supportLists]><span lang=EN-US style='font-size:
10.0pt;mso-bidi-font-size:12.0pt;font-family:Symbol;mso-fareast-font-family:
Symbol;mso-bidi-font-family:Symbol;mso-ansi-language:EN-US'><span
@@ -18614,7 +18921,7 @@
</span></span></span><![endif]><span lang=EN-US style='mso-ansi-language:EN-US'>Encapsulating
the alarm functionality in its own state (machine).<o:p></o:p></span></p>
-<p style='margin-left:36.0pt;text-indent:-18.0pt;mso-list:l35 level1 lfo47;
+<p style='margin-left:36.0pt;text-indent:-18.0pt;mso-list:l36 level1 lfo47;
tab-stops:list 36.0pt'><![if !supportLists]><span lang=EN-US style='font-size:
10.0pt;mso-bidi-font-size:12.0pt;font-family:Symbol;mso-fareast-font-family:
Symbol;mso-bidi-font-family:Symbol;mso-ansi-language:EN-US'><span
@@ -18629,7 +18936,7 @@
height:388.8pt;visibility:visible;mso-wrap-style:square'>
<v:imagedata src="index-Dateien/image017.jpg" o:title="clock"/>
</v:shape><![endif]--><![if !vml]><img border=0 width=554 height=518
-src="index-Dateien/image018.jpg" alt=clock.jpg v:shapes="Grafik_x0020_5"><![endif]></span><span
+src="index-Dateien/image035.jpg" alt=clock.jpg v:shapes="Grafik_x0020_5"><![endif]></span><span
lang=EN-US style='mso-ansi-language:EN-US'><br clear=left style='mso-special-character:
line-break'>
<o:p></o:p></span></p>
@@ -18639,8 +18946,8 @@
<p style='tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'><span
lang=EN-US style='mso-ansi-language:EN-US'>As you see, it is quite simple. You
-only need define an instance of Alarm in each zone. To add a new alarm is as
-simple as adding a new instance. The Alarm submachine is simply defined as:<o:p></o:p></span></p>
+only need define an instance of Alarm in each zone. To add a new alarm is as simple
+as adding a new instance. The Alarm submachine is simply defined as:<o:p></o:p></span></p>
<p style='margin-bottom:12.0pt;tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'><span
style='mso-no-proof:yes'><!--[if gte vml 1]><v:shape id="Grafik_x0020_6"
@@ -18648,7 +18955,7 @@
height:229.2pt;visibility:visible;mso-wrap-style:square'>
<v:imagedata src="index-Dateien/image019.jpg" o:title="alarm"/>
</v:shape><![endif]--><![if !vml]><img border=0 width=467 height=306
-src="index-Dateien/image020.jpg" alt=alarm.jpg v:shapes="Grafik_x0020_6"><![endif]></span><span
+src="index-Dateien/image036.jpg" alt=alarm.jpg v:shapes="Grafik_x0020_6"><![endif]></span><span
lang=EN-US style='mso-ansi-language:EN-US'><br clear=left style='mso-special-character:
line-break'>
<o:p></o:p></span></p>
@@ -18694,11 +19001,10 @@
lang=EN-US style='font-family:"Courier New";mso-ansi-language:EN-US'><o:p> </o:p></span></p>
<p style='tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'><span
-lang=EN-US style='color:black;mso-ansi-language:EN-US'>And identify each
-instance in </span><span lang=EN-US style='font-family:"Courier New";
-color:black;mso-ansi-language:EN-US'>alarmBeeps</span><span lang=EN-US
-style='color:black;mso-ansi-language:EN-US'> as Alarm<1>, Alarm<2>,
-etc.<o:p></o:p></span></p>
+lang=EN-US style='color:black;mso-ansi-language:EN-US'>And identify each instance
+in </span><span lang=EN-US style='font-family:"Courier New";color:black;
+mso-ansi-language:EN-US'>alarmBeeps</span><span lang=EN-US style='color:black;
+mso-ansi-language:EN-US'> as Alarm<1>, Alarm<2>, etc.<o:p></o:p></span></p>
<p style='tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'><span
lang=EN-US style='color:black;mso-ansi-language:EN-US'><o:p> </o:p></span></p>
@@ -18738,8 +19044,8 @@
<p style='tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'><span
lang=EN-US style='mso-ansi-language:EN-US'>This way, if Harel ever needs to
-support a third alarm, he simply needs a third entry in this typedef. Notice
-how having front-ends and back-ends elegantly solves this problem while staying
+support a third alarm, he simply needs a third entry in this typedef. Notice how
+having front-ends and back-ends elegantly solves this problem while staying
generic. Notice also that it is now possible to have each alarm instance use
different history policies.<o:p></o:p></span></p>
@@ -18779,7 +19085,7 @@
piece of clock watch functionality, the countdown. We get the following
specification:<o:p></o:p></span></p>
-<p class=MsoListParagraphCxSpFirst style='text-indent:-18.0pt;mso-list:l25 level1 lfo37;
+<p class=MsoListParagraphCxSpFirst style='text-indent:-18.0pt;mso-list:l26 level1 lfo37;
tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'><![if !supportLists]><span
lang=EN-US style='mso-fareast-font-family:"Times New Roman";mso-ansi-language:
EN-US'><span style='mso-list:Ignore'>-<span style='font:7.0pt "Times New Roman"'>
@@ -18788,14 +19094,14 @@
has to start. The sent event contains the countdown value </span>in<span
lang=EN-US style='mso-ansi-language:EN-US'> seconds<o:p></o:p></span></p>
-<p class=MsoListParagraphCxSpMiddle style='text-indent:-18.0pt;mso-list:l25 level1 lfo37;
+<p class=MsoListParagraphCxSpMiddle style='text-indent:-18.0pt;mso-list:l26 level1 lfo37;
tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'><![if !supportLists]><span
lang=EN-US style='mso-fareast-font-family:"Times New Roman";mso-ansi-language:
EN-US'><span style='mso-list:Ignore'>-<span style='font:7.0pt "Times New Roman"'>
</span></span></span><![endif]><span lang=EN-US style='mso-ansi-language:EN-US'>When
the countdown is finished, the clock has to ring for exactly 5s.<o:p></o:p></span></p>
-<p class=MsoListParagraphCxSpMiddle style='text-indent:-18.0pt;mso-list:l25 level1 lfo37;
+<p class=MsoListParagraphCxSpMiddle style='text-indent:-18.0pt;mso-list:l26 level1 lfo37;
tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'><![if !supportLists]><span
lang=EN-US style='mso-fareast-font-family:"Times New Roman";mso-ansi-language:
EN-US'><span style='mso-list:Ignore'>-<span style='font:7.0pt "Times New Roman"'>
@@ -18803,14 +19109,14 @@
any time, the user can stop the countdown or ringing by pressing the stop
button.<o:p></o:p></span></p>
-<p class=MsoListParagraphCxSpMiddle style='text-indent:-18.0pt;mso-list:l25 level1 lfo37;
+<p class=MsoListParagraphCxSpMiddle style='text-indent:-18.0pt;mso-list:l26 level1 lfo37;
tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'><![if !supportLists]><span
lang=EN-US style='mso-fareast-font-family:"Times New Roman";mso-ansi-language:
EN-US'><span style='mso-list:Ignore'>-<span style='font:7.0pt "Times New Roman"'>
</span></span></span><![endif]><span lang=EN-US style='mso-ansi-language:EN-US'>The
ringing can be stopped by pressing any button (start or stop)<o:p></o:p></span></p>
-<p class=MsoListParagraphCxSpLast style='text-indent:-18.0pt;mso-list:l25 level1 lfo37;
+<p class=MsoListParagraphCxSpLast style='text-indent:-18.0pt;mso-list:l26 level1 lfo37;
tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'><![if !supportLists]><span
lang=EN-US style='mso-fareast-font-family:"Times New Roman";mso-ansi-language:
EN-US'><span style='mso-list:Ignore'>-<span style='font:7.0pt "Times New Roman"'>
@@ -18825,8 +19131,8 @@
lang=EN-US style='mso-ansi-language:EN-US'><o:p> </o:p></span></p>
<p class=MsoNormal style='tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'><span
-lang=EN-US style='mso-ansi-language:EN-US'>The following UML diagram shows how
-a UML designer might want to solve the problem (note, in UML, guards are
+lang=EN-US style='mso-ansi-language:EN-US'>The following UML diagram shows how a
+UML designer might want to solve the problem (note, in UML, guards are
surrounded by “[ ]” and actions follow a “ / “):<o:p></o:p></span></p>
<p class=MsoNormal style='tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'><span
@@ -18838,7 +19144,7 @@
height:471pt;visibility:visible;mso-wrap-style:square'>
<v:imagedata src="index-Dateien/image021.jpg" o:title="Timer"/>
</v:shape><![endif]--><![if !vml]><img border=0 width=594 height=628
-src="index-Dateien/image022.jpg" alt=Timer.jpg v:shapes="Grafik_x0020_7"><![endif]></span><span
+src="index-Dateien/image037.jpg" alt=Timer.jpg v:shapes="Grafik_x0020_7"><![endif]></span><span
lang=EN-US style='mso-ansi-language:EN-US'><o:p></o:p></span></p>
<p class=MsoNormal style='tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'><span
@@ -18900,8 +19206,8 @@
lang=EN-US style='font-family:"Courier New";mso-ansi-language:EN-US'>Ringing</span><span
lang=EN-US style='mso-ansi-language:EN-US'>, 2 transitions can handle the </span><span
lang=EN-US style='font-family:"Courier New";mso-ansi-language:EN-US'>tick</span><span
-lang=EN-US style='mso-ansi-language:EN-US'> event. We therefore define 2 mutually
-exclusive guards: the one moving back to </span><span lang=EN-US
+lang=EN-US style='mso-ansi-language:EN-US'> event. We therefore define 2
+mutually exclusive guards: the one moving back to </span><span lang=EN-US
style='font-family:"Courier New";mso-ansi-language:EN-US'>Ringing</span><span
lang=EN-US style='mso-ansi-language:EN-US'> is true if </span><span lang=EN-US
style='font-family:"Courier New";mso-ansi-language:EN-US'>counter – tick
@@ -18913,10 +19219,10 @@
tick <= 0</span><span lang=EN-US style='mso-ansi-language:EN-US'>. <o:p></o:p></span></p>
<p class=MsoNormal style='tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'><span
-lang=EN-US style='mso-ansi-language:EN-US'>Otherwise, if any button (start/stop)
-is pressed, we move back to </span><span lang=EN-US style='font-family:"Courier New";
-mso-ansi-language:EN-US'>Stopped</span><span lang=EN-US style='mso-ansi-language:
-EN-US'>.<o:p></o:p></span></p>
+lang=EN-US style='mso-ansi-language:EN-US'>Otherwise, if any button
+(start/stop) is pressed, we move back to </span><span lang=EN-US
+style='font-family:"Courier New";mso-ansi-language:EN-US'>Stopped</span><span
+lang=EN-US style='mso-ansi-language:EN-US'>.<o:p></o:p></span></p>
<p class=MsoNormal style='tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'><span
lang=EN-US style='mso-ansi-language:EN-US'><o:p> </o:p></span></p>
@@ -18933,10 +19239,10 @@
<p class=MsoNormal style='tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'><span
lang=EN-US style='mso-ansi-language:EN-US'>With eUML, the code is equivalent to
-the model (and could be parsed back to the model if necessary). So let’s go
-back to what we wrote in the model and analyze the conversion:<o:p></o:p></span></p>
+the model (and could be parsed back to the model if necessary). So let’s
+go back to what we wrote in the model and analyze the conversion:<o:p></o:p></span></p>
-<p class=MsoListParagraphCxSpFirst style='text-indent:-18.0pt;mso-list:l25 level1 lfo37;
+<p class=MsoListParagraphCxSpFirst style='text-indent:-18.0pt;mso-list:l26 level1 lfo37;
tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'><![if !supportLists]><span
lang=EN-US style='mso-fareast-font-family:"Times New Roman";mso-ansi-language:
EN-US'><span style='mso-list:Ignore'>-<span style='font:7.0pt "Times New Roman"'>
@@ -18949,7 +19255,7 @@
<span style='color:#030003'>Event_</span><<span style='color:#030003'>m_timer</span>>()</span><span
lang=EN-US style='mso-ansi-language:EN-US'><o:p></o:p></span></p>
-<p class=MsoListParagraphCxSpMiddle style='text-indent:-18.0pt;mso-list:l25 level1 lfo37;
+<p class=MsoListParagraphCxSpMiddle style='text-indent:-18.0pt;mso-list:l26 level1 lfo37;
tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'><![if !supportLists]><span
lang=EN-US style='mso-fareast-font-family:"Times New Roman";mso-ansi-language:
EN-US'><span style='mso-list:Ignore'>-<span style='font:7.0pt "Times New Roman"'>
@@ -18968,7 +19274,7 @@
mso-ansi-language:EN-US;mso-no-proof:yes'> </span><span lang=EN-US
style='mso-ansi-language:EN-US'><o:p></o:p></span></p>
-<p class=MsoListParagraphCxSpMiddle style='text-indent:-18.0pt;mso-list:l25 level1 lfo37;
+<p class=MsoListParagraphCxSpMiddle style='text-indent:-18.0pt;mso-list:l26 level1 lfo37;
tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'><![if !supportLists]><span
lang=EN-US style='mso-fareast-font-family:"Times New Roman";mso-ansi-language:
EN-US'><span style='mso-list:Ignore'>-<span style='font:7.0pt "Times New Roman"'>
@@ -18981,7 +19287,7 @@
= <span style='color:#030003'>Int_</span><<span style='color:#030003'>RINGING_TIME</span>>()</span><span
lang=EN-US style='mso-ansi-language:EN-US'><o:p></o:p></span></p>
-<p class=MsoListParagraphCxSpMiddle style='text-indent:-18.0pt;mso-list:l25 level1 lfo37;
+<p class=MsoListParagraphCxSpMiddle style='text-indent:-18.0pt;mso-list:l26 level1 lfo37;
tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'><![if !supportLists]><span
lang=EN-US style='mso-fareast-font-family:"Times New Roman";mso-ansi-language:
EN-US'><span style='mso-list:Ignore'>-<span style='font:7.0pt "Times New Roman"'>
@@ -19022,14 +19328,14 @@
<p class=MsoNormal style='tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'><span
lang=EN-US style='mso-ansi-language:EN-US'>The previous example is a standard
-application for state machines. But we want to push our model-driven approach further
-by using a state machine to write an algorithm. I already see some at the back
-of the room looking perplexed. Well, why not? Usually, UML designers like to
-use Activity Diagrams to do this, but mostly for documentation purposes because
-Activity Diagrams are hard to define with a precision needed for automatic code
-generation. On the other hand, state machines have a very strict formalism
-which enables code generation while being “cousin” with Activity
-Diagrams.<o:p></o:p></span></p>
+application for state machines. But we want to push our model-driven approach
+further by using a state machine to write an algorithm. I already see some at
+the back of the room looking perplexed. Well, why not? Usually, UML designers
+like to use Activity Diagrams to do this, but mostly for documentation purposes
+because Activity Diagrams are hard to define with a precision needed for
+automatic code generation. On the other hand, state machines have a very strict
+formalism which enables code generation while being “cousin” with
+Activity Diagrams.<o:p></o:p></span></p>
<p class=MsoNormal style='tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'><span
lang=EN-US style='mso-ansi-language:EN-US'>Let’s suppose we are asked to
@@ -19070,8 +19376,8 @@
lang=EN-US style='mso-ansi-language:EN-US'><o:p> </o:p></span></p>
<p class=MsoNormal style='tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'><span
-lang=EN-US style='mso-ansi-language:EN-US'>We now want to do this using a model-driven
-approach with state machines. I suggest the following machine:<o:p></o:p></span></p>
+lang=EN-US style='mso-ansi-language:EN-US'>We now want to do this using a
+model-driven approach with state machines. I suggest the following machine:<o:p></o:p></span></p>
<p class=MsoNormal style='tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'><span
lang=EN-US style='mso-ansi-language:EN-US'><o:p> </o:p></span></p>
@@ -19082,7 +19388,7 @@
height:200.4pt;visibility:visible;mso-wrap-style:square'>
<v:imagedata src="index-Dateien/image023.jpg" o:title="iPodSearch"/>
</v:shape><![endif]--><![if !vml]><img border=0 width=308 height=267
-src="index-Dateien/image024.jpg" alt=iPodSearch.jpg v:shapes="Grafik_x0020_8"><![endif]></span><span
+src="index-Dateien/image038.jpg" alt=iPodSearch.jpg v:shapes="Grafik_x0020_8"><![endif]></span><span
lang=EN-US style='mso-ansi-language:EN-US'><o:p></o:p></span></p>
<p class=MsoNormal style='tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'><span
@@ -19645,7 +19951,7 @@
height:384.6pt;visibility:visible;mso-wrap-style:square'>
<v:imagedata src="index-Dateien/image025.jpg" o:title="AnnexA"/>
</v:shape><![endif]--><![if !vml]><img border=0 width=798 height=513
-src="index-Dateien/image026.jpg" alt=AnnexA.jpg v:shapes="Grafik_x0020_9"><![endif]></span><span
+src="index-Dateien/image039.jpg" alt=AnnexA.jpg v:shapes="Grafik_x0020_9"><![endif]></span><span
lang=EN-US style='mso-ansi-language:EN-US'><br clear=left style='mso-special-character:
line-break'>
<o:p></o:p></span></p>
@@ -19662,8 +19968,8 @@
“Next” column) id 7.<o:p></o:p></span></p>
<p style='tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'><span
-lang=EN-US style='mso-ansi-language:EN-US'>If you have some implicitly created states,
-like transition-less initial states or states created using the </span><span
+lang=EN-US style='mso-ansi-language:EN-US'>If you have some implicitly created
+states, like transition-less initial states or states created using the </span><span
lang=EN-US style='font-family:"Courier New";mso-ansi-language:EN-US'>explicit_creation</span><span
lang=EN-US style='mso-ansi-language:EN-US'> typedef, these will be added as a
source at the end of the transition table.<o:p></o:p></span></p>
Boost-Commit list run by bdawes at acm.org, david.abrahams at rcn.com, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk