Skip to content

Commit d07d015

Browse files
committed
revise Marquee sample
revise model so text scrolls right to left, not left to right add README.md recompute test_graphics output in fsmpy/ and svg/
1 parent fffdf82 commit d07d015

12 files changed

Lines changed: 72 additions & 43 deletions

samples/Marquee/Marquee.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -16,12 +16,12 @@ def Load(pattern):
1616
global display
1717
display = pattern
1818

19-
# Then, just shift the pattern to the right,
20-
# wrapping around from the end back to the beginning
19+
# Then, just shift the pattern to the left,
20+
# wrapping around from the begining back to end
2121

2222
def Shift():
2323
global display
24-
display = display[-1] + display[:-1]
24+
display = display[1:] + display[0]
2525

2626
### Metadata
2727

samples/Marquee/README.md

Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
Marquee
2+
=======
3+
4+
This sample models a marquee with one line of text scrolling from
5+
right to left.
6+
7+
- *Marquee*: model program, defines *Load* and *Shift*,
8+
but only includes *Shift* in the *actions*. Initializes
9+
model state *display* with uninteresting text.
10+
11+
- *DisplayFive*: configuration, redefines *actions* to include *Load*,
12+
defines domain for *Load* with more interesting *pattern* argument.
13+
14+
- *LoadFirst*: scenario machine, forces the *Load* action to execute
15+
just once at the beginning of the run.
16+
17+
- *test*: *pmt* executes *Marquee* only, so traces only include *Shift*.
18+
19+
- *test_graphics*: *pma* explores *Marquee*, *LoadFirst*, and *Marquee*
20+
configured with *DisplayFive*, then that combination composed
21+
with *LoadFirst*. Some of the commands are repeated, but modules
22+
appear on the command line in different orders (to show that
23+
doesn't matter).
24+
25+
- *fsmpy*, *svg*: directories of output files from *test_graphics*
26+
27+
There is no stepper in this sample.
28+
29+
Revised Mar 2013

samples/Marquee/fsmpy/DisplayFiveFSM.py

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -13,10 +13,10 @@ def Shift(): pass
1313
0 : {'Marquee': {'display': '* * * * * * * * * * * * * '}},
1414
1 : {'Marquee': {'display': ' * * * * * * * * * * * * *'}},
1515
2 : {'Marquee': {'display': 'Bye Bye Bye Bye Bye '}},
16-
3 : {'Marquee': {'display': ' Bye Bye Bye Bye Bye '}},
17-
4 : {'Marquee': {'display': ' Bye Bye Bye Bye Bye'}},
18-
5 : {'Marquee': {'display': 'e Bye Bye Bye Bye By'}},
19-
6 : {'Marquee': {'display': 'ye Bye Bye Bye Bye B'}},
16+
3 : {'Marquee': {'display': 'ye Bye Bye Bye Bye B'}},
17+
4 : {'Marquee': {'display': 'e Bye Bye Bye Bye By'}},
18+
5 : {'Marquee': {'display': ' Bye Bye Bye Bye Bye'}},
19+
6 : {'Marquee': {'display': ' Bye Bye Bye Bye Bye '}},
2020
}
2121

2222
# initial state, accepting states, unsafe states, frontier states, deadend states

samples/Marquee/fsmpy/DisplayFiveFSM1.py

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -13,10 +13,10 @@ def Shift(): pass
1313
0 : {'Marquee': {'display': '* * * * * * * * * * * * * '}},
1414
1 : {'Marquee': {'display': ' * * * * * * * * * * * * *'}},
1515
2 : {'Marquee': {'display': 'Bye Bye Bye Bye Bye '}},
16-
3 : {'Marquee': {'display': ' Bye Bye Bye Bye Bye '}},
17-
4 : {'Marquee': {'display': ' Bye Bye Bye Bye Bye'}},
18-
5 : {'Marquee': {'display': 'e Bye Bye Bye Bye By'}},
19-
6 : {'Marquee': {'display': 'ye Bye Bye Bye Bye B'}},
16+
3 : {'Marquee': {'display': 'ye Bye Bye Bye Bye B'}},
17+
4 : {'Marquee': {'display': 'e Bye Bye Bye Bye By'}},
18+
5 : {'Marquee': {'display': ' Bye Bye Bye Bye Bye'}},
19+
6 : {'Marquee': {'display': ' Bye Bye Bye Bye Bye '}},
2020
}
2121

2222
# initial state, accepting states, unsafe states, frontier states, deadend states

