diff options
Diffstat (limited to 'plugins/org.eclipse.etrice.doc/html/etrice-docse17.html')
-rw-r--r-- | plugins/org.eclipse.etrice.doc/html/etrice-docse17.html | 486 |
1 files changed, 436 insertions, 50 deletions
diff --git a/plugins/org.eclipse.etrice.doc/html/etrice-docse17.html b/plugins/org.eclipse.etrice.doc/html/etrice-docse17.html index 9ff86dfc4..44d220994 100644 --- a/plugins/org.eclipse.etrice.doc/html/etrice-docse17.html +++ b/plugins/org.eclipse.etrice.doc/html/etrice-docse17.html @@ -4,77 +4,463 @@ <!--http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd--> <html xmlns="http://www.w3.org/1999/xhtml" > -<head><title>Dynamic Actors 8</title> +<head><title>Finite State Machines</title> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" /> <meta name="generator" content="TeX4ht (http://www.cse.ohio-state.edu/~gurari/TeX4ht/)" /> <meta name="originator" content="TeX4ht (http://www.cse.ohio-state.edu/~gurari/TeX4ht/)" /> <!-- xhtml,3,next,html --> <meta name="src" content="etrice-doc.tex" /> -<meta name="date" content="2015-06-26 00:33:00" /> +<meta name="date" content="2015-06-30 18:08:00" /> <link rel="stylesheet" type="text/css" href="etrice-doc.css" /> </head><body > -<!--l. 290--><div class="crosslinks"><p class="noindent">[<a -href="etrice-docse18.html" >next</a>] [<a +<!--l. 606--><div class="crosslinks"><p class="noindent">[<a +href="etrice-docch6.html" >next</a>] [<a href="etrice-docse16.html" >prev</a>] [<a href="etrice-docse16.html#tailetrice-docse16.html" >prev-tail</a>] [<a href="#tailetrice-docse17.html">tail</a>] [<a -href="etrice-docch4.html#etrice-docse17.html" >up</a>] </p></div> -<h3 class="sectionHead"><span class="titlemark">4.8 </span> <a - id="x23-970008"></a>Dynamic Actors 8</h3> -<!--l. 292--><p class="noindent" >This example is contained in <span -class="ec-lmtt-10">org.eclipse.etrice.examples.dynamicactors8</span>. +href="etrice-docch5.html#etrice-docse17.html" >up</a>] </p></div> +<h3 class="sectionHead"><span class="titlemark">5.6 </span> <a + id="x24-1480006"></a>Finite State Machines</h3> <a - id="x23-97001r120"></a> + id="x24-148001r192"></a> +<h4 class="subsectionHead"><span class="titlemark">5.6.1 </span> <a + id="x24-1490001"></a>Description</h4> +<!--l. 610--><p class="noindent" >Definition from <a +href="http://en.wikipedia.org/wiki/Finite-state_machine" >Wikipedia</a>: + </p><div class="quote"> + <!--l. 613--><p class="noindent" >A finite-state machine (FSM) or finite-state automaton (plural: automata), or simply a state machine, + is a mathematical model used to design computer programs and digital logic circuits. It is conceived as + an abstract machine that can be in one of a finite number of states. The machine is in only one state at + a time; the state it is in at any given time is called the current state. It can change from one state to + another when initiated by a triggering event or condition, this is called a transition. A particular FSM is + defined by a list of the possible states it can transition to from each state, and the triggering condition + for each transition. + </p><!--l. 621--><p class="noindent" >In ROOM each actor class can implement its behavior using a state machine. Events occurring at the + end ports of an actor will be forwarded to and processed by the state machine. Events possibly trigger + state transitions.</p></div> +<a + id="x24-149001r195"></a> +<h4 class="subsectionHead"><span class="titlemark">5.6.2 </span> <a + id="x24-1500002"></a>Motivation</h4> +<!--l. 628--><p class="noindent" >For event driven systems a finite state machine is ideal for processing the stream of events. Typically during processing new +events are produced which are sent to peer actors. +</p><!--l. 631--><p class="noindent" >We distinguish flat and hierarchical state machines. +<a + id="x24-150001r196"></a> </p> -<h4 class="subsectionHead"><span class="titlemark">4.8.1 </span> <a - id="x23-980001"></a>Purpose</h4> -<!--l. 296--><p class="noindent" >The example demonstrates the use of the persistence interface for dynamic actors. +<h4 class="subsectionHead"><span class="titlemark">5.6.3 </span> <a + id="x24-1510003"></a>Notation</h4> +<!--l. 635--><p class="noindent" >We distinguish flat finite state machines (with just one level of hierarchy) and hierarchical ones. <a - id="x23-98001r122"></a> + id="Q1-24-198"></a> </p> -<h4 class="subsectionHead"><span class="titlemark">4.8.2 </span> <a - id="x23-990002"></a>Details</h4> -<!--l. 300--><p class="noindent" >Dynamic actors can be persisted and restored. To this end the user has to pass an <span -class="ec-lmtt-10">java.io.ObjectOutput </span>to -the creation method (<span -class="ec-lmtt-10">createOptionalActor()</span>) and an <span -class="ec-lmtt-10">java.io.ObjectInput </span>to the deletion method -(<span -class="ec-lmtt-10">destroyOptionalActor()</span>). -</p><!--l. 303--><p class="noindent" >The code generation has to be invoked with the <span -class="ec-lmtt-10">-persistable </span>(e.g. by setting the ’generate persistence interface’ flag in the -Java Generator tab of the launch configuration). This lets the generator implement the <span -class="ec-lmtt-10">IPersistable </span>interface for actor -classes. -</p><!--l. 306--><p class="noindent" >The example adds a manually coded very simple <span -class="ec-lmtt-10">FilePersistor </span>with four static methods for creation and deletion of scalar -and replicated dynamic actors. -</p><!--l. 309--><p class="noindent" >The <span -class="ec-lmtt-10">Container </span>class first creates an optional actor of type <span -class="ec-lmtt-10">Optional1 </span>in the scalar reference <span -class="ec-lmtt-10">opt</span>. Then messages are sent -to this actor instance which lead to some state changes. Finally it is saved and destroyed. Now another actor class is -instantiated in the same actor reference and also destroyed. Then the first instance is loaded from file. It directly starts in the -state it had when it was saved. The second part of the example loads copies of the two instances created in the beginning -into the <span -class="ec-lmtt-10">optarr </span>reference. +<h5 class="likesubsubsectionHead"><a + id="x24-1520003"></a>Flat Finite State Machine</h5> +<!--l. 639--><p class="noindent" >The simpler flat finite state machines are composed of the elements shown in table <a +href="#x24-152001r6">5.6<!--tex4ht:ref: tab:flat_fsm_notation --></a>. +</p> +<div class="table"> + + +<!--l. 642--><p class="noindent" ><a + id="x24-152001r6"></a></p><hr class="float" /><div class="float" +> + + + <div class="caption" +><span class="id">Table 5.6: </span><span +class="content">Flat finite state machine notation</span></div><!--tex4ht:label?: x24-152001r6 --> +<div class="tabular"> <table id="TBL-12" class="tabular" +cellspacing="0" cellpadding="0" rules="groups" +><colgroup id="TBL-12-1g"><col +id="TBL-12-1" /></colgroup><colgroup id="TBL-12-2g"><col +id="TBL-12-2" /></colgroup><colgroup id="TBL-12-3g"><col +id="TBL-12-3" /></colgroup><tr +class="hline"><td><hr /></td><td><hr /></td><td><hr /></td></tr><tr + style="vertical-align:baseline;" id="TBL-12-1-"><td style="white-space:nowrap; text-align:left; vertical-align:middle;" id="TBL-12-1-1" +class="td11"> <!--l. 646--><p class="noindent" ><span +class="ec-lmssbx-10">Description</span> </p></td><td style="white-space:nowrap; text-align:center;" id="TBL-12-1-2" +class="td11"> <span +class="ec-lmssbx-10">Graphical Notation </span></td><td style="white-space:nowrap; text-align:left; vertical-align:middle;" id="TBL-12-1-3" +class="td11"> <!--l. 646--><p class="noindent" ><span +class="ec-lmssbx-10">Textual Notation</span> </p></td> +</tr><tr +class="hline"><td><hr /></td><td><hr /></td><td><hr /></td></tr><tr + style="vertical-align:baseline;" id="TBL-12-2-"><td style="white-space:nowrap; text-align:left; vertical-align:middle;" id="TBL-12-2-1" +class="td11"> <!--l. 648--><p class="noindent" >State </p></td><td style="white-space:nowrap; text-align:center;" id="TBL-12-2-2" +class="td11"> <img +src="images/040-State.jpg" alt="PIC" + /> </td><td style="white-space:nowrap; text-align:left; vertical-align:middle;" id="TBL-12-2-3" +class="td11"> <!--l. 649--> + <div class="lstlisting" id="listing-53"><span class="label"><a + id="x24-152002r1"></a></span><span +class="ec-lmssbx-10x-x-90">State</span><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9">SomeState</span> + +</div> +<!--l. 654--><p class="noindent" > </p></td> +</tr><tr +class="hline"><td><hr /></td><td><hr /></td><td><hr /></td></tr><tr + style="vertical-align:baseline;" id="TBL-12-3-"><td style="white-space:nowrap; text-align:left; vertical-align:middle;" id="TBL-12-3-1" +class="td11"> <!--l. 655--><p class="noindent" >InitialPoint </p></td><td style="white-space:nowrap; text-align:center;" id="TBL-12-3-2" +class="td11"> <img +src="images/040-InitialPoint.jpg" alt="PIC" + /> </td><td style="white-space:nowrap; text-align:left; vertical-align:middle;" id="TBL-12-3-3" +class="td11"> <!--l. 655--><p class="noindent" ><span +class="ec-lmsso-10">implicit</span> </p></td> +</tr><tr +class="hline"><td><hr /></td><td><hr /></td><td><hr /></td></tr><tr + style="vertical-align:baseline;" id="TBL-12-4-"><td style="white-space:nowrap; text-align:left; vertical-align:middle;" id="TBL-12-4-1" +class="td11"> <!--l. 657--><p class="noindent" >TransitionPoint </p></td><td style="white-space:nowrap; text-align:center;" id="TBL-12-4-2" +class="td11"> <img +src="images/040-TransitionPoint.jpg" alt="PIC" + /> </td><td style="white-space:nowrap; text-align:left; vertical-align:middle;" id="TBL-12-4-3" +class="td11"> <!--l. 658--> + <div class="lstlisting" id="listing-54"><span class="label"><a + id="x24-152003r1"></a></span><span +class="ec-lmssbx-10x-x-90">TransitionPoint</span><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9">tp</span> + +</div> +<!--l. 663--><p class="noindent" > </p></td> +</tr><tr +class="hline"><td><hr /></td><td><hr /></td><td><hr /></td></tr><tr + style="vertical-align:baseline;" id="TBL-12-5-"><td style="white-space:nowrap; text-align:left; vertical-align:middle;" id="TBL-12-5-1" +class="td11"> <!--l. 664--><p class="noindent" >ChoicePoint </p></td><td style="white-space:nowrap; text-align:center;" id="TBL-12-5-2" +class="td11"> <img +src="images/040-ChoicePoint.jpg" alt="PIC" + /> </td><td style="white-space:nowrap; text-align:left; vertical-align:middle;" id="TBL-12-5-3" +class="td11"> <!--l. 665--> + <div class="lstlisting" id="listing-55"><span class="label"><a + id="x24-152004r1"></a></span><span +class="ec-lmssbx-10x-x-90">ChoicePoint</span><span +class="ec-lmtt-9"> </span><span +class="ec-lmssbx-10x-x-90">cp</span> + +</div> +<!--l. 670--><p class="noindent" > </p></td> +</tr><tr +class="hline"><td><hr /></td><td><hr /></td><td><hr /></td></tr><tr + style="vertical-align:baseline;" id="TBL-12-6-"><td style="white-space:nowrap; text-align:left; vertical-align:middle;" id="TBL-12-6-1" +class="td11"> <!--l. 671--><p class="noindent" >Initial Transition </p></td><td style="white-space:nowrap; text-align:center;" id="TBL-12-6-2" +class="td11"> <img +src="images/040-InitialTransition.jpg" alt="PIC" + /> </td><td style="white-space:nowrap; text-align:left; vertical-align:middle;" id="TBL-12-6-3" +class="td11"> <!--l. 672--> + <div class="lstlisting" id="listing-56"><span class="label"><a + id="x24-152005r1"></a></span><span +class="ec-lmssbx-10x-x-90">Transition</span><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9">init</span><span +class="ec-lmtt-9">:</span><span +class="ec-lmtt-9"> </span><span +class="ec-lmssbx-10x-x-90">initial</span><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9">-></span><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9">Initial</span><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9">{</span><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9">}</span> + +</div> +<!--l. 677--><p class="noindent" > </p></td> +</tr><tr +class="hline"><td><hr /></td><td><hr /></td><td><hr /></td></tr><tr + style="vertical-align:baseline;" id="TBL-12-7-"><td style="white-space:nowrap; text-align:left; vertical-align:middle;" id="TBL-12-7-1" +class="td11"> <!--l. 678--><p class="noindent" >Triggered Transition </p></td><td style="white-space:nowrap; text-align:center;" id="TBL-12-7-2" +class="td11"> <img +src="images/040-TriggeredTransition.jpg" alt="PIC" + /> </td><td style="white-space:nowrap; text-align:left; vertical-align:middle;" id="TBL-12-7-3" +class="td11"> <!--l. 679--> + <div class="lstlisting" id="listing-57"><span class="label"><a + id="x24-152006r1"></a></span><span +class="ec-lmssbx-10x-x-90">Transition</span><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9">tr0</span><span +class="ec-lmtt-9">:</span><span +class="ec-lmtt-9"> </span><span +class="ec-lmssbx-10x-x-90">initial</span><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9">-></span><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9">DoingThis</span><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9">{</span><span +class="ec-lmtt-9"> </span><br /><span class="label"><a + id="x24-152007r2"></a></span><span +class="ec-lmtt-9"> </span><span +class="ec-lmssbx-10x-x-90">triggers</span><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9">{</span><span +class="ec-lmtt-9"> </span><br /><span class="label"><a + id="x24-152008r3"></a></span><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"><</span><span +class="ec-lmtt-9">doThis</span><span +class="ec-lmtt-9">:</span><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9">fct</span><span +class="ec-lmtt-9">></span><span +class="ec-lmtt-9"> </span><br /><span class="label"><a + id="x24-152009r4"></a></span><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9">}</span><span +class="ec-lmtt-9"> </span><br /><span class="label"><a + id="x24-152010r5"></a></span><span +class="ec-lmtt-9">}</span> + +</div> +<!--l. 688--><p class="noindent" > </p></td> +</tr><tr +class="hline"><td><hr /></td><td><hr /></td><td><hr /></td></tr><tr + style="vertical-align:baseline;" id="TBL-12-8-"><td style="white-space:nowrap; text-align:left; vertical-align:middle;" id="TBL-12-8-1" +class="td11"> </td></tr></table></div> + + +</div><hr class="endfloat" /> +</div> <a - id="x23-99001r123"></a> + id="Q1-24-201"></a> +<h5 class="likesubsubsectionHead"><a + id="x24-1530003"></a>Hierarchical Finite State Machine</h5> +<!--l. 695--><p class="noindent" >The hierarchical finite state machine adds the notion of a sub state machine nested in a state. A few modeling elements listed +in table <a +href="#x24-153001r7">5.7<!--tex4ht:ref: tab:hier_fsm_notation --></a> are added to the set listed above. </p> -<h4 class="subsectionHead"><span class="titlemark">4.8.3 </span> <a - id="x23-1000003"></a>Noteworthy</h4> - <ul class="itemize1"> - <li class="itemize">the generated MSC <span -class="ec-lmtt-10">main_Async.seq </span>is a good illustration of the dynamic changes in the system structure</li></ul> +<div class="table"> + + +<!--l. 699--><p class="noindent" ><a + id="x24-153001r7"></a></p><hr class="float" /><div class="float" +> + + + <div class="caption" +><span class="id">Table 5.7: </span><span +class="content">Additional notation elements of hierarchical finite state machines</span></div><!--tex4ht:label?: x24-153001r7 --> +<div class="tabular"> <table id="TBL-13" class="tabular" +cellspacing="0" cellpadding="0" rules="groups" +><colgroup id="TBL-13-1g"><col +id="TBL-13-1" /></colgroup><colgroup id="TBL-13-2g"><col +id="TBL-13-2" /></colgroup><colgroup id="TBL-13-3g"><col +id="TBL-13-3" /></colgroup><tr +class="hline"><td><hr /></td><td><hr /></td><td><hr /></td></tr><tr + style="vertical-align:baseline;" id="TBL-13-1-"><td style="white-space:nowrap; text-align:left; vertical-align:middle;" id="TBL-13-1-1" +class="td11"> <!--l. 703--><p class="noindent" ><span +class="ec-lmssbx-10">Description</span> </p></td><td style="white-space:nowrap; text-align:center;" id="TBL-13-1-2" +class="td11"> <span +class="ec-lmssbx-10">Graphical Notation </span></td><td style="white-space:nowrap; text-align:left; vertical-align:middle;" id="TBL-13-1-3" +class="td11"> <!--l. 703--><p class="noindent" ><span +class="ec-lmssbx-10">Textual Notation</span> </p></td> +</tr><tr +class="hline"><td><hr /></td><td><hr /></td><td><hr /></td></tr><tr + style="vertical-align:baseline;" id="TBL-13-2-"><td style="white-space:nowrap; text-align:left; vertical-align:middle;" id="TBL-13-2-1" +class="td11"> <!--l. 705--><p class="noindent" >State with sub state + machine </p></td><td style="white-space:nowrap; text-align:center;" id="TBL-13-2-2" +class="td11"> <!--tex4ht:inline--><div class="tabular"> <table id="TBL-14" class="tabular" +cellspacing="0" cellpadding="0" +><colgroup id="TBL-14-1g"><col +id="TBL-14-1" /></colgroup><tr + style="vertical-align:baseline;" id="TBL-14-1-"><td style="white-space:nowrap; text-align:center;" id="TBL-14-1-1" +class="td00">Parent State</td></tr><tr + style="vertical-align:baseline;" id="TBL-14-2-"><td style="white-space:nowrap; text-align:center;" id="TBL-14-2-1" +class="td00"> <img +src="images/040-StateWithSubFSM.jpg" alt="PIC" + /></td></tr></table> </div> </td><td style="white-space:nowrap; text-align:left; vertical-align:middle;" id="TBL-13-2-3" +class="td11"> <div class="tabular"> <table id="TBL-15" class="tabular" +cellspacing="0" cellpadding="0" +><colgroup id="TBL-15-1g"><col +id="TBL-15-1" /></colgroup><tr + style="vertical-align:baseline;" id="TBL-15-1-"><td style="white-space:nowrap; text-align:left;" id="TBL-15-1-1" +class="td11">Sub state machine </td> +</tr><tr + style="vertical-align:baseline;" id="TBL-15-2-"><td style="white-space:nowrap; text-align:left;" id="TBL-15-2-1" +class="td11"><!--l. 710--> <!--l. 710--><p class="noindent" ><div class="lstlisting" id="listing-58"><span class="label"><a + id="x24-153002r1"></a></span><span +class="ec-lmssbx-10x-x-90">State</span><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9">Running</span><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9">{</span><span +class="ec-lmtt-9"> </span><br /><span class="label"><a + id="x24-153003r2"></a></span><span +class="ec-lmtt-9"> </span><span +class="ec-lmssbx-10x-x-90">subgraph</span><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9">{</span><span +class="ec-lmtt-9"> </span><br /><span class="label"><a + id="x24-153004r3"></a></span><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> </span><span +class="ec-lmssbx-10x-x-90">Transition</span><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9">init</span><span +class="ec-lmtt-9">:</span><span +class="ec-lmtt-9"> </span><span +class="ec-lmssbx-10x-x-90">initial</span><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9">-></span><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9">Process</span><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9">{}</span><span +class="ec-lmtt-9"> </span><br /><span class="label"><a + id="x24-153005r4"></a></span><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9"> </span><span +class="ec-lmssbx-10x-x-90">State</span><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9">Process</span><span +class="ec-lmtt-9"> </span><br /><span class="label"><a + id="x24-153006r5"></a></span><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9">}</span><span +class="ec-lmtt-9"> </span><br /><span class="label"><a + id="x24-153007r6"></a></span><span +class="ec-lmtt-9">}</span> + </p> </div></td> +</tr></table></div> + <!--l. 722--><p class="noindent" > </p></td> +</tr><tr +class="hline"><td><hr /></td><td><hr /></td><td><hr /></td></tr><tr + style="vertical-align:baseline;" id="TBL-13-3-"><td style="white-space:nowrap; text-align:left; vertical-align:middle;" id="TBL-13-3-1" +class="td11"> <!--l. 723--><p class="noindent" >Entry Point </p></td><td style="white-space:nowrap; text-align:center;" id="TBL-13-3-2" +class="td11"> <!--tex4ht:inline--><div class="tabular"> <table id="TBL-16" class="tabular" +cellspacing="0" cellpadding="0" +><colgroup id="TBL-16-1g"><col +id="TBL-16-1" /></colgroup><tr + style="vertical-align:baseline;" id="TBL-16-1-"><td style="white-space:nowrap; text-align:center;" id="TBL-16-1-1" +class="td00">In sub state machine</td></tr><tr + style="vertical-align:baseline;" id="TBL-16-2-"><td style="white-space:nowrap; text-align:center;" id="TBL-16-2-1" +class="td00"> <img +src="images/040-EntryPoint.jpg" alt="PIC" + /></td></tr></table> </div> </td><td style="white-space:nowrap; text-align:left; vertical-align:middle;" id="TBL-13-3-3" +class="td11"> <!--l. 726--> + <div class="lstlisting" id="listing-59"><span class="label"><a + id="x24-153008r1"></a></span><span +class="ec-lmssbx-10x-x-90">EntryPoint</span><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9">reInit</span> + +</div> +<!--l. 730--><p class="noindent" > </p></td> +</tr><tr +class="hline"><td><hr /></td><td><hr /></td><td><hr /></td></tr><tr + style="vertical-align:baseline;" id="TBL-13-4-"><td style="white-space:nowrap; text-align:left; vertical-align:middle;" id="TBL-13-4-1" +class="td11"> <!--l. 731--><p class="noindent" >Exit Point </p></td><td style="white-space:nowrap; text-align:center;" id="TBL-13-4-2" +class="td11"> <img +src="images/040-ExitPoint.jpg" alt="PIC" + /> </td><td style="white-space:nowrap; text-align:left; vertical-align:middle;" id="TBL-13-4-3" +class="td11"> <!--l. 733--> + <div class="lstlisting" id="listing-60"><span class="label"><a + id="x24-153009r1"></a></span><span +class="ec-lmssbx-10x-x-90">ExitPoint</span><span +class="ec-lmtt-9"> </span><span +class="ec-lmtt-9">tp0</span> + +</div> +<!--l. 736--><p class="noindent" > </p></td> +</tr><tr +class="hline"><td><hr /></td><td><hr /></td><td><hr /></td></tr><tr + style="vertical-align:baseline;" id="TBL-13-5-"><td style="white-space:nowrap; text-align:left; vertical-align:middle;" id="TBL-13-5-1" +class="td11"> </td></tr></table> +</div> + + +</div><hr class="endfloat" /> +</div> +<a + id="x24-153010r197"></a> +<h4 class="subsectionHead"><span class="titlemark">5.6.4 </span> <a + id="x24-1540004"></a>Examples</h4> +<hr class="figure" /><div class="figure" +> + + +<a + id="x24-154001r1"></a> + + +<!--l. 743--><p class="noindent" ><img +src="images/040-FlatFSM.jpg" alt="PIC" + /> +<br /> </p><div class="caption" +><span class="id">Figure 5.1: </span><span +class="content">Example of a flat finite state machine</span></div><!--tex4ht:label?: x24-154001r1 --> + + +</div><hr class="endfigure" /> +<hr class="figure" /><div class="figure" +> + + +<a + id="x24-154002r2"></a> + + +<!--l. 748--><p class="noindent" ><img +src="images/040-HierarchicalFSMTop.jpg" alt="PIC" + /> +<br /> </p><div class="caption" +><span class="id">Figure 5.2: </span><span +class="content">Example of a hierarchical finite state machine – top level</span></div><!--tex4ht:label?: x24-154002r2 --> + + +</div><hr class="endfigure" /> +<hr class="figure" /><div class="figure" +> + + +<a + id="x24-154003r3"></a> + + +<!--l. 753--><p class="noindent" ><img +src="images/040-HierarchicalFSMInitializing.jpg" alt="PIC" + /> +<br /> </p><div class="caption" +><span class="id">Figure 5.3: </span><span +class="content">Hierarchical finite state machine – sub state machine of <span +class="ec-lmsso-10">Initializing</span></span></div><!--tex4ht:label?: x24-154003r3 --> + + +</div><hr class="endfigure" /> +<hr class="figure" /><div class="figure" +> + + +<a + id="x24-154004r4"></a><a + id="x27-16400097"></a> + + +<!--l. 758--><p class="noindent" ><img +src="images/040-HierarchicalFSMRunning.jpg" alt="PIC" + /> +<br /> </p><div class="caption" +><span class="id">Figure 5.4: </span><span +class="content">Hierarchical finite state machine – sub state machine of <span +class="ec-lmsso-10">Running</span></span></div><!--tex4ht:label?: x24-154004r4 --> + + +</div><hr class="endfigure" /> -<!--l. 321--><div class="crosslinks"><p class="noindent">[<a -href="etrice-docse18.html" >next</a>] [<a +<!--l. 106--><div class="crosslinks"><p class="noindent">[<a +href="etrice-docch6.html" >next</a>] [<a href="etrice-docse16.html" >prev</a>] [<a href="etrice-docse16.html#tailetrice-docse16.html" >prev-tail</a>] [<a href="etrice-docse17.html" >front</a>] [<a -href="etrice-docch4.html#etrice-docse17.html" >up</a>] </p></div> -<!--l. 321--><p class="noindent" ><a +href="etrice-docch5.html#etrice-docse17.html" >up</a>] </p></div> +<!--l. 106--><p class="noindent" ><a id="tailetrice-docse17.html"></a></p> </body></html> |