@@ -4,13 +4,20 @@ Marquee
44This sample models a marquee with one line of text scrolling from
55right to left.
66
7- - * Marquee* : model program, defines * Load* and * Shift* ,
8- but only includes * Shift* in the * actions* . Initializes
9- model state * display* with uninteresting text.
7+ This sample demonstrates how the size and structure of the data affect
8+ the number of states, how a configuration file can augment or replace
9+ items in the model, and how composition with a scenario machine can
10+ restrict the behavior of a model.
11+
12+ - * Marquee* : model program, defines * Load* and * Shift* , but only
13+ includes * Shift* in the * actions* . Initializes model state
14+ * display* with uninteresting text, a pattern of two characters
15+ repeated thirteen times: _ '* * * * * * * * * * * * * '_
16+
17+ - * DisplayFive* : configuration, redefines * actions* to also include * Load* ,
18+ defines * domains* for * Load* with slightly more interesting text,
19+ a * pattern* of five characters repeated five times: * 'Bye Bye Bye Bye Bye '*
1020
11- - * DisplayFive* : configuration, redefines * actions* to include * Load* ,
12- defines domain for * Load* with more interesting * pattern* argument.
13-
1421- * LoadFirst* : scenario machine, forces the * Load* action to execute
1522 just once at the beginning of the run.
1623
@@ -22,7 +29,37 @@ right to left.
2229 appear on the command line in different orders (to show that
2330 doesn't matter).
2431
25- - * fsmpy* , * svg* : directories of output files from * test_graphics*
32+ - * test_viewer* : Generate the same output as * test_graphics* , but this
33+ script is shorter because it uses * pmv* instead of * pma* + * pmg* +
34+ * dot*
35+
36+ - * fsmpy* , * svg* : directories of output files from * test_graphics* or
37+ * test_viewer*
38+
39+ You can view the generated * .svg* files in a browser. Hover the
40+ pointer over any state bubble to see a tooltip that shows the marquee
41+ display in that state.
42+
43+ - * MarqueeFSM* : the repeating * display* pattern with just two
44+ characters results in two states. Only * Select* is enabled.
45+
46+ - * DisplayFiveFSM* : here * Marquee* imports * DisplayFive* . The
47+ repeating * pattern* with five characters results in five states.
48+ * Load* is enabled in every state.
49+
50+ - * LoadFirst* : graph of the scenario machine, shows how the * Load* action
51+ executes just once at the beginning of the run.
52+
53+ - * PeriodFiveFSM* : compare to * DisplayFiveFSM* . Here * Marquee* is
54+ composed with * LoadFirst, so * Load* only executes once at the
55+ beginning.
56+
57+ - * DisplayFiveFSM1* , * PeriodFiveFSM1* , * PeriodFiveFSM2* : same as
58+ * DisplayFiveFSM* and * PeriodFiveFSM* , but modules appear on the * pma*
59+ (or * pmv* ) command line in different order, to show that order
60+ doesn't matter. In particular, the configuration module
61+ * DisplayFive* can appear on the command line before or after
62+ * Marquee* , the model program it imports.
2663
2764There is no stepper in this sample.
2865
0 commit comments