From cc61f98ba541854640cf82fd21333867863946d5 Mon Sep 17 00:00:00 2001 From: Vincent de Bruijn Date: Sun, 20 Jan 2013 21:36:17 +0100 Subject: [PATCH] backup --- Final-thesis/halstead.txt | 60 +++ Final-thesis/img/fwgc/g-fwgc-extended.tikz | 29 ++ Final-thesis/img/fwgc/n-fwgc-extended.tikz | 23 ++ Final-thesis/img/fwgc/w-fwgc-extended.tikz | 29 ++ Final-thesis/iosts_scrp.tex | 51 --- .../model-examples/fwgc-groove.gps/g.gpr | 110 +++--- .../model-examples/fwgc-groove.gps/n.gpr | 85 ++-- .../model-examples/fwgc-groove.gps/w.gpr | 88 ++--- Final-thesis/report2.aux | 372 +++++++++++------- Final-thesis/report2.log | 183 ++++++--- Final-thesis/report2.out | 8 +- Final-thesis/report2.pdf | Bin 1200853 -> 1303845 bytes Final-thesis/report2.tex | 2 +- Final-thesis/report2.toc | 18 +- Final-thesis/tex/measurements.tex | 2 +- Final-thesis/tex/measurements_on_examples.tex | 302 +++++++------- Final-thesis/todo.txt | 6 +- 17 files changed, 792 insertions(+), 576 deletions(-) create mode 100644 Final-thesis/halstead.txt create mode 100644 Final-thesis/img/fwgc/g-fwgc-extended.tikz create mode 100644 Final-thesis/img/fwgc/n-fwgc-extended.tikz create mode 100644 Final-thesis/img/fwgc/w-fwgc-extended.tikz diff --git a/Final-thesis/halstead.txt b/Final-thesis/halstead.txt new file mode 100644 index 0000000..b0f36a9 --- /dev/null +++ b/Final-thesis/halstead.txt @@ -0,0 +1,60 @@ +Halstead: +1: +\begin{comment} +start: +13 distinct operands +1 distinct operator +33 operands +3 operators + +move: +2 new distinct operands +5 new distinct operators +27 operands +6 operators + +nextTurn: +0 new distinct operands +1 new distinct operator +13 operands +5 operators + +throws: +3 new distinct operands +2 new distinct operators +30 operands +10 operators + +$n_1 = 9, n_2 = 18, N_1 = 24, N_2 = 103$ + Volume is 127*4.75 = 603.25 + +IOSTS: +22 distinct operands +5 distinct operators +62 operands +25 operators + +$n_1 = 5, n_2 = 22, N_1 = 25, N_2 = 62$ + Volume is 87*4.75 = 413.25 +\end{comment} + +2: + +\begin{comment} +start: 12 new operands, 26 operands +?c: 3 new operators, 0 new operands. 5 operators, 17 operands +?c-invalid: 0 new operators, 1 new operand. 2 operators, 14 operands +!retry: 0-0. 1 operator, 2 operands. +!eaten: 0-0. 9 operators, 36 operands +!done: 8 operators, 30 operands +\end{comment} + +3: + +\begin{comment} +start: 1 - 25. 13 - 46 +?o: 1 - 2. 1 - 14 +!po: 2 - 3. 4 - 24 +?p: 0 - 0. 3 - 18 +!pp: 3 - +\end{comment} \ No newline at end of file diff --git a/Final-thesis/img/fwgc/g-fwgc-extended.tikz b/Final-thesis/img/fwgc/g-fwgc-extended.tikz new file mode 100644 index 0000000..40502eb --- /dev/null +++ b/Final-thesis/img/fwgc/g-fwgc-extended.tikz @@ -0,0 +1,29 @@ +% To use this figure in your LaTeX document +% import the package groove/resources/groove2tikz.sty +% +% Special colors +\begin{tikzpicture}[ +% Special color styles +scale=\tikzscale] +\node[node] (n5) at (1.465, -3.425){}; +\node[node] (n4) at (1.395, -1.735) {\ml{goat}}; +\node[quantnode] (n6) at (2.525, -3.435) {\ml{$\forall$}}; +\node[node] (n3) at (2.595, -1.385) {\ml{farmer}}; +\node[node] (n0) at (1.345, -2.515) {\ml{bank}}; +\node[node] (n1) at (2.575, -2.515) {\ml{bank}}; +\path[edge, -](n0.east |- 2.575, -2.515) -- node[lab]{\textit{!=}} (n1) ; +\path[deledge] (n3) -- node[dellab]{at} (n0) ; +\path[newedge] (n4) .. controls (1.600, -1.410) and (1.530, -1.220) .. (1.530, -1.220).. controls (1.510, -1.160) and (1.210, -1.180) .. (1.200, -1.230).. controls (1.200, -1.230) and (1.140, -1.430) .. (n4) ; +\node[newlab] at (1.362, -1.225){moved}; +\path[newedge](n3.south -| 2.575, -2.515) -- (n1) ; +\node[newlab] at (2.585, -1.960){at}; +\path[quantedge](n5.east |- 2.525, -3.435) -- node[lab]{@} (n6) ; +\path[newedge] (n3) .. controls (2.800, -1.110) and (2.750, -0.940) .. (2.750, -0.940).. controls (2.730, -0.880) and (2.450, -0.880) .. (2.440, -0.930).. controls (2.440, -0.930) and (2.370, -1.100) .. (n3) ; +\node[newlab] at (2.592, -0.935){moved}; +\path[deledge] (n5) .. controls (1.730, -3.140) and (1.690, -2.930) .. (1.690, -2.930).. controls (1.680, -2.880) and (1.380, -2.840) .. (1.360, -2.900).. controls (1.360, -2.900) and (1.260, -3.090) .. (n5) ; +\node[dellab] at (1.531, -2.916){moved}; +\path[newedge] (n4) -- node[newlab]{at} (n1) ; +\path[deledge](n4.south -| 1.345, -2.515) -- node[dellab]{at} (n0) ; +\userdefinedmacro +\end{tikzpicture} +\renewcommand{\userdefinedmacro}{\relax} diff --git a/Final-thesis/img/fwgc/n-fwgc-extended.tikz b/Final-thesis/img/fwgc/n-fwgc-extended.tikz new file mode 100644 index 0000000..35cb84b --- /dev/null +++ b/Final-thesis/img/fwgc/n-fwgc-extended.tikz @@ -0,0 +1,23 @@ +% To use this figure in your LaTeX document +% import the package groove/resources/groove2tikz.sty +% +% Special colors +\begin{tikzpicture}[ +% Special color styles +scale=\tikzscale] +\node[node] (n4) at (1.205, -3.465){}; +\node[quantnode] (n5) at (2.205, -3.405) {\ml{$\forall$}}; +\node[node] (n0) at (1.125, -2.780) {\ml{bank}}; +\node[node] (n1) at (2.225, -2.755) {\ml{bank}}; +\node[node] (n2) at (1.695, -2.205) {\ml{farmer}}; +\path[newedge] (n2) -- node[newlab]{at} (n1) ; +\path[deledge] (n4) .. controls (0.930, -3.800) and (1.000, -4.050) .. (1.000, -4.050).. controls (1.010, -4.100) and (1.350, -4.110) .. (1.370, -4.060).. controls (1.370, -4.060) and (1.450, -3.820) .. (n4) ; +\node[dellab] at (1.184, -4.055){moved}; +\path[newedge] (n2) .. controls (1.890, -1.930) and (1.850, -1.730) .. (1.850, -1.730).. controls (1.830, -1.650) and (1.560, -1.630) .. (1.560, -1.640).. controls (1.560, -1.640) and (1.480, -1.870) .. (n2) ; +\node[newlab] at (1.666, -1.673){moved}; +\path[deledge] (n2) -- node[dellab]{at} (n0) ; +\path[quantedge](n4.east |- 2.205, -3.405) -- node[lab]{@} (n5) ; +\path[edge, -](n0.east |- 2.225, -2.755) -- node[lab]{\textit{!=}} (n1) ; +\userdefinedmacro +\end{tikzpicture} +\renewcommand{\userdefinedmacro}{\relax} diff --git a/Final-thesis/img/fwgc/w-fwgc-extended.tikz b/Final-thesis/img/fwgc/w-fwgc-extended.tikz new file mode 100644 index 0000000..83c220f --- /dev/null +++ b/Final-thesis/img/fwgc/w-fwgc-extended.tikz @@ -0,0 +1,29 @@ +% To use this figure in your LaTeX document +% import the package groove/resources/groove2tikz.sty +% +% Special colors +\begin{tikzpicture}[ +% Special color styles +scale=\tikzscale] +\node[node] (n1) at (2.575, -2.515) {\ml{bank}}; +\node[node] (n0) at (1.345, -2.515) {\ml{bank}}; +\node[node] (n3) at (2.595, -1.385) {\ml{farmer}}; +\node[quantnode] (n6) at (2.525, -3.435) {\ml{$\forall$}}; +\node[node] (n4) at (1.395, -1.735) {\ml{wolf}}; +\node[node] (n5) at (1.465, -3.425){}; +\path[edge, -](n0.east |- 2.575, -2.515) -- node[lab]{\textit{!=}} (n1) ; +\path[deledge] (n3) -- node[dellab]{at} (n0) ; +\path[newedge] (n4) .. controls (1.600, -1.410) and (1.530, -1.220) .. (1.530, -1.220).. controls (1.510, -1.160) and (1.210, -1.180) .. (1.200, -1.230).. controls (1.200, -1.230) and (1.140, -1.430) .. (n4) ; +\node[newlab] at (1.362, -1.225){moved}; +\path[newedge](n3.south -| 2.575, -2.515) -- (n1) ; +\node[newlab] at (2.585, -1.960){at}; +\path[quantedge](n5.east |- 2.525, -3.435) -- node[lab]{@} (n6) ; +\path[newedge] (n3) .. controls (2.800, -1.110) and (2.750, -0.940) .. (2.750, -0.940).. controls (2.730, -0.880) and (2.450, -0.880) .. (2.440, -0.930).. controls (2.440, -0.930) and (2.370, -1.100) .. (n3) ; +\node[newlab] at (2.592, -0.935){moved}; +\path[deledge] (n5) .. controls (1.730, -3.140) and (1.690, -2.930) .. (1.690, -2.930).. controls (1.680, -2.880) and (1.380, -2.840) .. (1.360, -2.900).. controls (1.360, -2.900) and (1.260, -3.090) .. (n5) ; +\node[dellab] at (1.531, -2.916){moved}; +\path[newedge] (n4) -- node[newlab]{at} (n1) ; +\path[deledge](n4.south -| 1.345, -2.515) -- node[dellab]{at} (n0) ; +\userdefinedmacro +\end{tikzpicture} +\renewcommand{\userdefinedmacro}{\relax} diff --git a/Final-thesis/iosts_scrp.tex b/Final-thesis/iosts_scrp.tex index 6dd61e4..c63735a 100644 --- a/Final-thesis/iosts_scrp.tex +++ b/Final-thesis/iosts_scrp.tex @@ -108,12 +108,6 @@ & & $\mathit{s21}\xrightarrow{\mathit{!230}, \mathit{true}, \{\}}\mathit{s22},\mathit{s210}\xrightarrow{\mathit{\tau}, \mathit{true}, \{\}}\mathit{s212},\mathit{s211}\xrightarrow{\mathit{\tau}, \mathit{true}, \{\}}\mathit{s212},$ \\ \end{tabular} -\begin{tabular}{lcp{350px}} -\end{tabular} - -\begin{tabular}{lcp{350px}} -\end{tabular} - \begin{tabular}{lcp{350px}} & & $\mathit{s212}\xrightarrow{\mathit{\tau}, \mathit{true}, \{\}}\mathit{s213},\mathit{s213}\xrightarrow{\mathit{\tau}, \mathit{true}, \{\}}\mathit{s214},\mathit{s214}\xrightarrow{\mathit{\tau}, \mathit{true}, \{\}}\mathit{s233},$ \\ & & $\mathit{s215}\xrightarrow{\mathit{!503}, \mathit{true}, \{\}}\mathit{s218},\mathit{s215}\xrightarrow{\mathit{!502}, \mathit{true}, \{\}}\mathit{s217},\mathit{s215}\xrightarrow{\mathit{!211}, \mathit{true}, \{\}}\mathit{s216},$ \\ @@ -155,12 +149,6 @@ & & $\mathit{s263}\xrightarrow{\mathit{!202}, \mathit{true}, \{\}}\mathit{s264},\mathit{s263}\xrightarrow{\mathit{!502}, \mathit{true}, \{\}}\mathit{s267},\mathit{s263}\xrightarrow{\mathit{!531}, \mathit{true}, \{\}}\mathit{s265},$ \\ \end{tabular} -\begin{tabular}{lcp{350px}} -\end{tabular} - -\begin{tabular}{lcp{350px}} -\end{tabular} - \begin{tabular}{lcp{350px}} & & $\mathit{s263}\xrightarrow{\mathit{!501}, \mathit{true}, \{\}}\mathit{s266},\mathit{s263}\xrightarrow{\mathit{!503}, \mathit{true}, \{\}}\mathit{s268},\mathit{s264}\xrightarrow{\mathit{\tau}, \mathit{true}, \{\}}\mathit{s274},$ \\ & & $\mathit{s265}\xrightarrow{\mathit{\tau}, \mathit{true}, \{\}}\mathit{s274},\mathit{s266}\xrightarrow{\mathit{\tau}, \mathit{true}, \{\}}\mathit{s274},\mathit{s267}\xrightarrow{\mathit{\tau}, \mathit{true}, \{\}}\mathit{s273},$ \\ @@ -202,12 +190,6 @@ & & $\mathit{s312}\xrightarrow{\mathit{\tau}, \mathit{true}, \{\}}\mathit{s314},\mathit{s313}\xrightarrow{\mathit{\tau}, \mathit{true}, \{\}}\mathit{s314},\mathit{s314}\xrightarrow{\mathit{\tau}, \mathit{true}, \{\}}\mathit{s315},$ \\ \end{tabular} -\begin{tabular}{lcp{350px}} -\end{tabular} - -\begin{tabular}{lcp{350px}} -\end{tabular} - \begin{tabular}{lcp{350px}} & & $\mathit{s315}\xrightarrow{\mathit{\tau}, \mathit{true}, \{\}}\mathit{s316},\mathit{s316}\xrightarrow{\mathit{\tau}, \mathit{true}, \{\}}\mathit{s357},\mathit{s317}\xrightarrow{\mathit{?PRINT\_EXIST}, \mathit{true}, \{\}}\mathit{s318},$ \\ & & $\mathit{s318}\xrightarrow{\mathit{!502}, \mathit{true}, \{\}}\mathit{s321},\mathit{s318}\xrightarrow{\mathit{!503}, \mathit{true}, \{\}}\mathit{s322},\mathit{s318}\xrightarrow{\mathit{!260}, \mathit{true}, \{\}}\mathit{s319},$ \\ @@ -290,12 +272,6 @@ & & $\mathit{s414}\xrightarrow{\mathit{\tau}, \mathit{true}, \{\}}\mathit{s415},\mathit{s415}\xrightarrow{\mathit{\tau}, \mathit{true}, \{\}}\mathit{s532},\mathit{s416}\xrightarrow{\mathit{!503}, \mathit{true}, \{\}}\mathit{s420},$ \\ \end{tabular} -\begin{tabular}{lcp{350px}} -\end{tabular} - -\begin{tabular}{lcp{350px}} -\end{tabular} - \begin{tabular}{lcp{350px}} & & $\mathit{s416}\xrightarrow{\mathit{!502}, \mathit{true}, \{\}}\mathit{s419},\mathit{s416}\xrightarrow{\mathit{!201}, \mathit{true}, \{\}}\mathit{s417},\mathit{s416}\xrightarrow{\mathit{!503}, \mathit{true}, \{\}}\mathit{s418},$ \\ & & $\mathit{s417}\xrightarrow{\mathit{\tau}, \mathit{true}, \{\}}\mathit{s426},\mathit{s418}\xrightarrow{\mathit{\tau}, \mathit{true}, \{\}}\mathit{s426},\mathit{s419}\xrightarrow{\mathit{\tau}, \mathit{true}, \{\}}\mathit{s425},$ \\ @@ -337,9 +313,6 @@ & & $\mathit{s468}\xrightarrow{\mathit{!210}, \mathit{(cr\_variable = ``CS\_EVENT") \land (cr\_value = ``EV\_NONE")}, \{\}}\mathit{s470},$ \\ \end{tabular} -\begin{tabular}{lcp{350px}} -\end{tabular} - \begin{tabular}{lcp{350px}} & & $\mathit{s468}\xrightarrow{\mathit{!210}, \mathit{(cr\_variable = ``CS\_EVENT") \land (cr\_value = ``EV\_INFO")}, \{\}}\mathit{s469},$ \\ & & $\mathit{s469}\xrightarrow{\mathit{\tau}, \mathit{true}, \{\}}\mathit{s471},\mathit{s47}\xrightarrow{\mathit{?IDLE}, \mathit{true}, \{\}}\mathit{s48},\mathit{s470}\xrightarrow{\mathit{\tau}, \mathit{true}, \{\}}\mathit{s471},$ \\ @@ -381,9 +354,6 @@ & & $\mathit{s51}\xrightarrow{\mathit{?GET}, \mathit{(var\_name = ``CS\_EVENT")}, \{\}}\mathit{s52},$ \\ \end{tabular} -\begin{tabular}{lcp{350px}} -\end{tabular} - \begin{tabular}{lcp{350px}} & & $\mathit{s510}\xrightarrow{\mathit{\tau}, \mathit{true}, \{\}}\mathit{s516},$ \\ & & $\mathit{s511}\xrightarrow{\mathit{?GET}, \mathit{(var\_name = ``CS\_EVENT")}, \{\}}\mathit{s512},$ \\ @@ -425,9 +395,6 @@ & & $\mathit{s559}\xrightarrow{\mathit{\tau}, \mathit{true}, \{\}}\mathit{s561},\mathit{s56}\xrightarrow{\mathit{\tau}, \mathit{true}, \{\}}\mathit{s57},\mathit{s560}\xrightarrow{\mathit{\tau}, \mathit{true}, \{\}}\mathit{s561},$ \\ \end{tabular} -\begin{tabular}{lcp{350px}} -\end{tabular} - \begin{tabular}{lcp{350px}} & & $\mathit{s561}\xrightarrow{\mathit{\tau}, \mathit{true}, \{\}}\mathit{s562},\mathit{s562}\xrightarrow{\mathit{\tau}, \mathit{true}, \{\}}\mathit{s563},$ \\ & & $\mathit{s563}\xrightarrow{\mathit{?GET}, \mathit{(var\_name = ``CERTDATA")}, \{\}}\mathit{s564},$ \\ @@ -510,9 +477,6 @@ & & $\mathit{s647}\xrightarrow{\mathit{!210}, \mathit{(cr\_variable = ``CS\_EVENT") \land (cr\_value = ``EV\_WARN")}, \{\}}\mathit{s650},$ \\ \end{tabular} -\begin{tabular}{lcp{350px}} -\end{tabular} - \begin{tabular}{lcp{350px}} & & $\mathit{s647}\xrightarrow{\mathit{!210}, \mathit{(cr\_variable = ``CS\_EVENT") \land (cr\_value = ``EV\_ERROR")}, \{\}}\mathit{s651},$ \\ & & $\mathit{s647}\xrightarrow{\mathit{!210}, \mathit{(cr\_variable = ``CS\_EVENT") \land (cr\_value = ``EV\_NONE")}, \{\}}\mathit{s648},$ \\ @@ -554,15 +518,6 @@ & & $\mathit{s687}\xrightarrow{\mathit{!210}, \mathit{(cr\_variable = ``CS\_EVENT") \land (cr\_value = ``EV\_INFO")}, \{\}}\mathit{s689},$ \\ \end{tabular} -\begin{tabular}{lcp{350px}} -\end{tabular} - -\begin{tabular}{lcp{350px}} -\end{tabular} - -\begin{tabular}{lcp{350px}} -\end{tabular} - \begin{tabular}{lcp{350px}} & & $\mathit{s688}\xrightarrow{\mathit{\tau}, \mathit{true}, \{\}}\mathit{s692},\mathit{s689}\xrightarrow{\mathit{\tau}, \mathit{true}, \{\}}\mathit{s692},\mathit{s69}\xrightarrow{\mathit{?IDLE}, \mathit{true}, \{\}}\mathit{s70},$ \\ & & $\mathit{s690}\xrightarrow{\mathit{\tau}, \mathit{true}, \{\}}\mathit{s692},\mathit{s691}\xrightarrow{\mathit{\tau}, \mathit{true}, \{\}}\mathit{s692},\mathit{s692}\xrightarrow{\mathit{\tau}, \mathit{true}, \{\}}\mathit{s707},$ \\ @@ -768,12 +723,6 @@ & & $\mathit{assending}\xrightarrow{\mathit{?GET}, \mathit{(var\_name = ``CS\_SIGN")}, \{\}}\mathit{s760},$ \\ \end{tabular} -\begin{tabular}{lcp{350px}} -\end{tabular} - -\begin{tabular}{lcp{350px}} -\end{tabular} - \begin{tabular}{lcp{350px}} & & $\mathit{assidle}\xrightarrow{\mathit{?RESUME}, \mathit{true}, \{\}}\mathit{s252},\mathit{assidle}\xrightarrow{\mathit{\tau}, \mathit{true}, \{\}}\mathit{s240},$ \\ & & $\mathit{assidle}\xrightarrow{\mathit{?GET}, \mathit{(var\_name = ``CS\_SIGN")}, \{\}}\mathit{s194},$ \\ diff --git a/Final-thesis/model-examples/fwgc-groove.gps/g.gpr b/Final-thesis/model-examples/fwgc-groove.gps/g.gpr index 28b3f93..3e6802d 100644 --- a/Final-thesis/model-examples/fwgc-groove.gps/g.gpr +++ b/Final-thesis/model-examples/fwgc-groove.gps/g.gpr @@ -1,139 +1,127 @@ - + curly curly - + - 265 153 61 48 + 131 327 31 31 - + - 398 242 51 33 + 102 157 75 33 - + - 114 221 51 48 + 238 327 29 33 - 243 220 49 33 + 228 122 63 33 - - - 356 348 29 33 - - - + - 107 334 36 32 + 109 235 51 33 - + - 268 347 31 31 + 232 235 51 33 - + - del:at + - + - new:at + at - + - new:moved + del:moved - 500 0 316 165 316 132 277 133 277 165 12 + 500 0 146 342 169 293 136 290 146 342 12 - + - farmer + goat - + - not:side + new:moved - - - - bank + + 500 0 139 173 153 122 120 123 139 173 12 - + - side + new:at - + - bank + del:at - + - new:at + forall: - + - new:moved - - - 500 0 260 248 260 281 289 284 273 248 12 + farmer - + del:at - + - goat + new:at - - - - forall: + + 509 0 259 138 257 251 11 - + - + new:moved + + + 500 0 259 138 275 94 244 93 259 138 12 - + - + bank - + - del:moved - - - 500 0 284 363 270 406 299 405 284 363 12 + != - + - at + bank diff --git a/Final-thesis/model-examples/fwgc-groove.gps/n.gpr b/Final-thesis/model-examples/fwgc-groove.gps/n.gpr index fd9cbef..dc1f808 100644 --- a/Final-thesis/model-examples/fwgc-groove.gps/n.gpr +++ b/Final-thesis/model-examples/fwgc-groove.gps/n.gpr @@ -1,111 +1,96 @@ - + curly curly - + - 246 263 63 33 + 105 331 31 31 - + - 255 164 51 33 + 206 324 29 33 - 87 254 51 48 - - - - - 88 148 36 32 + 87 261 51 33 - + - 208 335 29 33 + 197 259 51 33 - + - 107 342 31 31 + 138 204 63 33 - + - new:moved - - - 500 0 277 280 264 329 295 328 277 280 12 + - + - del:at + del:moved - - - - new:at + + 500 0 120 346 100 405 137 406 120 346 12 - + - farmer + at - + - bank + forall: - + - not:side + bank - + - side + != - + bank - + - + farmer - + - forall: + new:at - + - + new:moved - - - - at + + 500 0 169 220 185 173 156 164 169 220 12 - + - del:moved - - - 500 0 123 358 102 416 139 417 123 358 12 + del:at diff --git a/Final-thesis/model-examples/fwgc-groove.gps/w.gpr b/Final-thesis/model-examples/fwgc-groove.gps/w.gpr index a00529d..8537daf 100644 --- a/Final-thesis/model-examples/fwgc-groove.gps/w.gpr +++ b/Final-thesis/model-examples/fwgc-groove.gps/w.gpr @@ -1,139 +1,127 @@ - + curly curly - - - 76 40 31 31 - - - 346 113 51 33 + 232 235 51 33 - 70 133 51 48 + 109 235 51 33 - 163 120 61 48 + 228 122 63 33 - 380 276 29 33 + 238 327 29 33 - 168 212 47 48 + 115 157 49 33 - 279 284 31 31 + 131 327 31 31 - + - + bank - + - not:side + bank - + - bank + != - + - side + farmer - + - bank + del:at - + new:at + + 509 0 259 138 257 251 11 + - + new:moved - 500 0 193 144 208 106 181 105 193 144 12 - - - - - del:at + 500 0 259 138 275 94 244 93 259 138 12 - + - farmer + forall: - + - forall: + wolf - + new:moved - 500 0 191 236 173 287 208 288 191 236 12 + 500 0 139 173 153 122 120 123 139 173 12 - + - wolf + new:at - + del:at - + - new:at + - + - + at - + del:moved - 500 0 295 300 310 257 280 257 295 300 12 - - - - - at + 500 0 146 342 169 293 136 290 146 342 12 diff --git a/Final-thesis/report2.aux b/Final-thesis/report2.aux index 02ea192..7a86f4c 100644 --- a/Final-thesis/report2.aux +++ b/Final-thesis/report2.aux @@ -356,7 +356,81 @@ \@writefile{lof}{\contentsline {subfigure}{\numberline{(e)}{\ignorespaces {The not signed on error rule}}}{41}{subfigure.3.5}} \@writefile{lof}{\contentsline {subfigure}{\numberline{(f)}{\ignorespaces {The close account success rule}}}{41}{subfigure.3.6}} \newlabel{fig:gg-scrp}{{5.3}{41}{A few selected rules from the IOGG of the Scanflow Cash Register Protocol\relax \relax }{figure.caption.68}{}} +\@writefile{toc}{\contentsline {section}{\numberline {5.3}Measurements on examples}{42}{section.5.3}} +\@writefile{toc}{\contentsline {subsection}{\numberline {5.3.1}Simulation and redundancy}{42}{subsection.5.3.1}} +\@writefile{lot}{\contentsline {table}{\numberline {5.1}{\ignorespaces Simulation and redundancy results for the farmer-wolf-goat-cabbage puzzle\relax }}{42}{table.caption.72}} +\newlabel{tab:fwgc-simulate}{{5.1}{42}{Simulation and redundancy results for the farmer-wolf-goat-cabbage puzzle\relax \relax }{table.caption.72}{}} +\@writefile{lot}{\contentsline {table}{\numberline {5.2}{\ignorespaces Simulation and redundancy results for the bar-tab system\relax }}{42}{table.caption.74}} +\newlabel{tab:bar-tab-simulate}{{5.2}{42}{Simulation and redundancy results for the bar-tab system\relax \relax }{table.caption.74}{}} +\@writefile{lot}{\contentsline {table}{\numberline {5.3}{\ignorespaces Simulation and redundancy results for the SCRP\relax }}{43}{table.caption.76}} +\newlabel{tab:scrp-simulate}{{5.3}{43}{Simulation and redundancy results for the SCRP\relax \relax }{table.caption.76}{}} +\@writefile{toc}{\contentsline {subsection}{\numberline {5.3.2}Performance}{43}{subsection.5.3.2}} +\@writefile{lot}{\contentsline {table}{\numberline {5.4}{\ignorespaces Performance measurements\relax }}{43}{table.caption.77}} +\newlabel{tab:performance}{{5.4}{43}{Performance measurements\relax \relax }{table.caption.77}{}} +\@writefile{toc}{\contentsline {subsection}{\numberline {5.3.3}Model complexity}{43}{subsection.5.3.3}} +\@writefile{lot}{\contentsline {table}{\numberline {5.5}{\ignorespaces The Halstead measurements on the boardgame models\relax }}{43}{table.caption.78}} +\newlabel{tab:halstead}{{5.5}{43}{The Halstead measurements on the boardgame models\relax \relax }{table.caption.78}{}} +\@writefile{toc}{\contentsline {subsection}{\numberline {5.3.4}Extendability}{43}{subsection.5.3.4}} +\newlabel{fig:start-bg-extended}{{5.4a}{44}{Subfigure 5 5.4a\relax }{subfigure.5.4.1}{}} +\newlabel{sub@fig:start-bg-extended}{{(a)}{a}{Subfigure 5 5.4a\relax }{subfigure.5.4.1}{}} +\newlabel{fig:nextTurn-bg-extended}{{5.4b}{44}{Subfigure 5 5.4b\relax }{subfigure.5.4.2}{}} +\newlabel{sub@fig:nextTurn-bg-extended}{{(b)}{b}{Subfigure 5 5.4b\relax }{subfigure.5.4.2}{}} +\@writefile{lof}{\contentsline {figure}{\numberline {5.4}{\ignorespaces The extended graph grammar of the board game example in Figure\nobreakspace {}\ref {fig:example_groove}\relax }}{44}{figure.caption.80}} +\@writefile{lof}{\contentsline {subfigure}{\numberline{(a)}{\ignorespaces {The initial graph}}}{44}{subfigure.4.1}} +\@writefile{lof}{\contentsline {subfigure}{\numberline{(b)}{\ignorespaces {The next turn rule}}}{44}{subfigure.4.2}} +\newlabel{fig:gg-bg-extended}{{5.4}{44}{The extended graph grammar of the board game example in Figure~\ref {fig:example_groove}\relax \relax }{figure.caption.80}{}} +\@writefile{toc}{\contentsline {section}{\numberline {5.4}Conclusions}{45}{section.5.4}} \bibdata{bib/bibliography} +\newlabel{fig:eaten-undo-fwgc}{{5.5a}{46}{Subfigure 5 5.5a\relax }{subfigure.5.5.1}{}} +\newlabel{sub@fig:eaten-undo-fwgc}{{(a)}{a}{Subfigure 5 5.5a\relax }{subfigure.5.5.1}{}} +\newlabel{fig:c-fwgc-extended}{{5.5b}{46}{Subfigure 5 5.5b\relax }{subfigure.5.5.2}{}} +\newlabel{sub@fig:c-fwgc-extended}{{(b)}{b}{Subfigure 5 5.5b\relax }{subfigure.5.5.2}{}} +\newlabel{fig:g-fwgc-extended}{{5.5c}{46}{Subfigure 5 5.5c\relax }{subfigure.5.5.3}{}} +\newlabel{sub@fig:g-fwgc-extended}{{(c)}{c}{Subfigure 5 5.5c\relax }{subfigure.5.5.3}{}} +\newlabel{fig:w-fwgc-extended}{{5.5d}{46}{Subfigure 5 5.5d\relax }{subfigure.5.5.4}{}} +\newlabel{sub@fig:w-fwgc-extended}{{(d)}{d}{Subfigure 5 5.5d\relax }{subfigure.5.5.4}{}} +\newlabel{fig:n-fwgc-extended}{{5.5e}{46}{Subfigure 5 5.5e\relax }{subfigure.5.5.5}{}} +\newlabel{sub@fig:n-fwgc-extended}{{(e)}{e}{Subfigure 5 5.5e\relax }{subfigure.5.5.5}{}} +\@writefile{lof}{\contentsline {figure}{\numberline {5.5}{\ignorespaces The extended graph grammar of the farmer-wolf-goat-cabbage puzzle\relax }}{46}{figure.caption.82}} +\@writefile{lof}{\contentsline {subfigure}{\numberline{(a)}{\ignorespaces {!eaten (undo)}}}{46}{subfigure.5.1}} +\@writefile{lof}{\contentsline {subfigure}{\numberline{(b)}{\ignorespaces {?c}}}{46}{subfigure.5.2}} +\@writefile{lof}{\contentsline {subfigure}{\numberline{(c)}{\ignorespaces {?g}}}{46}{subfigure.5.3}} +\@writefile{lof}{\contentsline {subfigure}{\numberline{(d)}{\ignorespaces {?w}}}{46}{subfigure.5.4}} +\@writefile{lof}{\contentsline {subfigure}{\numberline{(e)}{\ignorespaces {?n}}}{46}{subfigure.5.5}} +\newlabel{fig:gg-fwgc-extended}{{5.5}{46}{The extended graph grammar of the farmer-wolf-goat-cabbage puzzle\relax \relax }{figure.caption.82}{}} +\newlabel{fig:start-tab-extended}{{5.6a}{47}{Subfigure 5 5.6a\relax }{subfigure.5.6.1}{}} +\newlabel{sub@fig:start-tab-extended}{{(a)}{a}{Subfigure 5 5.6a\relax }{subfigure.5.6.1}{}} +\newlabel{fig:process_discount}{{5.6b}{47}{Subfigure 5 5.6b\relax }{subfigure.5.6.2}{}} +\newlabel{sub@fig:process_discount}{{(b)}{b}{Subfigure 5 5.6b\relax }{subfigure.5.6.2}{}} +\newlabel{fig:order-tab-extended}{{5.6c}{47}{Subfigure 5 5.6c\relax }{subfigure.5.6.3}{}} +\newlabel{sub@fig:order-tab-extended}{{(c)}{c}{Subfigure 5 5.6c\relax }{subfigure.5.6.3}{}} +\newlabel{fig:discount}{{5.6d}{47}{Subfigure 5 5.6d\relax }{subfigure.5.6.4}{}} +\newlabel{sub@fig:discount}{{(d)}{d}{Subfigure 5 5.6d\relax }{subfigure.5.6.4}{}} +\newlabel{fig:process_order-extended}{{5.6e}{47}{Subfigure 5 5.6e\relax }{subfigure.5.6.5}{}} +\newlabel{sub@fig:process_order-extended}{{(e)}{e}{Subfigure 5 5.6e\relax }{subfigure.5.6.5}{}} +\@writefile{lof}{\contentsline {figure}{\numberline {5.6}{\ignorespaces The extended IOGG of the bar tab system\relax }}{47}{figure.caption.84}} +\@writefile{lof}{\contentsline {subfigure}{\numberline{(a)}{\ignorespaces {The initial graph}}}{47}{subfigure.6.1}} +\@writefile{lof}{\contentsline {subfigure}{\numberline{(b)}{\ignorespaces {!pd (priority 1)}}}{47}{subfigure.6.2}} +\@writefile{lof}{\contentsline {subfigure}{\numberline{(c)}{\ignorespaces {?o (priority 1)}}}{47}{subfigure.6.3}} +\@writefile{lof}{\contentsline {subfigure}{\numberline{(d)}{\ignorespaces {?d (priority 0)}}}{47}{subfigure.6.4}} +\@writefile{lof}{\contentsline {subfigure}{\numberline{(e)}{\ignorespaces {!po (priority 1)}}}{47}{subfigure.6.5}} +\newlabel{fig:gg-bartab-extended}{{5.6}{47}{The extended IOGG of the bar tab system\relax \relax }{figure.caption.84}{}} +\@writefile{lof}{\contentsline {figure}{\numberline {5.7}{\ignorespaces The extended IOSTS of the bar tab system\relax }}{48}{figure.caption.85}} +\newlabel{fig:sts-bartab-extended}{{5.7}{48}{The extended IOSTS of the bar tab system\relax \relax }{figure.caption.85}{}} +\newlabel{fig:start-scrp-ext}{{5.8a}{48}{Subfigure 5 5.8a\relax }{subfigure.5.8.1}{}} +\newlabel{sub@fig:start-scrp-ext}{{(a)}{a}{Subfigure 5 5.8a\relax }{subfigure.5.8.1}{}} +\newlabel{fig:open-account-success-ext}{{5.8b}{48}{Subfigure 5 5.8b\relax }{subfigure.5.8.2}{}} +\newlabel{sub@fig:open-account-success-ext}{{(b)}{b}{Subfigure 5 5.8b\relax }{subfigure.5.8.2}{}} +\newlabel{fig:open-account-invalid-ext}{{5.8c}{48}{Subfigure 5 5.8c\relax }{subfigure.5.8.3}{}} +\newlabel{sub@fig:open-account-invalid-ext}{{(c)}{c}{Subfigure 5 5.8c\relax }{subfigure.5.8.3}{}} +\newlabel{fig:close-account-success-ext}{{5.8d}{48}{Subfigure 5 5.8d\relax }{subfigure.5.8.4}{}} +\newlabel{sub@fig:close-account-success-ext}{{(d)}{d}{Subfigure 5 5.8d\relax }{subfigure.5.8.4}{}} +\@writefile{lof}{\contentsline {figure}{\numberline {5.8}{\ignorespaces The extended graph grammar of Scanflow Cash Register Protocol\relax }}{48}{figure.caption.87}} +\@writefile{lof}{\contentsline {subfigure}{\numberline{(a)}{\ignorespaces {The initial graph}}}{48}{subfigure.8.1}} +\@writefile{lof}{\contentsline {subfigure}{\numberline{(b)}{\ignorespaces {The open account success rule}}}{48}{subfigure.8.2}} +\@writefile{lof}{\contentsline {subfigure}{\numberline{(c)}{\ignorespaces {The open account invalid rule}}}{48}{subfigure.8.3}} +\@writefile{lof}{\contentsline {subfigure}{\numberline{(d)}{\ignorespaces {The close account success rule}}}{48}{subfigure.8.4}} +\newlabel{fig:gg-fwgc-extended}{{5.8}{48}{The extended graph grammar of Scanflow Cash Register Protocol\relax \relax }{figure.caption.87}{}} \bibcite{Andries1999}{1} \bibcite{Belinfante:JTorX}{2} \bibcite{brinksma:testgeneration}{3} @@ -388,178 +462,178 @@ \bibcite{Veanes:SpecExplorer}{29} \bibcite{Zhu:coverage}{30} \bibstyle{plain} -\@writefile{toc}{\contentsline {chapter}{List of Symbols}{46}{chapter*.71}} -\@writefile{toc}{\contentsline {chapter}{\numberline {A}Farmer-Wolf-Goat-Cabbage IOGG}{48}{appendix.A}} +\@writefile{toc}{\contentsline {chapter}{List of Symbols}{52}{chapter*.90}} +\@writefile{toc}{\contentsline {chapter}{\numberline {A}Farmer-Wolf-Goat-Cabbage IOGG}{54}{appendix.A}} \@writefile{lof}{\addvspace {10\p@ }} \@writefile{lot}{\addvspace {10\p@ }} -\newlabel{app:fwgc}{{A}{48}{Farmer-Wolf-Goat-Cabbage IOGG\relax }{appendix.A}{}} -\newlabel{fig:start-fwgc}{{A.1a}{48}{Subfigure A A.1a\relax }{subfigure.A.1.1}{}} +\newlabel{app:fwgc}{{A}{54}{Farmer-Wolf-Goat-Cabbage IOGG\relax }{appendix.A}{}} +\newlabel{fig:start-fwgc}{{A.1a}{54}{Subfigure A A.1a\relax }{subfigure.A.1.1}{}} \newlabel{sub@fig:start-fwgc}{{(a)}{a}{Subfigure A A.1a\relax }{subfigure.A.1.1}{}} -\newlabel{fig:n-fwgc}{{A.1b}{48}{Subfigure A A.1b\relax }{subfigure.A.1.2}{}} +\newlabel{fig:n-fwgc}{{A.1b}{54}{Subfigure A A.1b\relax }{subfigure.A.1.2}{}} \newlabel{sub@fig:n-fwgc}{{(b)}{b}{Subfigure A A.1b\relax }{subfigure.A.1.2}{}} -\newlabel{fig:w-fwgc}{{A.1c}{48}{Subfigure A A.1c\relax }{subfigure.A.1.3}{}} +\newlabel{fig:w-fwgc}{{A.1c}{54}{Subfigure A A.1c\relax }{subfigure.A.1.3}{}} \newlabel{sub@fig:w-fwgc}{{(c)}{c}{Subfigure A A.1c\relax }{subfigure.A.1.3}{}} -\newlabel{fig:w-invalid-fwgc}{{A.1d}{48}{Subfigure A A.1d\relax }{subfigure.A.1.4}{}} +\newlabel{fig:w-invalid-fwgc}{{A.1d}{54}{Subfigure A A.1d\relax }{subfigure.A.1.4}{}} \newlabel{sub@fig:w-invalid-fwgc}{{(d)}{d}{Subfigure A A.1d\relax }{subfigure.A.1.4}{}} -\newlabel{fig:g-fwgc}{{A.1e}{48}{Subfigure A A.1e\relax }{subfigure.A.1.5}{}} +\newlabel{fig:g-fwgc}{{A.1e}{54}{Subfigure A A.1e\relax }{subfigure.A.1.5}{}} \newlabel{sub@fig:g-fwgc}{{(e)}{e}{Subfigure A A.1e\relax }{subfigure.A.1.5}{}} -\newlabel{fig:g-invalid-fwgc}{{A.1f}{48}{Subfigure A A.1f\relax }{subfigure.A.1.6}{}} +\newlabel{fig:g-invalid-fwgc}{{A.1f}{54}{Subfigure A A.1f\relax }{subfigure.A.1.6}{}} \newlabel{sub@fig:g-invalid-fwgc}{{(f)}{f}{Subfigure A A.1f\relax }{subfigure.A.1.6}{}} -\newlabel{fig:c-fwgc}{{A.1g}{48}{Subfigure A A.1g\relax }{subfigure.A.1.7}{}} +\newlabel{fig:c-fwgc}{{A.1g}{54}{Subfigure A A.1g\relax }{subfigure.A.1.7}{}} \newlabel{sub@fig:c-fwgc}{{(g)}{g}{Subfigure A A.1g\relax }{subfigure.A.1.7}{}} -\newlabel{fig:c-invalid-fwgc}{{A.1h}{48}{Subfigure A A.1h\relax }{subfigure.A.1.8}{}} +\newlabel{fig:c-invalid-fwgc}{{A.1h}{54}{Subfigure A A.1h\relax }{subfigure.A.1.8}{}} \newlabel{sub@fig:c-invalid-fwgc}{{(h)}{h}{Subfigure A A.1h\relax }{subfigure.A.1.8}{}} -\@writefile{lof}{\contentsline {subfigure}{\numberline{(a)}{\ignorespaces {The initial graph}}}{48}{subfigure.1.1}} -\@writefile{lof}{\contentsline {subfigure}{\numberline{(b)}{\ignorespaces {?n (priority 0)}}}{48}{subfigure.1.2}} -\@writefile{lof}{\contentsline {subfigure}{\numberline{(c)}{\ignorespaces {?w valid (priority 0)}}}{48}{subfigure.1.3}} -\@writefile{lof}{\contentsline {subfigure}{\numberline{(d)}{\ignorespaces {?w invalid (priority 0)}}}{48}{subfigure.1.4}} -\@writefile{lof}{\contentsline {subfigure}{\numberline{(e)}{\ignorespaces {?g valid (priority 0)}}}{48}{subfigure.1.5}} -\@writefile{lof}{\contentsline {subfigure}{\numberline{(f)}{\ignorespaces {?g invalid (priority 0)}}}{48}{subfigure.1.6}} -\@writefile{lof}{\contentsline {subfigure}{\numberline{(g)}{\ignorespaces {?c valid (priority 0)}}}{48}{subfigure.1.7}} -\@writefile{lof}{\contentsline {subfigure}{\numberline{(h)}{\ignorespaces {?c invalid (priority 0)}}}{48}{subfigure.1.8}} -\newlabel{fig:retry-fwgc}{{A.1i}{49}{Subfigure A A.1i\relax }{subfigure.A.1.9}{}} +\@writefile{lof}{\contentsline {subfigure}{\numberline{(a)}{\ignorespaces {The initial graph}}}{54}{subfigure.1.1}} +\@writefile{lof}{\contentsline {subfigure}{\numberline{(b)}{\ignorespaces {?n (priority 0)}}}{54}{subfigure.1.2}} +\@writefile{lof}{\contentsline {subfigure}{\numberline{(c)}{\ignorespaces {?w valid (priority 0)}}}{54}{subfigure.1.3}} +\@writefile{lof}{\contentsline {subfigure}{\numberline{(d)}{\ignorespaces {?w invalid (priority 0)}}}{54}{subfigure.1.4}} +\@writefile{lof}{\contentsline {subfigure}{\numberline{(e)}{\ignorespaces {?g valid (priority 0)}}}{54}{subfigure.1.5}} +\@writefile{lof}{\contentsline {subfigure}{\numberline{(f)}{\ignorespaces {?g invalid (priority 0)}}}{54}{subfigure.1.6}} +\@writefile{lof}{\contentsline {subfigure}{\numberline{(g)}{\ignorespaces {?c valid (priority 0)}}}{54}{subfigure.1.7}} +\@writefile{lof}{\contentsline {subfigure}{\numberline{(h)}{\ignorespaces {?c invalid (priority 0)}}}{54}{subfigure.1.8}} +\newlabel{fig:retry-fwgc}{{A.1i}{55}{Subfigure A A.1i\relax }{subfigure.A.1.9}{}} \newlabel{sub@fig:retry-fwgc}{{(i)}{i}{Subfigure A A.1i\relax }{subfigure.A.1.9}{}} -\newlabel{fig:reinit}{{A.1j}{49}{Subfigure A A.1j\relax }{subfigure.A.1.10}{}} +\newlabel{fig:reinit}{{A.1j}{55}{Subfigure A A.1j\relax }{subfigure.A.1.10}{}} \newlabel{sub@fig:reinit}{{(j)}{j}{Subfigure A A.1j\relax }{subfigure.A.1.10}{}} -\newlabel{fig:done}{{A.1k}{49}{Subfigure A A.1k\relax }{subfigure.A.1.11}{}} +\newlabel{fig:done}{{A.1k}{55}{Subfigure A A.1k\relax }{subfigure.A.1.11}{}} \newlabel{sub@fig:done}{{(k)}{k}{Subfigure A A.1k\relax }{subfigure.A.1.11}{}} -\@writefile{lof}{\contentsline {subfigure}{\numberline{(i)}{\ignorespaces {!retry (priority 1)}}}{49}{subfigure.1.9}} -\@writefile{lof}{\contentsline {subfigure}{\numberline{(j)}{\ignorespaces {!eaten (priority 1)}}}{49}{subfigure.1.10}} -\@writefile{lof}{\contentsline {subfigure}{\numberline{(k)}{\ignorespaces {!done (priority 1)}}}{49}{subfigure.1.11}} -\@writefile{toc}{\contentsline {chapter}{\numberline {B}Bar Tab IOGG}{50}{appendix.B}} +\@writefile{lof}{\contentsline {subfigure}{\numberline{(i)}{\ignorespaces {!retry (priority 1)}}}{55}{subfigure.1.9}} +\@writefile{lof}{\contentsline {subfigure}{\numberline{(j)}{\ignorespaces {!eaten (priority 1)}}}{55}{subfigure.1.10}} +\@writefile{lof}{\contentsline {subfigure}{\numberline{(k)}{\ignorespaces {!done (priority 1)}}}{55}{subfigure.1.11}} +\@writefile{toc}{\contentsline {chapter}{\numberline {B}Bar Tab IOGG}{56}{appendix.B}} \@writefile{lof}{\addvspace {10\p@ }} \@writefile{lot}{\addvspace {10\p@ }} -\newlabel{app:bar-tab}{{B}{50}{Bar Tab IOGG\relax }{appendix.B}{}} -\newlabel{fig:start-tab}{{B.1a}{50}{Subfigure B B.1a\relax }{subfigure.B.1.1}{}} +\newlabel{app:bar-tab}{{B}{56}{Bar Tab IOGG\relax }{appendix.B}{}} +\newlabel{fig:start-tab}{{B.1a}{56}{Subfigure B B.1a\relax }{subfigure.B.1.1}{}} \newlabel{sub@fig:start-tab}{{(a)}{a}{Subfigure B B.1a\relax }{subfigure.B.1.1}{}} -\newlabel{fig:order-tab}{{B.1b}{50}{Subfigure B B.1b\relax }{subfigure.B.1.2}{}} +\newlabel{fig:order-tab}{{B.1b}{56}{Subfigure B B.1b\relax }{subfigure.B.1.2}{}} \newlabel{sub@fig:order-tab}{{(b)}{b}{Subfigure B B.1b\relax }{subfigure.B.1.2}{}} -\newlabel{fig:process_order}{{B.1c}{50}{Subfigure B B.1c\relax }{subfigure.B.1.3}{}} +\newlabel{fig:process_order}{{B.1c}{56}{Subfigure B B.1c\relax }{subfigure.B.1.3}{}} \newlabel{sub@fig:process_order}{{(c)}{c}{Subfigure B B.1c\relax }{subfigure.B.1.3}{}} -\newlabel{fig:pay-tab}{{B.1d}{50}{Subfigure B B.1d\relax }{subfigure.B.1.4}{}} +\newlabel{fig:pay-tab}{{B.1d}{56}{Subfigure B B.1d\relax }{subfigure.B.1.4}{}} \newlabel{sub@fig:pay-tab}{{(d)}{d}{Subfigure B B.1d\relax }{subfigure.B.1.4}{}} -\newlabel{fig:process_payment}{{B.1e}{50}{Subfigure B B.1e\relax }{subfigure.B.1.5}{}} +\newlabel{fig:process_payment}{{B.1e}{56}{Subfigure B B.1e\relax }{subfigure.B.1.5}{}} \newlabel{sub@fig:process_payment}{{(e)}{e}{Subfigure B B.1e\relax }{subfigure.B.1.5}{}} -\@writefile{lof}{\contentsline {figure}{\numberline {B.1}{\ignorespaces The IOGG of the bar tab system\relax }}{50}{figure.caption.74}} -\@writefile{lof}{\contentsline {subfigure}{\numberline{(a)}{\ignorespaces {The initial graph}}}{50}{subfigure.1.1}} -\@writefile{lof}{\contentsline {subfigure}{\numberline{(b)}{\ignorespaces {?o (priority 0)}}}{50}{subfigure.1.2}} -\@writefile{lof}{\contentsline {subfigure}{\numberline{(c)}{\ignorespaces {!po (priority 1)}}}{50}{subfigure.1.3}} -\@writefile{lof}{\contentsline {subfigure}{\numberline{(d)}{\ignorespaces {?p (priority 0)}}}{50}{subfigure.1.4}} -\@writefile{lof}{\contentsline {subfigure}{\numberline{(e)}{\ignorespaces {!pp (priority 1)}}}{50}{subfigure.1.5}} -\@writefile{toc}{\contentsline {chapter}{\numberline {C}SCRP Commands \& Responses}{51}{appendix.C}} +\@writefile{lof}{\contentsline {figure}{\numberline {B.1}{\ignorespaces The IOGG of the bar tab system\relax }}{56}{figure.caption.93}} +\@writefile{lof}{\contentsline {subfigure}{\numberline{(a)}{\ignorespaces {The initial graph}}}{56}{subfigure.1.1}} +\@writefile{lof}{\contentsline {subfigure}{\numberline{(b)}{\ignorespaces {?o (priority 0)}}}{56}{subfigure.1.2}} +\@writefile{lof}{\contentsline {subfigure}{\numberline{(c)}{\ignorespaces {!po (priority 1)}}}{56}{subfigure.1.3}} +\@writefile{lof}{\contentsline {subfigure}{\numberline{(d)}{\ignorespaces {?p (priority 0)}}}{56}{subfigure.1.4}} +\@writefile{lof}{\contentsline {subfigure}{\numberline{(e)}{\ignorespaces {!pp (priority 1)}}}{56}{subfigure.1.5}} +\@writefile{toc}{\contentsline {chapter}{\numberline {C}SCRP Commands \& Responses}{57}{appendix.C}} \@writefile{lof}{\addvspace {10\p@ }} \@writefile{lot}{\addvspace {10\p@ }} -\newlabel{app:scrp-specification}{{C}{51}{SCRP Commands \& Responses\relax }{appendix.C}{}} -\@writefile{lof}{\contentsline {figure}{\numberline {C.1}{\ignorespaces Registration Account State Machine\relax }}{52}{figure.caption.76}} -\newlabel{fig:account-lifecycle}{{C.1}{52}{Registration Account State Machine\relax \relax }{figure.caption.76}{}} -\@writefile{toc}{\contentsline {chapter}{\numberline {D}Scanflow Cash Register IOGG}{58}{appendix.D}} +\newlabel{app:scrp-specification}{{C}{57}{SCRP Commands \& Responses\relax }{appendix.C}{}} +\@writefile{lof}{\contentsline {figure}{\numberline {C.1}{\ignorespaces Registration Account State Machine\relax }}{58}{figure.caption.95}} +\newlabel{fig:account-lifecycle}{{C.1}{58}{Registration Account State Machine\relax \relax }{figure.caption.95}{}} +\@writefile{toc}{\contentsline {chapter}{\numberline {D}Scanflow Cash Register IOGG}{64}{appendix.D}} \@writefile{lof}{\addvspace {10\p@ }} \@writefile{lot}{\addvspace {10\p@ }} -\newlabel{app:scrp-gg}{{D}{58}{Scanflow Cash Register IOGG\relax }{appendix.D}{}} -\@writefile{lof}{\contentsline {figure}{\numberline {D.1}{\ignorespaces Account Article Registration\relax }}{58}{figure.caption.97}} -\@writefile{lof}{\contentsline {subfigure}{\numberline{(a)}{\ignorespaces {?ARTREG\_EXIST}}}{58}{subfigure.1.1}} -\@writefile{lof}{\contentsline {subfigure}{\numberline{(b)}{\ignorespaces {?ARTREG\_NEXIST}}}{58}{subfigure.1.2}} -\@writefile{lof}{\contentsline {subfigure}{\numberline{(c)}{\ignorespaces {!212}}}{58}{subfigure.1.3}} -\@writefile{lof}{\contentsline {subfigure}{\numberline{(d)}{\ignorespaces {!531}}}{58}{subfigure.1.4}} -\@writefile{lof}{\contentsline {subfigure}{\numberline{(e)}{\ignorespaces {!511}}}{58}{subfigure.1.5}} -\@writefile{lof}{\contentsline {subfigure}{\numberline{(f)}{\ignorespaces {!232}}}{58}{subfigure.1.6}} -\@writefile{lof}{\contentsline {figure}{\numberline {D.2}{\ignorespaces Account Article Return\relax }}{59}{figure.caption.98}} -\@writefile{lof}{\contentsline {subfigure}{\numberline{(a)}{\ignorespaces {?ARTRET\_EXIST}}}{59}{subfigure.2.1}} -\@writefile{lof}{\contentsline {subfigure}{\numberline{(b)}{\ignorespaces {?ARTRET\_NEXIST}}}{59}{subfigure.2.2}} -\@writefile{lof}{\contentsline {subfigure}{\numberline{(c)}{\ignorespaces {!212}}}{59}{subfigure.2.3}} -\@writefile{lof}{\contentsline {subfigure}{\numberline{(d)}{\ignorespaces {!531}}}{59}{subfigure.2.4}} -\@writefile{lof}{\contentsline {subfigure}{\numberline{(e)}{\ignorespaces {!511}}}{59}{subfigure.2.5}} -\@writefile{lof}{\contentsline {subfigure}{\numberline{(f)}{\ignorespaces {!511}}}{59}{subfigure.2.6}} -\@writefile{lof}{\contentsline {subfigure}{\numberline{(g)}{\ignorespaces {!232}}}{59}{subfigure.2.7}} -\@writefile{lof}{\contentsline {figure}{\numberline {D.3}{\ignorespaces Account Close\relax }}{60}{figure.caption.99}} -\@writefile{lof}{\contentsline {subfigure}{\numberline{(a)}{\ignorespaces {?CLOSE}}}{60}{subfigure.3.1}} -\@writefile{lof}{\contentsline {subfigure}{\numberline{(b)}{\ignorespaces {!212}}}{60}{subfigure.3.2}} -\@writefile{lof}{\contentsline {subfigure}{\numberline{(c)}{\ignorespaces {!531}}}{60}{subfigure.3.3}} -\@writefile{lof}{\contentsline {subfigure}{\numberline{(d)}{\ignorespaces {!230}}}{60}{subfigure.3.4}} -\@writefile{lof}{\contentsline {figure}{\numberline {D.4}{\ignorespaces Account Ending\relax }}{61}{figure.caption.100}} -\@writefile{lof}{\contentsline {subfigure}{\numberline{(a)}{\ignorespaces {?IDLE}}}{61}{subfigure.4.1}} -\@writefile{lof}{\contentsline {subfigure}{\numberline{(b)}{\ignorespaces {!531}}}{61}{subfigure.4.2}} -\@writefile{lof}{\contentsline {subfigure}{\numberline{(c)}{\ignorespaces {!233}}}{61}{subfigure.4.3}} -\@writefile{lof}{\contentsline {figure}{\numberline {D.5}{\ignorespaces Account Endtotal\relax }}{62}{figure.caption.101}} -\@writefile{lof}{\contentsline {subfigure}{\numberline{(a)}{\ignorespaces {?ENDTOT}}}{62}{subfigure.5.1}} -\@writefile{lof}{\contentsline {subfigure}{\numberline{(b)}{\ignorespaces {!212}}}{62}{subfigure.5.2}} -\@writefile{lof}{\contentsline {subfigure}{\numberline{(c)}{\ignorespaces {!531}}}{62}{subfigure.5.3}} -\@writefile{lof}{\contentsline {subfigure}{\numberline{(d)}{\ignorespaces {!230}}}{62}{subfigure.5.4}} -\@writefile{lof}{\contentsline {figure}{\numberline {D.6}{\ignorespaces Account Open\relax }}{63}{figure.caption.102}} -\@writefile{lof}{\contentsline {subfigure}{\numberline{(a)}{\ignorespaces {?OPEN}}}{63}{subfigure.6.1}} -\@writefile{lof}{\contentsline {subfigure}{\numberline{(b)}{\ignorespaces {?OPEN\_EXIST}}}{63}{subfigure.6.2}} -\@writefile{lof}{\contentsline {subfigure}{\numberline{(c)}{\ignorespaces {?OPEN\_NEXIST}}}{63}{subfigure.6.3}} -\@writefile{lof}{\contentsline {subfigure}{\numberline{(d)}{\ignorespaces {!531}}}{63}{subfigure.6.4}} -\@writefile{lof}{\contentsline {subfigure}{\numberline{(e)}{\ignorespaces {!530}}}{63}{subfigure.6.5}} -\@writefile{lof}{\contentsline {subfigure}{\numberline{(f)}{\ignorespaces {!231}}}{63}{subfigure.6.6}} -\@writefile{lof}{\contentsline {figure}{\numberline {D.7}{\ignorespaces Account Stamp Registration\relax }}{64}{figure.caption.103}} -\@writefile{lof}{\contentsline {subfigure}{\numberline{(a)}{\ignorespaces {?STAMPREG}}}{64}{subfigure.7.1}} -\@writefile{lof}{\contentsline {subfigure}{\numberline{(b)}{\ignorespaces {!212}}}{64}{subfigure.7.2}} -\@writefile{lof}{\contentsline {subfigure}{\numberline{(c)}{\ignorespaces {!531}}}{64}{subfigure.7.3}} -\@writefile{lof}{\contentsline {subfigure}{\numberline{(d)}{\ignorespaces {!511}}}{64}{subfigure.7.4}} -\@writefile{lof}{\contentsline {subfigure}{\numberline{(e)}{\ignorespaces {!232}}}{64}{subfigure.7.5}} -\@writefile{lof}{\contentsline {figure}{\numberline {D.8}{\ignorespaces Account Trans\relax }}{65}{figure.caption.104}} -\@writefile{lof}{\contentsline {subfigure}{\numberline{(a)}{\ignorespaces {?TRANS}}}{65}{subfigure.8.1}} -\@writefile{lof}{\contentsline {subfigure}{\numberline{(b)}{\ignorespaces {?TRANS}}}{65}{subfigure.8.2}} -\@writefile{lof}{\contentsline {subfigure}{\numberline{(c)}{\ignorespaces {?TRANS}}}{65}{subfigure.8.3}} -\@writefile{lof}{\contentsline {subfigure}{\numberline{(d)}{\ignorespaces {!531}}}{65}{subfigure.8.4}} -\@writefile{lof}{\contentsline {subfigure}{\numberline{(e)}{\ignorespaces {!240}}}{65}{subfigure.8.5}} -\@writefile{lof}{\contentsline {subfigure}{\numberline{(f)}{\ignorespaces {!240}}}{65}{subfigure.8.6}} -\@writefile{lof}{\contentsline {figure}{\numberline {D.9}{\ignorespaces Artid\relax }}{66}{figure.caption.105}} -\@writefile{lof}{\contentsline {subfigure}{\numberline{(a)}{\ignorespaces {?ARTID\_EXIST}}}{66}{subfigure.9.1}} -\@writefile{lof}{\contentsline {subfigure}{\numberline{(b)}{\ignorespaces {?ARTID\_NEXIST}}}{66}{subfigure.9.2}} -\@writefile{lof}{\contentsline {subfigure}{\numberline{(c)}{\ignorespaces {!511}}}{66}{subfigure.9.3}} -\@writefile{lof}{\contentsline {subfigure}{\numberline{(d)}{\ignorespaces {!213}}}{66}{subfigure.9.4}} -\@writefile{lof}{\contentsline {figure}{\numberline {D.10}{\ignorespaces General Responses\relax }}{66}{figure.caption.106}} -\@writefile{lof}{\contentsline {subfigure}{\numberline{(a)}{\ignorespaces {!550}}}{66}{subfigure.10.1}} -\@writefile{lof}{\contentsline {subfigure}{\numberline{(b)}{\ignorespaces {!501}}}{66}{subfigure.10.2}} -\@writefile{lof}{\contentsline {subfigure}{\numberline{(c)}{\ignorespaces {!900}}}{66}{subfigure.10.3}} -\@writefile{lof}{\contentsline {figure}{\numberline {D.11}{\ignorespaces Get Variable\relax }}{67}{figure.caption.107}} -\@writefile{lof}{\contentsline {subfigure}{\numberline{(a)}{\ignorespaces {?GET}}}{67}{subfigure.11.1}} -\@writefile{lof}{\contentsline {subfigure}{\numberline{(b)}{\ignorespaces {!510}}}{67}{subfigure.11.2}} -\@writefile{lof}{\contentsline {subfigure}{\numberline{(c)}{\ignorespaces {!210}}}{67}{subfigure.11.3}} -\@writefile{lof}{\contentsline {figure}{\numberline {D.12}{\ignorespaces Initialize\relax }}{67}{figure.caption.108}} -\@writefile{lof}{\contentsline {subfigure}{\numberline{(a)}{\ignorespaces {!220}}}{67}{subfigure.12.1}} -\@writefile{lof}{\contentsline {subfigure}{\numberline{(b)}{\ignorespaces {Initial graph}}}{67}{subfigure.12.2}} -\@writefile{lof}{\contentsline {figure}{\numberline {D.13}{\ignorespaces Print\relax }}{68}{figure.caption.109}} -\@writefile{lof}{\contentsline {subfigure}{\numberline{(a)}{\ignorespaces {?PRINT\_EXIST}}}{68}{subfigure.13.1}} -\@writefile{lof}{\contentsline {subfigure}{\numberline{(b)}{\ignorespaces {?PRINT\_NEXIST}}}{68}{subfigure.13.2}} -\@writefile{lof}{\contentsline {subfigure}{\numberline{(c)}{\ignorespaces {!560}}}{68}{subfigure.13.3}} -\@writefile{lof}{\contentsline {subfigure}{\numberline{(d)}{\ignorespaces {!531}}}{68}{subfigure.13.4}} -\@writefile{lof}{\contentsline {subfigure}{\numberline{(e)}{\ignorespaces {!530}}}{68}{subfigure.13.5}} -\@writefile{lof}{\contentsline {subfigure}{\numberline{(f)}{\ignorespaces {!260}}}{68}{subfigure.13.6}} -\@writefile{lof}{\contentsline {figure}{\numberline {D.14}{\ignorespaces Receipt\relax }}{68}{figure.caption.110}} -\@writefile{lof}{\contentsline {subfigure}{\numberline{(a)}{\ignorespaces {?RECEIPT}}}{68}{subfigure.14.1}} -\@writefile{lof}{\contentsline {subfigure}{\numberline{(b)}{\ignorespaces {!261}}}{68}{subfigure.14.2}} -\@writefile{lof}{\contentsline {subfigure}{\numberline{(c)}{\ignorespaces {!531}}}{68}{subfigure.14.3}} -\@writefile{lof}{\contentsline {subfigure}{\numberline{(d)}{\ignorespaces {!561}}}{68}{subfigure.14.4}} -\@writefile{lof}{\contentsline {subfigure}{\numberline{(e)}{\ignorespaces {!261}}}{68}{subfigure.14.5}} -\@writefile{lof}{\contentsline {figure}{\numberline {D.15}{\ignorespaces Receipt Hardcopy\relax }}{69}{figure.caption.111}} -\@writefile{lof}{\contentsline {subfigure}{\numberline{(a)}{\ignorespaces {?RHCOPY\_EXIST}}}{69}{subfigure.15.1}} -\@writefile{lof}{\contentsline {subfigure}{\numberline{(b)}{\ignorespaces {?RHCOPY\_NEXIST}}}{69}{subfigure.15.2}} -\@writefile{lof}{\contentsline {subfigure}{\numberline{(c)}{\ignorespaces {!560}}}{69}{subfigure.15.3}} -\@writefile{lof}{\contentsline {subfigure}{\numberline{(d)}{\ignorespaces {!530}}}{69}{subfigure.15.4}} -\@writefile{lof}{\contentsline {subfigure}{\numberline{(e)}{\ignorespaces {!260}}}{69}{subfigure.15.5}} -\@writefile{lof}{\contentsline {figure}{\numberline {D.16}{\ignorespaces Resetcr\relax }}{69}{figure.caption.112}} -\@writefile{lof}{\contentsline {subfigure}{\numberline{(a)}{\ignorespaces {?RESETCR}}}{69}{subfigure.16.1}} -\@writefile{lof}{\contentsline {subfigure}{\numberline{(b)}{\ignorespaces {!531}}}{69}{subfigure.16.2}} -\@writefile{lof}{\contentsline {subfigure}{\numberline{(c)}{\ignorespaces {!202}}}{69}{subfigure.16.3}} -\@writefile{lof}{\contentsline {figure}{\numberline {D.17}{\ignorespaces Resume\relax }}{70}{figure.caption.113}} -\@writefile{lof}{\contentsline {subfigure}{\numberline{(a)}{\ignorespaces {?RESUME}}}{70}{subfigure.17.1}} -\@writefile{lof}{\contentsline {subfigure}{\numberline{(b)}{\ignorespaces {!503}}}{70}{subfigure.17.2}} -\@writefile{lof}{\contentsline {subfigure}{\numberline{(c)}{\ignorespaces {!201}}}{70}{subfigure.17.3}} -\@writefile{lof}{\contentsline {subfigure}{\numberline{(d)}{\ignorespaces {!201}}}{70}{subfigure.17.4}} -\@writefile{lof}{\contentsline {figure}{\numberline {D.18}{\ignorespaces Signoff\relax }}{70}{figure.caption.114}} -\@writefile{lof}{\contentsline {subfigure}{\numberline{(a)}{\ignorespaces {?SIGNOFF}}}{70}{subfigure.18.1}} -\@writefile{lof}{\contentsline {subfigure}{\numberline{(b)}{\ignorespaces {!450}}}{70}{subfigure.18.2}} -\@writefile{lof}{\contentsline {subfigure}{\numberline{(c)}{\ignorespaces {!250}}}{70}{subfigure.18.3}} -\@writefile{lof}{\contentsline {figure}{\numberline {D.19}{\ignorespaces Signon\relax }}{71}{figure.caption.115}} -\@writefile{lof}{\contentsline {subfigure}{\numberline{(a)}{\ignorespaces {?SIGNON\_EXIST}}}{71}{subfigure.19.1}} -\@writefile{lof}{\contentsline {subfigure}{\numberline{(b)}{\ignorespaces {?SIGNON\_NEXIST}}}{71}{subfigure.19.2}} -\@writefile{lof}{\contentsline {subfigure}{\numberline{(c)}{\ignorespaces {!551}}}{71}{subfigure.19.3}} -\@writefile{lof}{\contentsline {subfigure}{\numberline{(d)}{\ignorespaces {!450}}}{71}{subfigure.19.4}} -\@writefile{lof}{\contentsline {subfigure}{\numberline{(e)}{\ignorespaces {!251}}}{71}{subfigure.19.5}} -\@writefile{toc}{\contentsline {chapter}{\numberline {E}Scanflow Cash Register IOSTS}{72}{appendix.E}} +\newlabel{app:scrp-gg}{{D}{64}{Scanflow Cash Register IOGG\relax }{appendix.D}{}} +\@writefile{lof}{\contentsline {figure}{\numberline {D.1}{\ignorespaces Account Article Registration\relax }}{64}{figure.caption.116}} +\@writefile{lof}{\contentsline {subfigure}{\numberline{(a)}{\ignorespaces {?ARTREG\_EXIST}}}{64}{subfigure.1.1}} +\@writefile{lof}{\contentsline {subfigure}{\numberline{(b)}{\ignorespaces {?ARTREG\_NEXIST}}}{64}{subfigure.1.2}} +\@writefile{lof}{\contentsline {subfigure}{\numberline{(c)}{\ignorespaces {!212}}}{64}{subfigure.1.3}} +\@writefile{lof}{\contentsline {subfigure}{\numberline{(d)}{\ignorespaces {!531}}}{64}{subfigure.1.4}} +\@writefile{lof}{\contentsline {subfigure}{\numberline{(e)}{\ignorespaces {!511}}}{64}{subfigure.1.5}} +\@writefile{lof}{\contentsline {subfigure}{\numberline{(f)}{\ignorespaces {!232}}}{64}{subfigure.1.6}} +\@writefile{lof}{\contentsline {figure}{\numberline {D.2}{\ignorespaces Account Article Return\relax }}{65}{figure.caption.117}} +\@writefile{lof}{\contentsline {subfigure}{\numberline{(a)}{\ignorespaces {?ARTRET\_EXIST}}}{65}{subfigure.2.1}} +\@writefile{lof}{\contentsline {subfigure}{\numberline{(b)}{\ignorespaces {?ARTRET\_NEXIST}}}{65}{subfigure.2.2}} +\@writefile{lof}{\contentsline {subfigure}{\numberline{(c)}{\ignorespaces {!212}}}{65}{subfigure.2.3}} +\@writefile{lof}{\contentsline {subfigure}{\numberline{(d)}{\ignorespaces {!531}}}{65}{subfigure.2.4}} +\@writefile{lof}{\contentsline {subfigure}{\numberline{(e)}{\ignorespaces {!511}}}{65}{subfigure.2.5}} +\@writefile{lof}{\contentsline {subfigure}{\numberline{(f)}{\ignorespaces {!511}}}{65}{subfigure.2.6}} +\@writefile{lof}{\contentsline {subfigure}{\numberline{(g)}{\ignorespaces {!232}}}{65}{subfigure.2.7}} +\@writefile{lof}{\contentsline {figure}{\numberline {D.3}{\ignorespaces Account Close\relax }}{66}{figure.caption.118}} +\@writefile{lof}{\contentsline {subfigure}{\numberline{(a)}{\ignorespaces {?CLOSE}}}{66}{subfigure.3.1}} +\@writefile{lof}{\contentsline {subfigure}{\numberline{(b)}{\ignorespaces {!212}}}{66}{subfigure.3.2}} +\@writefile{lof}{\contentsline {subfigure}{\numberline{(c)}{\ignorespaces {!531}}}{66}{subfigure.3.3}} +\@writefile{lof}{\contentsline {subfigure}{\numberline{(d)}{\ignorespaces {!230}}}{66}{subfigure.3.4}} +\@writefile{lof}{\contentsline {figure}{\numberline {D.4}{\ignorespaces Account Ending\relax }}{67}{figure.caption.119}} +\@writefile{lof}{\contentsline {subfigure}{\numberline{(a)}{\ignorespaces {?IDLE}}}{67}{subfigure.4.1}} +\@writefile{lof}{\contentsline {subfigure}{\numberline{(b)}{\ignorespaces {!531}}}{67}{subfigure.4.2}} +\@writefile{lof}{\contentsline {subfigure}{\numberline{(c)}{\ignorespaces {!233}}}{67}{subfigure.4.3}} +\@writefile{lof}{\contentsline {figure}{\numberline {D.5}{\ignorespaces Account Endtotal\relax }}{68}{figure.caption.120}} +\@writefile{lof}{\contentsline {subfigure}{\numberline{(a)}{\ignorespaces {?ENDTOT}}}{68}{subfigure.5.1}} +\@writefile{lof}{\contentsline {subfigure}{\numberline{(b)}{\ignorespaces {!212}}}{68}{subfigure.5.2}} +\@writefile{lof}{\contentsline {subfigure}{\numberline{(c)}{\ignorespaces {!531}}}{68}{subfigure.5.3}} +\@writefile{lof}{\contentsline {subfigure}{\numberline{(d)}{\ignorespaces {!230}}}{68}{subfigure.5.4}} +\@writefile{lof}{\contentsline {figure}{\numberline {D.6}{\ignorespaces Account Open\relax }}{69}{figure.caption.121}} +\@writefile{lof}{\contentsline {subfigure}{\numberline{(a)}{\ignorespaces {?OPEN}}}{69}{subfigure.6.1}} +\@writefile{lof}{\contentsline {subfigure}{\numberline{(b)}{\ignorespaces {?OPEN\_EXIST}}}{69}{subfigure.6.2}} +\@writefile{lof}{\contentsline {subfigure}{\numberline{(c)}{\ignorespaces {?OPEN\_NEXIST}}}{69}{subfigure.6.3}} +\@writefile{lof}{\contentsline {subfigure}{\numberline{(d)}{\ignorespaces {!531}}}{69}{subfigure.6.4}} +\@writefile{lof}{\contentsline {subfigure}{\numberline{(e)}{\ignorespaces {!530}}}{69}{subfigure.6.5}} +\@writefile{lof}{\contentsline {subfigure}{\numberline{(f)}{\ignorespaces {!231}}}{69}{subfigure.6.6}} +\@writefile{lof}{\contentsline {figure}{\numberline {D.7}{\ignorespaces Account Stamp Registration\relax }}{70}{figure.caption.122}} +\@writefile{lof}{\contentsline {subfigure}{\numberline{(a)}{\ignorespaces {?STAMPREG}}}{70}{subfigure.7.1}} +\@writefile{lof}{\contentsline {subfigure}{\numberline{(b)}{\ignorespaces {!212}}}{70}{subfigure.7.2}} +\@writefile{lof}{\contentsline {subfigure}{\numberline{(c)}{\ignorespaces {!531}}}{70}{subfigure.7.3}} +\@writefile{lof}{\contentsline {subfigure}{\numberline{(d)}{\ignorespaces {!511}}}{70}{subfigure.7.4}} +\@writefile{lof}{\contentsline {subfigure}{\numberline{(e)}{\ignorespaces {!232}}}{70}{subfigure.7.5}} +\@writefile{lof}{\contentsline {figure}{\numberline {D.8}{\ignorespaces Account Trans\relax }}{71}{figure.caption.123}} +\@writefile{lof}{\contentsline {subfigure}{\numberline{(a)}{\ignorespaces {?TRANS}}}{71}{subfigure.8.1}} +\@writefile{lof}{\contentsline {subfigure}{\numberline{(b)}{\ignorespaces {?TRANS}}}{71}{subfigure.8.2}} +\@writefile{lof}{\contentsline {subfigure}{\numberline{(c)}{\ignorespaces {?TRANS}}}{71}{subfigure.8.3}} +\@writefile{lof}{\contentsline {subfigure}{\numberline{(d)}{\ignorespaces {!531}}}{71}{subfigure.8.4}} +\@writefile{lof}{\contentsline {subfigure}{\numberline{(e)}{\ignorespaces {!240}}}{71}{subfigure.8.5}} +\@writefile{lof}{\contentsline {subfigure}{\numberline{(f)}{\ignorespaces {!240}}}{71}{subfigure.8.6}} +\@writefile{lof}{\contentsline {figure}{\numberline {D.9}{\ignorespaces Artid\relax }}{72}{figure.caption.124}} +\@writefile{lof}{\contentsline {subfigure}{\numberline{(a)}{\ignorespaces {?ARTID\_EXIST}}}{72}{subfigure.9.1}} +\@writefile{lof}{\contentsline {subfigure}{\numberline{(b)}{\ignorespaces {?ARTID\_NEXIST}}}{72}{subfigure.9.2}} +\@writefile{lof}{\contentsline {subfigure}{\numberline{(c)}{\ignorespaces {!511}}}{72}{subfigure.9.3}} +\@writefile{lof}{\contentsline {subfigure}{\numberline{(d)}{\ignorespaces {!213}}}{72}{subfigure.9.4}} +\@writefile{lof}{\contentsline {figure}{\numberline {D.10}{\ignorespaces General Responses\relax }}{72}{figure.caption.125}} +\@writefile{lof}{\contentsline {subfigure}{\numberline{(a)}{\ignorespaces {!550}}}{72}{subfigure.10.1}} +\@writefile{lof}{\contentsline {subfigure}{\numberline{(b)}{\ignorespaces {!501}}}{72}{subfigure.10.2}} +\@writefile{lof}{\contentsline {subfigure}{\numberline{(c)}{\ignorespaces {!900}}}{72}{subfigure.10.3}} +\@writefile{lof}{\contentsline {figure}{\numberline {D.11}{\ignorespaces Get Variable\relax }}{73}{figure.caption.126}} +\@writefile{lof}{\contentsline {subfigure}{\numberline{(a)}{\ignorespaces {?GET}}}{73}{subfigure.11.1}} +\@writefile{lof}{\contentsline {subfigure}{\numberline{(b)}{\ignorespaces {!510}}}{73}{subfigure.11.2}} +\@writefile{lof}{\contentsline {subfigure}{\numberline{(c)}{\ignorespaces {!210}}}{73}{subfigure.11.3}} +\@writefile{lof}{\contentsline {figure}{\numberline {D.12}{\ignorespaces Initialize\relax }}{73}{figure.caption.127}} +\@writefile{lof}{\contentsline {subfigure}{\numberline{(a)}{\ignorespaces {!220}}}{73}{subfigure.12.1}} +\@writefile{lof}{\contentsline {subfigure}{\numberline{(b)}{\ignorespaces {Initial graph}}}{73}{subfigure.12.2}} +\@writefile{lof}{\contentsline {figure}{\numberline {D.13}{\ignorespaces Print\relax }}{74}{figure.caption.128}} +\@writefile{lof}{\contentsline {subfigure}{\numberline{(a)}{\ignorespaces {?PRINT\_EXIST}}}{74}{subfigure.13.1}} +\@writefile{lof}{\contentsline {subfigure}{\numberline{(b)}{\ignorespaces {?PRINT\_NEXIST}}}{74}{subfigure.13.2}} +\@writefile{lof}{\contentsline {subfigure}{\numberline{(c)}{\ignorespaces {!560}}}{74}{subfigure.13.3}} +\@writefile{lof}{\contentsline {subfigure}{\numberline{(d)}{\ignorespaces {!531}}}{74}{subfigure.13.4}} +\@writefile{lof}{\contentsline {subfigure}{\numberline{(e)}{\ignorespaces {!530}}}{74}{subfigure.13.5}} +\@writefile{lof}{\contentsline {subfigure}{\numberline{(f)}{\ignorespaces {!260}}}{74}{subfigure.13.6}} +\@writefile{lof}{\contentsline {figure}{\numberline {D.14}{\ignorespaces Receipt\relax }}{74}{figure.caption.129}} +\@writefile{lof}{\contentsline {subfigure}{\numberline{(a)}{\ignorespaces {?RECEIPT}}}{74}{subfigure.14.1}} +\@writefile{lof}{\contentsline {subfigure}{\numberline{(b)}{\ignorespaces {!261}}}{74}{subfigure.14.2}} +\@writefile{lof}{\contentsline {subfigure}{\numberline{(c)}{\ignorespaces {!531}}}{74}{subfigure.14.3}} +\@writefile{lof}{\contentsline {subfigure}{\numberline{(d)}{\ignorespaces {!561}}}{74}{subfigure.14.4}} +\@writefile{lof}{\contentsline {subfigure}{\numberline{(e)}{\ignorespaces {!261}}}{74}{subfigure.14.5}} +\@writefile{lof}{\contentsline {figure}{\numberline {D.15}{\ignorespaces Receipt Hardcopy\relax }}{75}{figure.caption.130}} +\@writefile{lof}{\contentsline {subfigure}{\numberline{(a)}{\ignorespaces {?RHCOPY\_EXIST}}}{75}{subfigure.15.1}} +\@writefile{lof}{\contentsline {subfigure}{\numberline{(b)}{\ignorespaces {?RHCOPY\_NEXIST}}}{75}{subfigure.15.2}} +\@writefile{lof}{\contentsline {subfigure}{\numberline{(c)}{\ignorespaces {!560}}}{75}{subfigure.15.3}} +\@writefile{lof}{\contentsline {subfigure}{\numberline{(d)}{\ignorespaces {!530}}}{75}{subfigure.15.4}} +\@writefile{lof}{\contentsline {subfigure}{\numberline{(e)}{\ignorespaces {!260}}}{75}{subfigure.15.5}} +\@writefile{lof}{\contentsline {figure}{\numberline {D.16}{\ignorespaces Resetcr\relax }}{75}{figure.caption.131}} +\@writefile{lof}{\contentsline {subfigure}{\numberline{(a)}{\ignorespaces {?RESETCR}}}{75}{subfigure.16.1}} +\@writefile{lof}{\contentsline {subfigure}{\numberline{(b)}{\ignorespaces {!531}}}{75}{subfigure.16.2}} +\@writefile{lof}{\contentsline {subfigure}{\numberline{(c)}{\ignorespaces {!202}}}{75}{subfigure.16.3}} +\@writefile{lof}{\contentsline {figure}{\numberline {D.17}{\ignorespaces Resume\relax }}{76}{figure.caption.132}} +\@writefile{lof}{\contentsline {subfigure}{\numberline{(a)}{\ignorespaces {?RESUME}}}{76}{subfigure.17.1}} +\@writefile{lof}{\contentsline {subfigure}{\numberline{(b)}{\ignorespaces {!503}}}{76}{subfigure.17.2}} +\@writefile{lof}{\contentsline {subfigure}{\numberline{(c)}{\ignorespaces {!201}}}{76}{subfigure.17.3}} +\@writefile{lof}{\contentsline {subfigure}{\numberline{(d)}{\ignorespaces {!201}}}{76}{subfigure.17.4}} +\@writefile{lof}{\contentsline {figure}{\numberline {D.18}{\ignorespaces Signoff\relax }}{76}{figure.caption.133}} +\@writefile{lof}{\contentsline {subfigure}{\numberline{(a)}{\ignorespaces {?SIGNOFF}}}{76}{subfigure.18.1}} +\@writefile{lof}{\contentsline {subfigure}{\numberline{(b)}{\ignorespaces {!450}}}{76}{subfigure.18.2}} +\@writefile{lof}{\contentsline {subfigure}{\numberline{(c)}{\ignorespaces {!250}}}{76}{subfigure.18.3}} +\@writefile{lof}{\contentsline {figure}{\numberline {D.19}{\ignorespaces Signon\relax }}{77}{figure.caption.134}} +\@writefile{lof}{\contentsline {subfigure}{\numberline{(a)}{\ignorespaces {?SIGNON\_EXIST}}}{77}{subfigure.19.1}} +\@writefile{lof}{\contentsline {subfigure}{\numberline{(b)}{\ignorespaces {?SIGNON\_NEXIST}}}{77}{subfigure.19.2}} +\@writefile{lof}{\contentsline {subfigure}{\numberline{(c)}{\ignorespaces {!551}}}{77}{subfigure.19.3}} +\@writefile{lof}{\contentsline {subfigure}{\numberline{(d)}{\ignorespaces {!450}}}{77}{subfigure.19.4}} +\@writefile{lof}{\contentsline {subfigure}{\numberline{(e)}{\ignorespaces {!251}}}{77}{subfigure.19.5}} +\@writefile{toc}{\contentsline {chapter}{\numberline {E}Scanflow Cash Register IOSTS}{78}{appendix.E}} \@writefile{lof}{\addvspace {10\p@ }} \@writefile{lot}{\addvspace {10\p@ }} -\newlabel{app:scrp-sts}{{E}{72}{Scanflow Cash Register IOSTS\relax }{appendix.E}{}} +\newlabel{app:scrp-sts}{{E}{78}{Scanflow Cash Register IOSTS\relax }{appendix.E}{}} diff --git a/Final-thesis/report2.log b/Final-thesis/report2.log index 1f58cfb..445ba79 100644 --- a/Final-thesis/report2.log +++ b/Final-thesis/report2.log @@ -1,7 +1,7 @@ -This is pdfTeX, Version 3.1415926-1.40.10 (TeX Live 2009/Debian) (format=pdflatex 2012.9.9) 17 JAN 2013 18:19 +This is pdfTeX, Version 3.1415926-1.40.10 (TeX Live 2009/Debian) (format=pdflatex 2012.9.9) 20 JAN 2013 21:33 entering extended mode %&-line parsing enabled. -**report2.tex +**report2 (./report2.tex LaTeX2e <2009/09/24> Babel and hyphenation patterns for english, usenglishmax, dumylang, noh @@ -755,7 +755,11 @@ Package: enumerate 1999/03/05 v3.00 enumerate extensions (DPC) ) (./symbol-macros.tex) \c@definition=\count150 -(./report2.aux) +(./report2.aux + +LaTeX Warning: Label `fig:gg-fwgc-extended' multiply defined. + +) \openout1 = `report2.aux'. LaTeX Font Info: Checking defaults for OML/cmm/m/it on input line 36. @@ -912,11 +916,11 @@ Underfull \hbox (badness 1748) in paragraph at lines 57--57 ) [5] [6] Chapter 2. (./tex/background-introduction.tex) (./tex/model-based-testing.tex -<./img/model-based-testing.pdf, id=385, 379.58545pt x 141.73691pt> +<./img/model-based-testing.pdf, id=415, 379.58545pt x 141.73691pt> File: ./img/model-based-testing.pdf Graphic file (type pdf) -<./img/mbt-on-the-fly.pdf, id=389, 357.48773pt x 141.7426pt> +<./img/mbt-on-the-fly.pdf, id=419, 357.48773pt x 141.7426pt> File: ./img/mbt-on-the-fly.pdf Graphic file (type pdf) [7 @@ -949,14 +953,14 @@ Underfull \hbox (badness 10000) in paragraph at lines 166--166 (./img/priority-example/add_rhs.tex ) (./img/priority-example/sub_lhs.tex ) (./img/priority-example/sub_rhs.tex )) (./tex/tooling.tex -<./img/atm-diagram.pdf, id=555, 513.8086pt x 289.56181pt> +<./img/atm-diagram.pdf, id=585, 513.8086pt x 289.56181pt> File: ./img/atm-diagram.pdf Graphic file (type pdf) LaTeX Warning: `h' float specifier changed to `ht'. -[17] <./img/groove-diagram.pdf, id=576, 362.04158pt x 220.67444pt> +[17] <./img/groove-diagram.pdf, id=606, 362.04158pt x 220.67444pt> File: ./img/groove-diagram.pdf Graphic file (type pdf) @@ -1033,20 +1037,20 @@ Overfull \hbox (13.86055pt too wide) in paragraph at lines 1--41 (./img/item_example_c4_rhs.tex )) [30] Chapter 4. (./tex/implementation.tex -<./img/gratis_diagram.pdf, id=801, 465.09459pt x 260.6538pt> +<./img/gratis_diagram.pdf, id=831, 465.09459pt x 260.6538pt> File: ./img/gratis_diagram.pdf Graphic file (type pdf) [31 <./img/gratis_diagram.pdf>] -<./img/strategy.pdf, id=821, 202.07094pt x 136.22896pt> +<./img/strategy.pdf, id=851, 202.07094pt x 136.22896pt> File: ./img/strategy.pdf Graphic file (type pdf) - <./img/STS.pdf, id=824, 305.98314pt x 218.23532pt> + <./img/STS.pdf, id=854, 305.98314pt x 218.23532pt> File: ./img/STS.pdf Graphic file (type pdf) [32 <./img/strategy.pdf>] -<./img/STS_objects.pdf, id=853, 485.85414pt x 309.55649pt> +<./img/STS_objects.pdf, id=883, 485.85414pt x 309.55649pt> File: ./img/STS_objects.pdf Graphic file (type pdf) @@ -1071,7 +1075,7 @@ n-sief emails gewis-seld met Lodewijk Bergmans ) (./tex/all-examples.tex [35] [36] [37] (./img/start-reservation.tikz) (./img/makeReservation.tikz) -<./img/scanflow.jpg, id=919, 359.3425pt x 377.41pt> +<./img/scanflow.jpg, id=951, 359.3425pt x 377.41pt> File: ./img/scanflow.jpg Graphic file (type jpg) Underfull \hbox (badness 2735) in paragraph at lines 155--156 @@ -1092,29 +1096,87 @@ Overfull \hbox (8.39388pt too wide) in paragraph at lines 236--253 (./img/scrp/account.open.success.tikz) (./img/scrp/account.open.invalid_ss_on.tikz) (./img/scrp/general_responses.not_signed_on.tikz) -(./img/scrp/account.close.success.tikz) [41]) [42] (./report2.bbl [43 +(./img/scrp/account.close.success.tikz) [41]) +(./tex/measurements_on_examples.tex +Underfull \hbox (badness 1107) in paragraph at lines 3--3 +\T1/cmr/m/n/10 ify this us- + [] + + +Overfull \hbox (2.3886pt too wide) in paragraph at lines 13--19 + [] + [] + -] [44]) -[45] (./symbols.tex [46 +Overfull \hbox (2.3886pt too wide) in paragraph at lines 30--36 +[][] + [] + + +Overfull \hbox (2.3886pt too wide) in paragraph at lines 47--53 + [] + [] -]) [47] +[42] +Underfull \hbox (badness 10000) in paragraph at lines 101--101 +[]\T1/cmr/m/n/10 Deze + [] + + +Underfull \hbox (badness 10000) in paragraph at lines 101--101 +\T1/cmr/m/n/10 metin-gen + [] + + +Underfull \hbox (badness 10000) in paragraph at lines 101--101 +\T1/cmr/m/n/10 gechecked + [] + +(./img/start-bg-extended.tikz) (./img/nextTurn-bg-extended.tikz) [43] +(./img/fwgc/eaten-undo-fwgc.tikz) (./img/fwgc/c-fwgc-extended.tikz) +(./img/fwgc/g-fwgc-extended.tikz) (./img/fwgc/w-fwgc-extended.tikz) +(./img/fwgc/n-fwgc-extended.tikz) +Overfull \hbox (72.14275pt too wide) in paragraph at lines 148--169 +[]$ + [] + +[44] (./img/start-tab-extended.tikz) (./img/process_discount-extended.tikz) +(./img/order-extended.tikz) (./img/discount-extended.tikz) +(./img/process_order-extended.tikz) + +LaTeX Warning: Float too large for page by 9.90907pt on input line 191. + +(./img/sts_tab-extended.tex ) (./img/start-scrp-extended.tikz) +(./img/scrp/account.open.success-extended.tikz) +(./img/scrp/account.open.invalid_ss_on-extended.tikz) +(./img/scrp/account.close.success-extended.tikz)) [45] (./report2.bbl [46] +[47] [48] [49 + +] [50]) [51] (./symbols.tex [52 + +]) [53] Appendix A. (./img/fwgc/start-fwgc.tikz) (./img/fwgc/n-fwgc.tikz) (./img/fwgc/w-fwgc.tikz) (./img/fwgc/w-invalid-fwgc.tikz) (./img/fwgc/g-fwgc.tikz) (./img/fwgc/g-invalid-fwgc.tikz) (./img/fwgc/c-fwgc.tikz) (./img/fwgc/c-invalid-fwgc.tikz) (./img/fwgc/retry-fwgc.tikz) -(./img/fwgc/eaten-reinit-fwgc.tikz) (./img/fwgc/done-fwgc.tikz) [48 +(./img/fwgc/eaten-reinit-fwgc.tikz) (./img/fwgc/done-fwgc.tikz) [54 -] [49] +] [55] Appendix B. (./img/start-tab.tikz) (./img/order-tab.tikz) (./img/process_order.tikz) -(./img/pay-tab.tikz) (./img/process_payment.tikz) [50 +(./img/pay-tab.tikz) (./img/process_payment.tikz) [56 ] Appendix C. (./tex/scrp_commands_responses.tex -<./img/account_lifecycle.png, id=1075, 590.205pt x 591.20876pt> +<./img/account_lifecycle.png, id=1179, 590.205pt x 591.20876pt> File: ./img/account_lifecycle.png Graphic file (type png) @@ -1122,7 +1184,7 @@ Overfull \hbox (3.4369pt too wide) in paragraph at lines 31--36 [] [] -[51 +[57 ] Overfull \hbox (3.4369pt too wide) in paragraph at lines 38--43 @@ -1139,7 +1201,7 @@ Overfull \hbox (3.4369pt too wide) in paragraph at lines 54--60 [] [] -[52 <./img/account_lifecycle.png (PNG copy)>] +[58 <./img/account_lifecycle.png (PNG copy)>] Overfull \hbox (3.4369pt too wide) in paragraph at lines 62--68 [] [] @@ -1159,7 +1221,7 @@ Overfull \hbox (3.4369pt too wide) in paragraph at lines 88--93 [] [] -[53] +[59] Overfull \hbox (3.4369pt too wide) in paragraph at lines 95--103 [] [] @@ -1169,7 +1231,7 @@ Overfull \hbox (3.4369pt too wide) in paragraph at lines 105--115 [] [] -[54] +[60] Overfull \hbox (3.4369pt too wide) in paragraph at lines 117--125 [] [] @@ -1184,7 +1246,7 @@ Overfull \hbox (3.4369pt too wide) in paragraph at lines 136--142 [] [] -[55] +[61] Overfull \hbox (3.4369pt too wide) in paragraph at lines 144--150 [] [] @@ -1204,7 +1266,7 @@ Overfull \hbox (3.4369pt too wide) in paragraph at lines 171--177 [] [] -[56]) +[62]) Overfull \hbox (3.4369pt too wide) in paragraph at lines 179--147 [] [] @@ -1214,14 +1276,14 @@ Underfull \hbox (badness 10000) in paragraph at lines 179--147 [] -[57] +[63] Appendix D. (./scrp_figures.tex (./img/scrp/account.article_registration.request_exist.tikz ) (./img/scrp/account.article_registration.request_nexist.tikz) (./img/scrp/account.article_registration.displays.tikz) (./img/scrp/account.article_registration.invalid_ss_on.tikz) (./img/scrp/account.article_registration.no_such_article.tikz) -(./img/scrp/account.article_registration.success.tikz) [58 +(./img/scrp/account.article_registration.success.tikz) [64 ] (./img/scrp/account.article_return.request_exist.tikz) @@ -1230,28 +1292,28 @@ Appendix D. (./img/scrp/account.article_return.invalid_ss_on.tikz) (./img/scrp/account.article_return.no_such_article.tikz) (./img/scrp/account.article_return.no_such_article_registered.tikz) -(./img/scrp/account.article_return.success.tikz) [59] +(./img/scrp/account.article_return.success.tikz) [65] (./img/scrp/account.close.request.tikz) (./img/scrp/account.close.displays.tikz ) (./img/scrp/account.close.invalid_ss_on.tikz) -(./img/scrp/account.close.success.tikz) [60] +(./img/scrp/account.close.success.tikz) [66] (./img/scrp/account.ending.request.tikz) (./img/scrp/account.ending.invalid_ss_on.tikz) -(./img/scrp/account.ending.success.tikz) [61] +(./img/scrp/account.ending.success.tikz) [67] (./img/scrp/account.endtotal.request.tikz) (./img/scrp/account.endtotal.displays.tikz) (./img/scrp/account.endtotal.invalid_ss_on.tikz) -(./img/scrp/account.endtotal.success.tikz) [62] +(./img/scrp/account.endtotal.success.tikz) [68] (./img/scrp/account.open.request.tikz) (./img/scrp/account.open.request_exist.tikz) (./img/scrp/account.open.request_nexist.tikz) (./img/scrp/account.open.invalid_ss_on.tikz) (./img/scrp/account.open.no_such_account.tikz) -(./img/scrp/account.open.success.tikz) [63] +(./img/scrp/account.open.success.tikz) [69] (./img/scrp/account.stamp_registration.request.tikz) (./img/scrp/account.stamp_registration.displays.tikz) (./img/scrp/account.stamp_registration.invalid_ss_on.tikz) (./img/scrp/account.stamp_registration.no_such_article.tikz) -(./img/scrp/account.stamp_registration.success.tikz) [64] +(./img/scrp/account.stamp_registration.success.tikz) [70] (./img/scrp/account.trans.request_tm_bank.tikz) (./img/scrp/account.trans.request_tm_cash.tikz) (./img/scrp/account.trans.request_tm_store.tikz) @@ -1285,7 +1347,7 @@ Appendix D. (./img/scrp/signon.request_nexist.tikz) (./img/scrp/signon.signing_auth_failed.tikz) (./img/scrp/signon.signing_rejected.tikz) (./img/scrp/signon.success.tikz)) -[65] [66] [67] [68] [69] [70] [71] +[71] [72] [73] [74] [75] [76] [77] Appendix E. (./iosts_scrp.tex Overfull \hbox (30.78506pt too wide) in paragraph at lines 6--7 @@ -1318,71 +1380,74 @@ Underfull \hbox (badness 6658) in paragraph at lines 7--8 \T1/cmr/m/n/10 ?ARTRET_NEXIST, ?RE-SETCR, !512, !213, ?SIG-NOFF, ?END-TOT, [] -[72 +[78 -] [73] [74] [75] [76] [77] [78] [79] [80] [81] [82] [83] [84] [85] [86] -[87] [88] [89] -Underfull \hbox (badness 10000) in paragraph at lines 750--751 +] [79] [80] [81] [82] [83] [84] [85] [86] [87] [88] [89] [90] [91] [92] +[93] +Underfull \hbox (badness 10000) in paragraph at lines 705--706 []|$[] [] []\OML/cmm/m/it/10 ; [] [] [] -Underfull \hbox (badness 10000) in paragraph at lines 762--763 +Underfull \hbox (badness 10000) in paragraph at lines 717--718 []|$[] [] []\OML/cmm/m/it/10 ; [] [] [] -Underfull \hbox (badness 10000) in paragraph at lines 763--764 +Underfull \hbox (badness 10000) in paragraph at lines 718--719 []|$[] [] []\OML/cmm/m/it/10 ; [] [] [] -Underfull \hbox (badness 10000) in paragraph at lines 766--767 +Underfull \hbox (badness 10000) in paragraph at lines 721--722 []|$[] [] []\OML/cmm/m/it/10 ; [] [] [] -[90] +[94] Overfull \vbox (77.92526pt too high) has occurred while \output is active [] -[91] -Underfull \hbox (badness 10000) in paragraph at lines 786--787 +[95] +Underfull \hbox (badness 10000) in paragraph at lines 735--736 []|$[] [] []\OML/cmm/m/it/10 ; [] [] [] -Underfull \hbox (badness 10000) in paragraph at lines 791--792 +Underfull \hbox (badness 10000) in paragraph at lines 740--741 []|$[] [] []\OML/cmm/m/it/10 ; [] [] [] -Underfull \hbox (badness 10000) in paragraph at lines 799--800 +Underfull \hbox (badness 10000) in paragraph at lines 748--749 []|$[] [] []\OML/cmm/m/it/10 ; [] [] [] -Underfull \hbox (badness 10000) in paragraph at lines 800--801 +Underfull \hbox (badness 10000) in paragraph at lines 749--750 []|$[] [] []\OML/cmm/m/it/10 ; [] [] [] -Underfull \hbox (badness 10000) in paragraph at lines 802--803 +Underfull \hbox (badness 10000) in paragraph at lines 751--752 []|$[] [] []\OML/cmm/m/it/10 ; [] [] [] -) [92] (./report2.aux) +) [96] (./report2.aux) LaTeX Warning: There were undefined references. + +LaTeX Warning: There were multiply-defined labels. + ) Here is how much of TeX's memory you used: - 21343 strings out of 495061 - 379744 string characters out of 1182622 - 1036894 words of memory out of 3000000 - 23052 multiletter control sequences out of 15000+50000 + 21757 strings out of 495061 + 387674 string characters out of 1182622 + 1266263 words of memory out of 3000000 + 23366 multiletter control sequences out of 15000+50000 30003 words of font info for 75 fonts, out of 3000000 for 9000 28 hyphenation exceptions out of 8191 - 63i,24n,79p,1530b,1572s stack positions out of 5000i,500n,10000p,200000b,50000s + 63i,24n,79p,1526b,1572s stack positions out of 5000i,500n,10000p,200000b,50000s -Output written on report2.pdf (94 pages, 1200853 bytes). +Output written on report2.pdf (98 pages, 1303845 bytes). PDF statistics: - 2287 PDF objects out of 2487 (max. 8388607) - 500 named destinations out of 1000 (max. 500000) - 511 words of extra memory for PDF output out of 10000 (max. 10000000) + 2398 PDF objects out of 2487 (max. 8388607) + 546 named destinations out of 1000 (max. 500000) + 559 words of extra memory for PDF output out of 10000 (max. 10000000) diff --git a/Final-thesis/report2.out b/Final-thesis/report2.out index 480974d..2fc7be2 100644 --- a/Final-thesis/report2.out +++ b/Final-thesis/report2.out @@ -48,7 +48,13 @@ \BOOKMARK [2][-]{subsection.5.2.3}{Example 3: bar tab system}{section.5.2} \BOOKMARK [2][-]{subsection.5.2.4}{Failed example: restaurant reservations}{section.5.2} \BOOKMARK [2][-]{subsection.5.2.5}{Case study: Scanflow Cash Register Protocol}{section.5.2} -\BOOKMARK [0][-]{chapter*.71}{List of Symbols}{} +\BOOKMARK [1][-]{section.5.3}{Measurements on examples}{chapter.5} +\BOOKMARK [2][-]{subsection.5.3.1}{Simulation and redundancy}{section.5.3} +\BOOKMARK [2][-]{subsection.5.3.2}{Performance}{section.5.3} +\BOOKMARK [2][-]{subsection.5.3.3}{Model complexity}{section.5.3} +\BOOKMARK [2][-]{subsection.5.3.4}{Extendability}{section.5.3} +\BOOKMARK [1][-]{section.5.4}{Conclusions}{chapter.5} +\BOOKMARK [0][-]{chapter*.90}{List of Symbols}{} \BOOKMARK [0][-]{appendix.A}{Farmer-Wolf-Goat-Cabbage IOGG}{} \BOOKMARK [0][-]{appendix.B}{Bar Tab IOGG}{} \BOOKMARK [0][-]{appendix.C}{SCRP Commands \046 Responses}{} diff --git a/Final-thesis/report2.pdf b/Final-thesis/report2.pdf index b49cc4323172e739636b3ead0d9f1139958cc4db..86993901b37ef2b4333a2ecf5323983875f55bbd 100644 GIT binary patch delta 281819 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

|TVQ$5hJ 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