samples/Marquee/fsmpy/PeriodFiveFSM.py

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -12,10 +12,10 @@ def Shift(): pass
1212
states = {
1313
0 : {'Marquee': {'display': '* * * * * * * * * * * * * '}, 'LoadFirst': 0},
1414
1 : {'LoadFirst': 1, 'Marquee': {'display': 'Bye Bye Bye Bye Bye '}},
15-
2 : {'LoadFirst': 1, 'Marquee': {'display': ' Bye Bye Bye Bye Bye '}},
16-
3 : {'LoadFirst': 1, 'Marquee': {'display': ' Bye Bye Bye Bye Bye'}},
17-
4 : {'LoadFirst': 1, 'Marquee': {'display': 'e Bye Bye Bye Bye By'}},
18-
5 : {'LoadFirst': 1, 'Marquee': {'display': 'ye Bye Bye Bye Bye B'}},
15+
2 : {'LoadFirst': 1, 'Marquee': {'display': 'ye Bye Bye Bye Bye B'}},
16+
3 : {'LoadFirst': 1, 'Marquee': {'display': 'e Bye Bye Bye Bye By'}},
17+
4 : {'LoadFirst': 1, 'Marquee': {'display': ' Bye Bye Bye Bye Bye'}},
18+
5 : {'LoadFirst': 1, 'Marquee': {'display': ' Bye Bye Bye Bye Bye '}},
1919
}
2020

2121
# initial state, accepting states, unsafe states, frontier states, deadend states

samples/Marquee/fsmpy/PeriodFiveFSM1.py

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -12,10 +12,10 @@ def Shift(): pass
1212
states = {
1313
0 : {'LoadFirst': 0, 'Marquee': {'display': '* * * * * * * * * * * * * '}},
1414
1 : {'Marquee': {'display': 'Bye Bye Bye Bye Bye '}, 'LoadFirst': 1},
15-
2 : {'Marquee': {'display': ' Bye Bye Bye Bye Bye '}, 'LoadFirst': 1},
16-
3 : {'Marquee': {'display': ' Bye Bye Bye Bye Bye'}, 'LoadFirst': 1},
17-
4 : {'Marquee': {'display': 'e Bye Bye Bye Bye By'}, 'LoadFirst': 1},
18-
5 : {'Marquee': {'display': 'ye Bye Bye Bye Bye B'}, 'LoadFirst': 1},
15+
2 : {'Marquee': {'display': 'ye Bye Bye Bye Bye B'}, 'LoadFirst': 1},
16+
3 : {'Marquee': {'display': 'e Bye Bye Bye Bye By'}, 'LoadFirst': 1},
17+
4 : {'Marquee': {'display': ' Bye Bye Bye Bye Bye'}, 'LoadFirst': 1},
18+
5 : {'Marquee': {'display': ' Bye Bye Bye Bye Bye '}, 'LoadFirst': 1},
1919
}
2020

2121
# initial state, accepting states, unsafe states, frontier states, deadend states

samples/Marquee/fsmpy/PeriodFiveFSM2.py

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -12,10 +12,10 @@ def Shift(): pass
1212
states = {
1313
0 : {'Marquee': {'display': '* * * * * * * * * * * * * '}, 'LoadFirst': 0},
1414
1 : {'LoadFirst': 1, 'Marquee': {'display': 'Bye Bye Bye Bye Bye '}},
15-
2 : {'LoadFirst': 1, 'Marquee': {'display': ' Bye Bye Bye Bye Bye '}},
16-
3 : {'LoadFirst': 1, 'Marquee': {'display': ' Bye Bye Bye Bye Bye'}},
17-
4 : {'LoadFirst': 1, 'Marquee': {'display': 'e Bye Bye Bye Bye By'}},
18-
5 : {'LoadFirst': 1, 'Marquee': {'display': 'ye Bye Bye Bye Bye B'}},
15+
2 : {'LoadFirst': 1, 'Marquee': {'display': 'ye Bye Bye Bye Bye B'}},
16+
3 : {'LoadFirst': 1, 'Marquee': {'display': 'e Bye Bye Bye Bye By'}},
17+
4 : {'LoadFirst': 1, 'Marquee': {'display': ' Bye Bye Bye Bye Bye'}},
18+
5 : {'LoadFirst': 1, 'Marquee': {'display': ' Bye Bye Bye Bye Bye '}},
1919
}
2020

2121
# initial state, accepting states, unsafe states, frontier states, deadend states

samples/Marquee/svg/DisplayFiveFSM.svg

Lines changed: 4 additions & 4 deletions
Loading

samples/Marquee/svg/DisplayFiveFSM1.svg

Lines changed: 4 additions & 4 deletions
Loading

samples/Marquee/svg/PeriodFiveFSM.svg

Lines changed: 4 additions & 4 deletions
Loading

0 commit comments

Comments
 (0)