mirror of
https://github.com/13hannes11/bachelor_thesis.git
synced 2024-09-04 01:11:00 +02:00
Compare commits
85 Commits
v0.2-propo
...
v0.3-outli
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
74a43bc4f8 | ||
|
|
3f7c946d3a | ||
|
|
c3a9560158 | ||
|
|
f8d60fd7d0 | ||
|
|
d7a8f50e3f | ||
|
|
c5d26425f6 | ||
|
|
47d7b840ce | ||
|
|
874911b6d4 | ||
|
|
da4280c09f | ||
|
|
e890be70e2 | ||
|
|
7a70f163ce | ||
|
|
4f6f6b3341 | ||
|
|
c18f6f707d | ||
|
|
dfca4311cf | ||
|
|
f238c14008 | ||
|
|
ee80803523 | ||
|
|
8236ddbc0e | ||
|
|
8f24e5e5a8 | ||
|
|
f7963ace4e | ||
|
|
70f57edcd4 | ||
|
|
fbed52b5f2 | ||
|
|
ad68c4c3d7 | ||
|
|
291332c064 | ||
|
|
52c728c526 | ||
|
|
09073917ec | ||
|
|
78b4e53b63 | ||
|
|
adb6a130d1 | ||
|
|
5ca60de0b1 | ||
|
|
c2915277a1 | ||
|
|
c88cd547ad | ||
|
|
663076d5ff | ||
|
|
5fe23a3cf4 | ||
|
|
559c73ce87 | ||
|
|
67fd239a81 | ||
|
|
6805d7754e | ||
|
|
43a30c1151 | ||
|
|
7015de5420 | ||
|
|
406b8c2319 | ||
|
|
bb4350eef7 | ||
|
|
cc722fc731 | ||
|
|
5df65183cd | ||
|
|
f8a75c2a34 | ||
|
|
93e9e56dad | ||
|
|
afc1e599d3 | ||
|
|
24a28d7df9 | ||
|
|
50785d1bb0 | ||
|
|
9cd40fdf11 | ||
|
|
021409388b | ||
|
|
f4ae12b425 | ||
|
|
e5f4817701 | ||
|
|
e22f433ec5 | ||
|
|
976abdbc4e | ||
|
|
344ff6a637 | ||
|
|
bdddefa43f | ||
|
|
e2c391d3af | ||
|
|
21e939bfbc | ||
|
|
cd0263334e | ||
|
|
c5598159ea | ||
|
|
25935e3b3f | ||
|
|
2488c182bb | ||
|
|
c3ef39327f | ||
|
|
5af9467c48 | ||
|
|
fba4deaab1 | ||
|
|
fa5f817151 | ||
|
|
8690b4402e | ||
|
|
14d864ee35 | ||
|
|
cc0e224357 | ||
|
|
439f423319 | ||
|
|
ed509d04e1 | ||
|
|
1aa416821f | ||
|
|
c92021ae70 | ||
|
|
362c6d15da | ||
|
|
8584427d63 | ||
|
|
08395c9dc1 | ||
|
|
44e7e14bce | ||
|
|
11b424a4ff | ||
|
|
a41a1a90b3 | ||
|
|
f1782b8242 | ||
|
|
4b2a438868 | ||
|
|
5098a7ff7f | ||
|
|
0d7ab55455 | ||
|
|
168b4421f9 | ||
|
|
537ac8eefb | ||
|
|
e08c26e942 | ||
|
|
1b6f6ef771 |
1
.gitignore
vendored
1
.gitignore
vendored
@@ -3,6 +3,7 @@
|
|||||||
topic.pdf
|
topic.pdf
|
||||||
thesis.pdf
|
thesis.pdf
|
||||||
proposal.pdf
|
proposal.pdf
|
||||||
|
outline.pdf
|
||||||
|
|
||||||
.vscode
|
.vscode
|
||||||
|
|
||||||
|
|||||||
BIN
25_Outline/figures/MerlinCollabRecommender.pdf
Normal file
BIN
25_Outline/figures/MerlinCollabRecommender.pdf
Normal file
Binary file not shown.
BIN
25_Outline/figures/MerlinCollaborativeConfigurator.pdf
Normal file
BIN
25_Outline/figures/MerlinCollaborativeConfigurator.pdf
Normal file
Binary file not shown.
BIN
25_Outline/figures/MerlinConfigurator.pdf
Normal file
BIN
25_Outline/figures/MerlinConfigurator.pdf
Normal file
Binary file not shown.
Binary file not shown.
BIN
25_Outline/figures/bpmn_evaluation_input_data_generation.pdf
Normal file
BIN
25_Outline/figures/bpmn_evaluation_input_data_generation.pdf
Normal file
Binary file not shown.
BIN
25_Outline/logos/cas_software_logo.pdf
Normal file
BIN
25_Outline/logos/cas_software_logo.pdf
Normal file
Binary file not shown.
BIN
25_Outline/logos/fzi_logo.pdf
Normal file
BIN
25_Outline/logos/fzi_logo.pdf
Normal file
Binary file not shown.
BIN
25_Outline/logos/iism_logo.pdf
Normal file
BIN
25_Outline/logos/iism_logo.pdf
Normal file
Binary file not shown.
BIN
25_Outline/logos/kitlogo_de_cmyk.eps
Normal file
BIN
25_Outline/logos/kitlogo_de_cmyk.eps
Normal file
Binary file not shown.
BIN
25_Outline/logos/kitlogo_de_cmyk.pdf
Normal file
BIN
25_Outline/logos/kitlogo_de_cmyk.pdf
Normal file
Binary file not shown.
9475
25_Outline/logos/kitlogo_en_cmyk.eps
Normal file
9475
25_Outline/logos/kitlogo_en_cmyk.eps
Normal file
File diff suppressed because one or more lines are too long
BIN
25_Outline/logos/kitlogo_en_cmyk.pdf
Normal file
BIN
25_Outline/logos/kitlogo_en_cmyk.pdf
Normal file
Binary file not shown.
751
25_Outline/logos/sdqlogo.eps
Normal file
751
25_Outline/logos/sdqlogo.eps
Normal file
@@ -0,0 +1,751 @@
|
|||||||
|
%!PS-Adobe-3.0 EPSF-3.0
|
||||||
|
%%Creator: cairo 1.11.2 (http://cairographics.org)
|
||||||
|
%%CreationDate: Wed Oct 22 16:58:22 2014
|
||||||
|
%%Pages: 1
|
||||||
|
%%DocumentData: Clean7Bit
|
||||||
|
%%LanguageLevel: 3
|
||||||
|
%%BoundingBox: 0 -1 556 280
|
||||||
|
%%EndComments
|
||||||
|
%%BeginProlog
|
||||||
|
/cairo_eps_state save def
|
||||||
|
/dict_count countdictstack def
|
||||||
|
/op_count count 1 sub def
|
||||||
|
userdict begin
|
||||||
|
/q { gsave } bind def
|
||||||
|
/Q { grestore } bind def
|
||||||
|
/cm { 6 array astore concat } bind def
|
||||||
|
/w { setlinewidth } bind def
|
||||||
|
/J { setlinecap } bind def
|
||||||
|
/j { setlinejoin } bind def
|
||||||
|
/M { setmiterlimit } bind def
|
||||||
|
/d { setdash } bind def
|
||||||
|
/m { moveto } bind def
|
||||||
|
/l { lineto } bind def
|
||||||
|
/c { curveto } bind def
|
||||||
|
/h { closepath } bind def
|
||||||
|
/re { exch dup neg 3 1 roll 5 3 roll moveto 0 rlineto
|
||||||
|
0 exch rlineto 0 rlineto closepath } bind def
|
||||||
|
/S { stroke } bind def
|
||||||
|
/f { fill } bind def
|
||||||
|
/f* { eofill } bind def
|
||||||
|
/n { newpath } bind def
|
||||||
|
/W { clip } bind def
|
||||||
|
/W* { eoclip } bind def
|
||||||
|
/BT { } bind def
|
||||||
|
/ET { } bind def
|
||||||
|
/pdfmark where { pop globaldict /?pdfmark /exec load put }
|
||||||
|
{ globaldict begin /?pdfmark /pop load def /pdfmark
|
||||||
|
/cleartomark load def end } ifelse
|
||||||
|
/BDC { mark 3 1 roll /BDC pdfmark } bind def
|
||||||
|
/EMC { mark /EMC pdfmark } bind def
|
||||||
|
/cairo_store_point { /cairo_point_y exch def /cairo_point_x exch def } def
|
||||||
|
/Tj { show currentpoint cairo_store_point } bind def
|
||||||
|
/TJ {
|
||||||
|
{
|
||||||
|
dup
|
||||||
|
type /stringtype eq
|
||||||
|
{ show } { -0.001 mul 0 cairo_font_matrix dtransform rmoveto } ifelse
|
||||||
|
} forall
|
||||||
|
currentpoint cairo_store_point
|
||||||
|
} bind def
|
||||||
|
/cairo_selectfont { cairo_font_matrix aload pop pop pop 0 0 6 array astore
|
||||||
|
cairo_font exch selectfont cairo_point_x cairo_point_y moveto } bind def
|
||||||
|
/Tf { pop /cairo_font exch def /cairo_font_matrix where
|
||||||
|
{ pop cairo_selectfont } if } bind def
|
||||||
|
/Td { matrix translate cairo_font_matrix matrix concatmatrix dup
|
||||||
|
/cairo_font_matrix exch def dup 4 get exch 5 get cairo_store_point
|
||||||
|
/cairo_font where { pop cairo_selectfont } if } bind def
|
||||||
|
/Tm { 2 copy 8 2 roll 6 array astore /cairo_font_matrix exch def
|
||||||
|
cairo_store_point /cairo_font where { pop cairo_selectfont } if } bind def
|
||||||
|
/g { setgray } bind def
|
||||||
|
/rg { setrgbcolor } bind def
|
||||||
|
/d1 { setcachedevice } bind def
|
||||||
|
%%EndProlog
|
||||||
|
%%Page: 1 1
|
||||||
|
%%BeginPageSetup
|
||||||
|
%%PageBoundingBox: 0 -1 556 280
|
||||||
|
%%EndPageSetup
|
||||||
|
q 0 -1 556 281 rectclip q
|
||||||
|
0 279.189 556 -280 re W n
|
||||||
|
/CairoFunction
|
||||||
|
<< /FunctionType 3
|
||||||
|
/Domain [ 0 1 ]
|
||||||
|
/Functions [
|
||||||
|
<< /FunctionType 2
|
||||||
|
/Domain [ 0 1 ]
|
||||||
|
/C0 [ 0.27451 0.392157 0.666667 ]
|
||||||
|
/C1 [ 0.490196 0.572549 0.764706 ]
|
||||||
|
/N 1
|
||||||
|
>>
|
||||||
|
<< /FunctionType 2
|
||||||
|
/Domain [ 0 1 ]
|
||||||
|
/C0 [ 0.490196 0.572549 0.764706 ]
|
||||||
|
/C1 [ 0.27451 0.392157 0.666667 ]
|
||||||
|
/N 1
|
||||||
|
>>
|
||||||
|
]
|
||||||
|
/Bounds [ 0.503704 ]
|
||||||
|
/Encode [ 1 1 2 { pop 0 1 } for ]
|
||||||
|
>>
|
||||||
|
def
|
||||||
|
<< /PatternType 2
|
||||||
|
/Shading
|
||||||
|
<< /ShadingType 2
|
||||||
|
/ColorSpace /DeviceRGB
|
||||||
|
/Coords [ 346.896576 493.657867 219.976471 215.35788 ]
|
||||||
|
/Domain [ 0 1 ]
|
||||||
|
/Extend [ true true ]
|
||||||
|
/Function CairoFunction
|
||||||
|
>>
|
||||||
|
>>
|
||||||
|
[ 0.999999 0 0 -0.999999 -25.387143 494.094659 ]
|
||||||
|
makepattern setpattern
|
||||||
|
1.531 277.658 m 514.359 277.658 l 524.688 277.658 534.953 273.404 542.254
|
||||||
|
266.103 c 549.559 258.798 553.809 248.537 553.809 238.209 c 553.809 1.517
|
||||||
|
l 40.98 1.517 l 30.652 1.517 20.387 5.767 13.082 13.072 c 5.781 20.377
|
||||||
|
1.531 30.638 1.531 40.966 c h
|
||||||
|
f
|
||||||
|
0.301961 g
|
||||||
|
3.06 w
|
||||||
|
1 J
|
||||||
|
1 j
|
||||||
|
[] 0.0 d
|
||||||
|
3 M q 1 0 0 -1 0 279.189087 cm
|
||||||
|
1.531 1.531 m 514.359 1.531 l 524.688 1.531 534.953 5.785 542.254 13.086
|
||||||
|
c 549.559 20.391 553.809 30.652 553.809 40.98 c 553.809 277.672 l 40.98
|
||||||
|
277.672 l 30.652 277.672 20.387 273.422 13.082 266.117 c 5.781 258.813
|
||||||
|
1.531 248.551 1.531 238.223 c h
|
||||||
|
S Q
|
||||||
|
0.780392 0.815686 0.898039 rg
|
||||||
|
3.119995 w
|
||||||
|
q -1 0 0 1 0 279.189087 cm
|
||||||
|
-404.133 -117.703 m -398.957 -117.703 -393.816 -119.832 -390.16 -123.492
|
||||||
|
c -386.5 -127.148 -384.371 -132.289 -384.371 -137.465 c -384.371 -142.637
|
||||||
|
-386.5 -147.777 -390.16 -151.438 c -393.816 -155.094 -398.957 -157.223
|
||||||
|
-404.133 -157.223 c S Q
|
||||||
|
3.119995 w
|
||||||
|
q 1 0 0 -1 0 279.189087 cm
|
||||||
|
417.305 137.738 m 417.305 144.563 411.777 150.09 404.953 150.09 c 398.133
|
||||||
|
150.09 392.605 144.563 392.605 137.738 c 392.605 130.918 398.133 125.391
|
||||||
|
404.953 125.391 c 411.777 125.391 417.305 130.918 417.305 137.738 c h
|
||||||
|
S Q
|
||||||
|
3.119995 w
|
||||||
|
q 1 0 0 -1 0 279.189087 cm
|
||||||
|
417.277 136.918 m 431.027 136.918 l S Q
|
||||||
|
3.119995 w
|
||||||
|
q 1 0 0 -1 0 279.189087 cm
|
||||||
|
375.586 136.918 m 384.367 136.918 l S Q
|
||||||
|
3.119995 w
|
||||||
|
q 0 -1 -1 0 0 279.189087 cm
|
||||||
|
110.566 -375.586 m 163.27 -375.586 l S Q
|
||||||
|
3.119995 w
|
||||||
|
q 1 0 0 -1 0 279.189087 cm
|
||||||
|
336.641 110.566 m 374.492 110.566 l S Q
|
||||||
|
3.119995 w
|
||||||
|
q 1 0 0 -1 0 279.189087 cm
|
||||||
|
350.465 163.266 m 375.586 163.266 l S Q
|
||||||
|
3.119995 w
|
||||||
|
q 0 -1 -1 0 0 279.189087 cm
|
||||||
|
110.566 -431.023 m 163.27 -431.023 l S Q
|
||||||
|
3.119995 w
|
||||||
|
q 1 0 0 -1 0 279.189087 cm
|
||||||
|
431.027 110.566 m 473.457 110.566 l S Q
|
||||||
|
3.119995 w
|
||||||
|
q 1 0 0 -1 0 279.189087 cm
|
||||||
|
431.027 163.266 m 459.629 163.266 l S Q
|
||||||
|
2.975854 w
|
||||||
|
[ 2.975854 5.951709] 0 d
|
||||||
|
q -0.314992 -1 -1 0.314992 0 279.189087 cm
|
||||||
|
-21.932 -407.099 m -2.487 -407.099 l S Q
|
||||||
|
1 0.709804 0 rg
|
||||||
|
368.52 221.244 m 368.52 176.584 l 457.84 176.584 l 457.84 206.357 l 435.512
|
||||||
|
221.244 l h
|
||||||
|
f
|
||||||
|
0.780392 0.815686 0.898039 rg
|
||||||
|
3.119995 w
|
||||||
|
[] 0.0 d
|
||||||
|
q 1 0 0 -1 0 279.189087 cm
|
||||||
|
368.52 57.945 m 368.52 102.605 l 457.84 102.605 l 457.84 72.832 l 435.512
|
||||||
|
57.945 l h
|
||||||
|
S Q
|
||||||
|
0.4 g
|
||||||
|
387.691 203.634 m 386.285 203.634 l 384.297 206.935 l 382.301 203.634 l
|
||||||
|
380.914 203.634 l 383.633 207.81 l 381.133 211.806 l 382.453 211.806 l
|
||||||
|
384.32 208.728 l 386.203 211.806 l 387.484 211.806 l 384.977 207.861 l h
|
||||||
|
f
|
||||||
|
415.207 207.673 m 409.832 207.673 l 409.832 208.591 l 415.207 208.591 l
|
||||||
|
h
|
||||||
|
415.207 205.498 m 409.832 205.498 l 409.832 206.416 l 415.207 206.416 l
|
||||||
|
h
|
||||||
|
f
|
||||||
|
422.285 203.634 m 417.152 203.634 l 417.152 204.65 l 419.254 204.65 l 419.254
|
||||||
|
210.611 l 417.297 209.548 l 416.895 210.474 l 419.496 211.841 l 420.457
|
||||||
|
211.841 l 420.457 204.65 l 422.285 204.65 l h
|
||||||
|
f
|
||||||
|
426.57 205.603 m 426.711 205.603 426.848 205.58 426.973 205.525 c 427.102
|
||||||
|
205.47 427.211 205.396 427.305 205.298 c 427.398 205.205 427.473 205.091
|
||||||
|
427.527 204.963 c 427.582 204.838 427.609 204.701 427.609 204.556 c 427.609
|
||||||
|
204.412 427.582 204.279 427.527 204.154 c 427.473 204.029 427.398 203.92
|
||||||
|
427.305 203.826 c 427.211 203.732 427.102 203.658 426.973 203.603 c 426.848
|
||||||
|
203.552 426.711 203.525 426.57 203.525 c 426.426 203.525 426.289 203.552
|
||||||
|
426.164 203.603 c 426.039 203.658 425.93 203.732 425.836 203.826 c 425.742
|
||||||
|
203.92 425.668 204.029 425.613 204.154 c 425.559 204.279 425.535 204.412
|
||||||
|
425.535 204.556 c 425.535 204.701 425.559 204.838 425.613 204.963 c 425.668
|
||||||
|
205.091 425.742 205.205 425.836 205.298 c 425.93 205.396 426.039 205.47
|
||||||
|
426.164 205.525 c 426.289 205.58 426.426 205.603 426.57 205.603 c h
|
||||||
|
f
|
||||||
|
436.641 207.716 m 436.641 207.091 436.578 206.521 436.453 206.009 c 436.328
|
||||||
|
205.494 436.137 205.052 435.883 204.681 c 435.629 204.314 435.313 204.029
|
||||||
|
434.938 203.826 c 434.559 203.627 434.117 203.525 433.609 203.525 c 433.172
|
||||||
|
203.525 432.773 203.607 432.414 203.771 c 432.055 203.935 431.75 204.189
|
||||||
|
431.496 204.529 c 431.242 204.873 431.047 205.306 430.91 205.838 c 430.77
|
||||||
|
206.365 430.703 206.994 430.703 207.716 c 430.703 208.341 430.766 208.912
|
||||||
|
430.895 209.431 c 431.02 209.947 431.211 210.388 431.461 210.759 c 431.715
|
||||||
|
211.127 432.027 211.412 432.41 211.615 c 432.789 211.818 433.23 211.916
|
||||||
|
433.734 211.916 c 434.172 211.916 434.57 211.834 434.926 211.67 c 435.285
|
||||||
|
211.505 435.59 211.252 435.848 210.908 c 436.102 210.564 436.297 210.127
|
||||||
|
436.434 209.599 c 436.57 209.068 436.641 208.443 436.641 207.716 c h
|
||||||
|
435.539 207.681 m 435.539 207.822 435.535 207.963 435.523 208.103 c 435.512
|
||||||
|
208.24 435.504 208.377 435.488 208.509 c 432.035 205.943 l 432.098 205.724
|
||||||
|
432.176 205.525 432.27 205.341 c 432.367 205.158 432.48 205.002 432.617
|
||||||
|
204.869 c 432.754 204.74 432.906 204.638 433.082 204.564 c 433.254 204.49
|
||||||
|
433.449 204.455 433.672 204.455 c 433.953 204.455 434.211 204.525 434.441
|
||||||
|
204.662 c 434.676 204.798 434.871 205.002 435.035 205.275 c 435.195 205.545
|
||||||
|
435.32 205.88 435.41 206.283 c 435.496 206.685 435.539 207.15 435.539 207.681
|
||||||
|
c h
|
||||||
|
431.801 207.755 m 431.801 207.627 431.805 207.498 431.805 207.369 c 431.809
|
||||||
|
207.24 431.813 207.115 431.828 206.994 c 435.285 209.548 l 435.223 209.759
|
||||||
|
435.141 209.955 435.047 210.13 c 434.949 210.306 434.836 210.455 434.703
|
||||||
|
210.584 c 434.57 210.709 434.418 210.81 434.246 210.88 c 434.074 210.951
|
||||||
|
433.883 210.986 433.672 210.986 c 433.387 210.986 433.129 210.916 432.898
|
||||||
|
210.779 c 432.668 210.642 432.473 210.439 432.309 210.166 c 432.145 209.892
|
||||||
|
432.02 209.552 431.934 209.15 c 431.848 208.752 431.801 208.283 431.801
|
||||||
|
207.755 c h
|
||||||
|
f
|
||||||
|
443.691 207.716 m 443.691 207.091 443.629 206.521 443.504 206.009 c 443.379
|
||||||
|
205.494 443.188 205.052 442.934 204.681 c 442.68 204.314 442.363 204.029
|
||||||
|
441.988 203.826 c 441.609 203.627 441.168 203.525 440.66 203.525 c 440.223
|
||||||
|
203.525 439.824 203.607 439.465 203.771 c 439.105 203.935 438.801 204.189
|
||||||
|
438.547 204.529 c 438.293 204.873 438.098 205.306 437.957 205.838 c 437.82
|
||||||
|
206.365 437.754 206.994 437.754 207.716 c 437.754 208.341 437.816 208.912
|
||||||
|
437.941 209.431 c 438.07 209.947 438.258 210.388 438.512 210.759 c 438.762
|
||||||
|
211.127 439.078 211.412 439.457 211.615 c 439.836 211.818 440.277 211.916
|
||||||
|
440.785 211.916 c 441.223 211.916 441.617 211.834 441.977 211.67 c 442.336
|
||||||
|
211.505 442.641 211.252 442.895 210.908 c 443.148 210.564 443.348 210.127
|
||||||
|
443.484 209.599 c 443.621 209.068 443.691 208.443 443.691 207.716 c h
|
||||||
|
442.59 207.681 m 442.59 207.822 442.586 207.963 442.574 208.103 c 442.563
|
||||||
|
208.24 442.551 208.377 442.539 208.509 c 439.082 205.943 l 439.145 205.724
|
||||||
|
439.227 205.525 439.32 205.341 c 439.418 205.158 439.531 205.002 439.668
|
||||||
|
204.869 c 439.805 204.74 439.957 204.638 440.129 204.564 c 440.305 204.49
|
||||||
|
440.5 204.455 440.723 204.455 c 441.004 204.455 441.262 204.525 441.492
|
||||||
|
204.662 c 441.723 204.798 441.922 205.002 442.082 205.275 c 442.246 205.545
|
||||||
|
442.371 205.88 442.457 206.283 c 442.547 206.685 442.59 207.15 442.59 207.681
|
||||||
|
c h
|
||||||
|
438.852 207.755 m 438.852 207.627 438.852 207.498 438.855 207.369 c 438.855
|
||||||
|
207.24 438.863 207.115 438.879 206.994 c 442.332 209.548 l 442.27 209.759
|
||||||
|
442.191 209.955 442.098 210.13 c 442 210.306 441.887 210.455 441.754 210.584
|
||||||
|
c 441.617 210.709 441.465 210.81 441.297 210.88 c 441.125 210.951 440.934
|
||||||
|
210.986 440.723 210.986 c 440.438 210.986 440.18 210.916 439.949 210.779
|
||||||
|
c 439.719 210.642 439.52 210.439 439.359 210.166 c 439.195 209.892 439.07
|
||||||
|
209.552 438.984 209.15 c 438.895 208.752 438.852 208.283 438.852 207.755
|
||||||
|
c h
|
||||||
|
f
|
||||||
|
387.691 187.634 m 386.285 187.634 l 384.297 190.935 l 382.301 187.634 l
|
||||||
|
380.914 187.634 l 383.633 191.81 l 381.133 195.806 l 382.453 195.806 l
|
||||||
|
384.32 192.728 l 386.203 195.806 l 387.484 195.806 l 384.977 191.861 l h
|
||||||
|
f
|
||||||
|
415.207 191.673 m 409.832 191.673 l 409.832 192.591 l 415.207 192.591 l
|
||||||
|
h
|
||||||
|
415.207 189.498 m 409.832 189.498 l 409.832 190.416 l 415.207 190.416 l
|
||||||
|
h
|
||||||
|
f
|
||||||
|
422.539 191.716 m 422.539 191.091 422.477 190.521 422.352 190.009 c 422.227
|
||||||
|
189.494 422.039 189.052 421.785 188.681 c 421.527 188.314 421.215 188.029
|
||||||
|
420.836 187.826 c 420.461 187.627 420.016 187.525 419.508 187.525 c 419.07
|
||||||
|
187.525 418.672 187.607 418.316 187.771 c 417.957 187.935 417.648 188.189
|
||||||
|
417.395 188.529 c 417.141 188.873 416.945 189.306 416.809 189.838 c 416.672
|
||||||
|
190.365 416.602 190.994 416.602 191.716 c 416.602 192.341 416.664 192.912
|
||||||
|
416.793 193.431 c 416.918 193.947 417.109 194.388 417.363 194.759 c 417.613
|
||||||
|
195.127 417.93 195.412 418.309 195.615 c 418.688 195.818 419.129 195.916
|
||||||
|
419.633 195.916 c 420.07 195.916 420.469 195.834 420.828 195.67 c 421.184
|
||||||
|
195.505 421.492 195.252 421.746 194.908 c 422 194.564 422.195 194.127 422.332
|
||||||
|
193.599 c 422.473 193.068 422.539 192.443 422.539 191.716 c h
|
||||||
|
421.441 191.681 m 421.441 191.822 421.434 191.963 421.426 192.103 c 421.414
|
||||||
|
192.24 421.402 192.377 421.391 192.509 c 417.934 189.943 l 417.996 189.724
|
||||||
|
418.074 189.525 418.172 189.341 c 418.266 189.158 418.383 189.002 418.52
|
||||||
|
188.869 c 418.652 188.74 418.809 188.638 418.98 188.564 c 419.152 188.49
|
||||||
|
419.352 188.455 419.57 188.455 c 419.855 188.455 420.113 188.525 420.344
|
||||||
|
188.662 c 420.574 188.798 420.77 189.002 420.934 189.275 c 421.098 189.545
|
||||||
|
421.223 189.88 421.309 190.283 c 421.395 190.685 421.441 191.15 421.441
|
||||||
|
191.681 c h
|
||||||
|
417.703 191.755 m 417.703 191.627 417.703 191.498 417.707 191.369 c 417.707
|
||||||
|
191.24 417.715 191.115 417.727 190.994 c 421.184 193.548 l 421.121 193.759
|
||||||
|
421.043 193.955 420.945 194.13 c 420.852 194.306 420.734 194.455 420.602
|
||||||
|
194.584 c 420.469 194.709 420.316 194.81 420.145 194.88 c 419.977 194.951
|
||||||
|
419.785 194.986 419.57 194.986 c 419.289 194.986 419.031 194.916 418.801
|
||||||
|
194.779 c 418.566 194.642 418.371 194.439 418.207 194.166 c 418.047 193.892
|
||||||
|
417.922 193.552 417.832 193.15 c 417.746 192.752 417.703 192.283 417.703
|
||||||
|
191.755 c h
|
||||||
|
f
|
||||||
|
426.57 189.603 m 426.711 189.603 426.848 189.58 426.973 189.525 c 427.102
|
||||||
|
189.47 427.211 189.396 427.305 189.298 c 427.398 189.205 427.473 189.091
|
||||||
|
427.527 188.963 c 427.582 188.838 427.609 188.701 427.609 188.556 c 427.609
|
||||||
|
188.412 427.582 188.279 427.527 188.154 c 427.473 188.029 427.398 187.92
|
||||||
|
427.305 187.826 c 427.211 187.732 427.102 187.658 426.973 187.603 c 426.848
|
||||||
|
187.552 426.711 187.525 426.57 187.525 c 426.426 187.525 426.289 187.552
|
||||||
|
426.164 187.603 c 426.039 187.658 425.93 187.732 425.836 187.826 c 425.742
|
||||||
|
187.92 425.668 188.029 425.613 188.154 c 425.559 188.279 425.535 188.412
|
||||||
|
425.535 188.556 c 425.535 188.701 425.559 188.838 425.613 188.963 c 425.668
|
||||||
|
189.091 425.742 189.205 425.836 189.298 c 425.93 189.396 426.039 189.47
|
||||||
|
426.164 189.525 c 426.289 189.58 426.426 189.603 426.57 189.603 c h
|
||||||
|
f
|
||||||
|
436.641 191.716 m 436.641 191.091 436.578 190.521 436.453 190.009 c 436.328
|
||||||
|
189.494 436.137 189.052 435.883 188.681 c 435.629 188.314 435.313 188.029
|
||||||
|
434.938 187.826 c 434.559 187.627 434.117 187.525 433.609 187.525 c 433.172
|
||||||
|
187.525 432.773 187.607 432.414 187.771 c 432.055 187.935 431.75 188.189
|
||||||
|
431.496 188.529 c 431.242 188.873 431.047 189.306 430.91 189.838 c 430.77
|
||||||
|
190.365 430.703 190.994 430.703 191.716 c 430.703 192.341 430.766 192.912
|
||||||
|
430.895 193.431 c 431.02 193.947 431.211 194.388 431.461 194.759 c 431.715
|
||||||
|
195.127 432.027 195.412 432.41 195.615 c 432.789 195.818 433.23 195.916
|
||||||
|
433.734 195.916 c 434.172 195.916 434.57 195.834 434.926 195.67 c 435.285
|
||||||
|
195.505 435.59 195.252 435.848 194.908 c 436.102 194.564 436.297 194.127
|
||||||
|
436.434 193.599 c 436.57 193.068 436.641 192.443 436.641 191.716 c h
|
||||||
|
435.539 191.681 m 435.539 191.822 435.535 191.963 435.523 192.103 c 435.512
|
||||||
|
192.24 435.504 192.377 435.488 192.509 c 432.035 189.943 l 432.098 189.724
|
||||||
|
432.176 189.525 432.27 189.341 c 432.367 189.158 432.48 189.002 432.617
|
||||||
|
188.869 c 432.754 188.74 432.906 188.638 433.082 188.564 c 433.254 188.49
|
||||||
|
433.449 188.455 433.672 188.455 c 433.953 188.455 434.211 188.525 434.441
|
||||||
|
188.662 c 434.676 188.798 434.871 189.002 435.035 189.275 c 435.195 189.545
|
||||||
|
435.32 189.88 435.41 190.283 c 435.496 190.685 435.539 191.15 435.539 191.681
|
||||||
|
c h
|
||||||
|
431.801 191.755 m 431.801 191.627 431.805 191.498 431.805 191.369 c 431.809
|
||||||
|
191.24 431.813 191.115 431.828 190.994 c 435.285 193.548 l 435.223 193.759
|
||||||
|
435.141 193.955 435.047 194.13 c 434.949 194.306 434.836 194.455 434.703
|
||||||
|
194.584 c 434.57 194.709 434.418 194.81 434.246 194.88 c 434.074 194.951
|
||||||
|
433.883 194.986 433.672 194.986 c 433.387 194.986 433.129 194.916 432.898
|
||||||
|
194.779 c 432.668 194.642 432.473 194.439 432.309 194.166 c 432.145 193.892
|
||||||
|
432.02 193.552 431.934 193.15 c 431.848 192.752 431.801 192.283 431.801
|
||||||
|
191.755 c h
|
||||||
|
f
|
||||||
|
443.434 187.634 m 438.301 187.634 l 438.301 188.65 l 440.402 188.65 l 440.402
|
||||||
|
194.611 l 438.445 193.548 l 438.047 194.474 l 440.645 195.841 l 441.609
|
||||||
|
195.841 l 441.609 188.65 l 443.434 188.65 l h
|
||||||
|
f
|
||||||
|
392.707 204.181 m 392.707 203.763 392.648 203.396 392.531 203.084 c 392.414
|
||||||
|
202.771 392.254 202.513 392.047 202.306 c 391.84 202.099 391.598 201.947
|
||||||
|
391.316 201.841 c 391.035 201.74 390.73 201.689 390.402 201.689 c 390.254
|
||||||
|
201.689 390.102 201.697 389.953 201.713 c 389.805 201.728 389.656 201.755
|
||||||
|
389.504 201.791 c 389.504 199.822 l 388.688 199.822 l 388.688 206.451 l
|
||||||
|
389.414 206.451 l 389.465 205.662 l 389.699 205.986 389.949 206.213 390.215
|
||||||
|
206.341 c 390.48 206.47 390.77 206.537 391.078 206.537 c 391.348 206.537
|
||||||
|
391.582 206.478 391.785 206.365 c 391.988 206.255 392.16 206.095 392.297
|
||||||
|
205.892 c 392.434 205.685 392.535 205.439 392.605 205.15 c 392.676 204.861
|
||||||
|
392.707 204.537 392.707 204.181 c h
|
||||||
|
391.875 204.146 m 391.875 204.392 391.855 204.619 391.82 204.826 c 391.785
|
||||||
|
205.029 391.727 205.209 391.648 205.353 c 391.57 205.502 391.473 205.615
|
||||||
|
391.348 205.697 c 391.227 205.783 391.082 205.822 390.914 205.822 c 390.809
|
||||||
|
205.822 390.707 205.806 390.598 205.775 c 390.492 205.74 390.383 205.685
|
||||||
|
390.27 205.611 c 390.156 205.533 390.035 205.431 389.906 205.306 c 389.781
|
||||||
|
205.177 389.645 205.021 389.504 204.834 c 389.504 202.552 l 389.652 202.49
|
||||||
|
389.809 202.439 389.977 202.404 c 390.141 202.369 390.305 202.349 390.465
|
||||||
|
202.349 c 390.902 202.349 391.25 202.498 391.5 202.798 c 391.75 203.095
|
||||||
|
391.875 203.545 391.875 204.146 c h
|
||||||
|
f
|
||||||
|
397.949 204.345 m 397.949 204.232 397.949 204.134 397.945 204.056 c 397.941
|
||||||
|
203.978 397.938 203.904 397.93 203.834 c 394.625 203.834 l 394.625 203.353
|
||||||
|
394.762 202.986 395.027 202.728 c 395.297 202.47 395.684 202.341 396.191
|
||||||
|
202.341 c 396.328 202.341 396.465 202.345 396.605 202.357 c 396.742 202.369
|
||||||
|
396.875 202.38 397.004 202.4 c 397.129 202.42 397.254 202.439 397.371 202.463
|
||||||
|
c 397.488 202.486 397.598 202.513 397.695 202.541 c 397.695 201.873 l 397.473
|
||||||
|
201.81 397.223 201.759 396.945 201.72 c 396.664 201.681 396.375 201.662
|
||||||
|
396.074 201.662 c 395.672 201.662 395.324 201.716 395.035 201.826 c 394.742
|
||||||
|
201.935 394.504 202.091 394.32 202.298 c 394.133 202.509 393.996 202.763
|
||||||
|
393.906 203.064 c 393.816 203.365 393.773 203.709 393.773 204.088 c 393.773
|
||||||
|
204.42 393.82 204.732 393.914 205.029 c 394.012 205.322 394.148 205.584
|
||||||
|
394.332 205.806 c 394.516 206.029 394.738 206.209 395.004 206.338 c 395.27
|
||||||
|
206.47 395.574 206.537 395.91 206.537 c 396.238 206.537 396.527 206.482
|
||||||
|
396.781 206.38 c 397.035 206.279 397.25 206.13 397.422 205.943 c 397.594
|
||||||
|
205.752 397.727 205.525 397.816 205.252 c 397.906 204.982 397.949 204.681
|
||||||
|
397.949 204.345 c h
|
||||||
|
397.102 204.463 m 397.109 204.673 397.09 204.865 397.039 205.037 c 396.988
|
||||||
|
205.213 396.914 205.361 396.809 205.486 c 396.703 205.611 396.574 205.709
|
||||||
|
396.418 205.779 c 396.262 205.849 396.078 205.884 395.871 205.884 c 395.695
|
||||||
|
205.884 395.531 205.849 395.387 205.779 c 395.238 205.713 395.113 205.615
|
||||||
|
395.004 205.49 c 394.898 205.365 394.813 205.216 394.746 205.041 c 394.684
|
||||||
|
204.865 394.641 204.673 394.625 204.463 c h
|
||||||
|
f
|
||||||
|
399.453 206.451 m 400.199 206.451 l 400.223 205.584 l 400.5 205.92 400.773
|
||||||
|
206.162 401.047 206.31 c 401.316 206.459 401.59 206.537 401.863 206.537
|
||||||
|
c 402.352 206.537 402.719 206.377 402.973 206.06 c 403.223 205.748 403.34
|
||||||
|
205.279 403.32 204.654 c 402.496 204.654 l 402.504 205.068 402.445 205.369
|
||||||
|
402.316 205.552 c 402.188 205.74 401.996 205.834 401.746 205.834 c 401.637
|
||||||
|
205.834 401.527 205.814 401.414 205.775 c 401.305 205.736 401.191 205.673
|
||||||
|
401.074 205.588 c 400.957 205.502 400.832 205.388 400.699 205.255 c 400.57
|
||||||
|
205.123 400.43 204.959 400.277 204.767 c 400.277 201.744 l 399.453 201.744
|
||||||
|
l h
|
||||||
|
f
|
||||||
|
408.727 207.607 m 408.297 207.701 407.93 207.744 407.621 207.744 c 406.887
|
||||||
|
207.744 406.52 207.361 406.52 206.591 c 406.52 205.767 l 408.582 205.767
|
||||||
|
l 408.582 205.088 l 406.52 205.088 l 406.52 201.744 l 405.688 201.744 l
|
||||||
|
405.688 205.088 l 404.176 205.088 l 404.176 205.767 l 405.688 205.767 l
|
||||||
|
405.688 206.545 l 405.688 207.798 406.34 208.423 407.648 208.423 c 407.973
|
||||||
|
208.423 408.332 208.388 408.727 208.31 c h
|
||||||
|
f
|
||||||
|
390.383 191.279 m 388.992 191.279 l 388.992 191.947 l 391.207 191.947 l
|
||||||
|
391.207 186.005 l 392.609 186.005 l 392.609 185.326 l 388.836 185.326 l
|
||||||
|
388.836 186.005 l 390.383 186.005 l h
|
||||||
|
f
|
||||||
|
398.164 187.716 m 398.164 187.349 398.113 187.013 398.012 186.709 c 397.906
|
||||||
|
186.404 397.758 186.146 397.566 185.927 c 397.371 185.709 397.137 185.541
|
||||||
|
396.855 185.42 c 396.578 185.302 396.262 185.24 395.91 185.24 c 395.574
|
||||||
|
185.24 395.27 185.295 395.004 185.396 c 394.734 185.502 394.508 185.658
|
||||||
|
394.324 185.861 c 394.137 186.064 393.996 186.314 393.898 186.615 c 393.797
|
||||||
|
186.916 393.75 187.259 393.75 187.65 c 393.75 188.017 393.801 188.349 393.902
|
||||||
|
188.65 c 394.008 188.951 394.156 189.213 394.348 189.427 c 394.543 189.646
|
||||||
|
394.777 189.814 395.059 189.935 c 395.336 190.056 395.652 190.115 396.004
|
||||||
|
190.115 c 396.34 190.115 396.645 190.064 396.91 189.959 c 397.18 189.853
|
||||||
|
397.406 189.701 397.59 189.498 c 397.777 189.298 397.918 189.048 398.016
|
||||||
|
188.748 c 398.117 188.447 398.164 188.103 398.164 187.716 c h
|
||||||
|
397.332 187.677 m 397.332 187.97 397.297 188.224 397.234 188.439 c 397.172
|
||||||
|
188.658 397.078 188.838 396.961 188.982 c 396.84 189.13 396.695 189.24
|
||||||
|
396.527 189.31 c 396.355 189.384 396.168 189.423 395.957 189.423 c 395.715
|
||||||
|
189.423 395.504 189.373 395.332 189.279 c 395.156 189.185 395.016 189.056
|
||||||
|
394.906 188.896 c 394.793 188.736 394.711 188.552 394.66 188.341 c 394.609
|
||||||
|
188.13 394.582 187.908 394.582 187.677 c 394.582 187.388 394.617 187.134
|
||||||
|
394.68 186.916 c 394.742 186.697 394.836 186.513 394.953 186.369 c 395.074
|
||||||
|
186.224 395.215 186.115 395.387 186.041 c 395.555 185.966 395.746 185.931
|
||||||
|
395.957 185.931 c 396.199 185.931 396.41 185.978 396.582 186.072 c 396.758
|
||||||
|
186.17 396.898 186.295 397.008 186.455 c 397.121 186.615 397.203 186.798
|
||||||
|
397.254 187.009 c 397.305 187.22 397.332 187.443 397.332 187.677 c h
|
||||||
|
f
|
||||||
|
403.082 186.611 m 403.082 186.443 403.055 186.295 402.996 186.166 c 402.941
|
||||||
|
186.033 402.863 185.916 402.77 185.814 c 402.672 185.713 402.559 185.627
|
||||||
|
402.43 185.556 c 402.301 185.482 402.164 185.423 402.02 185.377 c 401.875
|
||||||
|
185.33 401.727 185.295 401.574 185.275 c 401.418 185.252 401.27 185.24
|
||||||
|
401.121 185.24 c 400.805 185.24 400.512 185.255 400.242 185.283 c 399.977
|
||||||
|
185.31 399.715 185.357 399.457 185.42 c 399.457 186.17 l 399.734 186.091
|
||||||
|
400.008 186.033 400.277 185.99 c 400.551 185.951 400.82 185.931 401.09
|
||||||
|
185.931 c 401.48 185.931 401.77 185.982 401.957 186.088 c 402.145 186.197
|
||||||
|
402.238 186.345 402.238 186.545 c 402.238 186.627 402.223 186.705 402.195
|
||||||
|
186.771 c 402.164 186.838 402.109 186.904 402.031 186.963 c 401.953 187.025
|
||||||
|
401.832 187.088 401.668 187.154 c 401.504 187.22 401.281 187.295 400.996
|
||||||
|
187.377 c 400.785 187.439 400.586 187.513 400.406 187.591 c 400.227 187.67
|
||||||
|
400.074 187.767 399.941 187.877 c 399.809 187.986 399.707 188.111 399.633
|
||||||
|
188.259 c 399.559 188.408 399.52 188.58 399.52 188.779 c 399.52 188.912
|
||||||
|
399.551 189.056 399.609 189.213 c 399.672 189.369 399.777 189.513 399.922
|
||||||
|
189.646 c 400.07 189.783 400.27 189.892 400.52 189.982 c 400.77 190.072
|
||||||
|
401.082 190.115 401.457 190.115 c 401.641 190.115 401.844 190.107 402.07
|
||||||
|
190.084 c 402.293 190.064 402.527 190.029 402.773 189.978 c 402.773 189.252
|
||||||
|
l 402.516 189.314 402.273 189.361 402.043 189.392 c 401.813 189.42 401.613
|
||||||
|
189.435 401.445 189.435 c 401.242 189.435 401.07 189.42 400.934 189.388
|
||||||
|
c 400.793 189.357 400.68 189.314 400.594 189.259 c 400.508 189.205 400.449
|
||||||
|
189.142 400.41 189.068 c 400.371 188.994 400.355 188.916 400.355 188.83
|
||||||
|
c 400.355 188.748 400.371 188.67 400.402 188.603 c 400.438 188.533 400.496
|
||||||
|
188.466 400.586 188.404 c 400.676 188.338 400.801 188.275 400.957 188.209
|
||||||
|
c 401.117 188.146 401.324 188.076 401.582 188.002 c 401.859 187.92 402.094
|
||||||
|
187.834 402.285 187.748 c 402.477 187.658 402.629 187.556 402.75 187.447
|
||||||
|
c 402.867 187.338 402.953 187.216 403.004 187.08 c 403.055 186.939 403.082
|
||||||
|
186.783 403.082 186.611 c h
|
||||||
|
f
|
||||||
|
408.371 186.611 m 408.371 186.443 408.34 186.295 408.285 186.166 c 408.23
|
||||||
|
186.033 408.152 185.916 408.055 185.814 c 407.957 185.713 407.848 185.627
|
||||||
|
407.719 185.556 c 407.59 185.482 407.453 185.423 407.309 185.377 c 407.164
|
||||||
|
185.33 407.012 185.295 406.859 185.275 c 406.707 185.252 406.559 185.24
|
||||||
|
406.41 185.24 c 406.09 185.24 405.797 185.255 405.531 185.283 c 405.266
|
||||||
|
185.31 405.004 185.357 404.746 185.42 c 404.746 186.17 l 405.02 186.091
|
||||||
|
405.293 186.033 405.566 185.99 c 405.84 185.951 406.109 185.931 406.379
|
||||||
|
185.931 c 406.77 185.931 407.059 185.982 407.246 186.088 c 407.434 186.197
|
||||||
|
407.527 186.345 407.527 186.545 c 407.527 186.627 407.512 186.705 407.48
|
||||||
|
186.771 c 407.453 186.838 407.398 186.904 407.32 186.963 c 407.242 187.025
|
||||||
|
407.121 187.088 406.957 187.154 c 406.793 187.22 406.566 187.295 406.285
|
||||||
|
187.377 c 406.07 187.439 405.875 187.513 405.695 187.591 c 405.516 187.67
|
||||||
|
405.359 187.767 405.23 187.877 c 405.098 187.986 404.996 188.111 404.918
|
||||||
|
188.259 c 404.844 188.408 404.809 188.58 404.809 188.779 c 404.809 188.912
|
||||||
|
404.836 189.056 404.898 189.213 c 404.961 189.369 405.063 189.513 405.211
|
||||||
|
189.646 c 405.355 189.783 405.555 189.892 405.805 189.982 c 406.055 190.072
|
||||||
|
406.367 190.115 406.742 190.115 c 406.926 190.115 407.133 190.107 407.355
|
||||||
|
190.084 c 407.582 190.064 407.816 190.029 408.059 189.978 c 408.059 189.252
|
||||||
|
l 407.805 189.314 407.563 189.361 407.332 189.392 c 407.102 189.42 406.902
|
||||||
|
189.435 406.734 189.435 c 406.531 189.435 406.359 189.42 406.219 189.388
|
||||||
|
c 406.082 189.357 405.969 189.314 405.883 189.259 c 405.797 189.205 405.734
|
||||||
|
189.142 405.699 189.068 c 405.66 188.994 405.641 188.916 405.641 188.83
|
||||||
|
c 405.641 188.748 405.656 188.67 405.691 188.603 c 405.723 188.533 405.785
|
||||||
|
188.466 405.875 188.404 c 405.961 188.338 406.086 188.275 406.246 188.209
|
||||||
|
c 406.406 188.146 406.613 188.076 406.871 188.002 c 407.148 187.92 407.383
|
||||||
|
187.834 407.574 187.748 c 407.762 187.658 407.918 187.556 408.035 187.447
|
||||||
|
c 408.156 187.338 408.242 187.216 408.293 187.08 c 408.344 186.939 408.371
|
||||||
|
186.783 408.371 186.611 c h
|
||||||
|
f
|
||||||
|
1 g
|
||||||
|
16.999975 w
|
||||||
|
q 1 0 0 -1 0 279.189087 cm
|
||||||
|
474.211 121.281 m 474.211 159.207 443.246 189.949 405.047 189.949 c 366.848
|
||||||
|
189.949 335.883 159.207 335.883 121.281 c 335.883 83.359 366.848 52.617
|
||||||
|
405.047 52.617 c 443.246 52.617 474.211 83.359 474.211 121.281 c h
|
||||||
|
S Q
|
||||||
|
463.121 88.627 m 475.383 100.888 l 521.199 55.068 l 508.938 42.806 l h
|
||||||
|
f
|
||||||
|
454.246 102.189 m 461.977 109.92 l 475.324 96.568 l 467.598 88.841 l h
|
||||||
|
f
|
||||||
|
155.125 126.048 m 155.125 110.97 149.75 99.56 139.004 91.814 c 129.512
|
||||||
|
84.904 116.672 81.451 100.48 81.451 c 92.73 81.451 82.508 83.545 69.805
|
||||||
|
87.732 c 71.898 107.623 l 83.695 102.806 94.059 100.4 102.992 100.4 c 110.25
|
||||||
|
100.4 116.672 102.248 122.254 105.947 c 129.023 110.482 132.41 116.763
|
||||||
|
132.41 124.791 c 132.41 133.865 126.824 141.505 115.66 147.716 c 105.328
|
||||||
|
153.091 95.035 158.502 84.777 163.943 c 73.609 171.83 68.027 182.369 68.027
|
||||||
|
195.56 c 68.027 208.4 72.668 218.521 81.949 225.92 c 90.672 232.826 102.051
|
||||||
|
236.283 116.078 236.283 c 127.313 236.283 137.957 234.502 148.008 230.943
|
||||||
|
c 144.973 211.158 l 134.434 215.345 125.082 217.439 116.914 217.439 c 99.469
|
||||||
|
217.439 90.742 210.775 90.742 197.443 c 90.742 189.904 96.328 183.134 107.492
|
||||||
|
177.134 c 126.824 166.806 137.121 161.15 138.375 160.173 c 149.543 151.521
|
||||||
|
155.125 140.146 155.125 126.048 c h
|
||||||
|
f
|
||||||
|
306.922 160.173 m 306.922 135.47 299.77 116.521 285.461 103.33 c 271.641
|
||||||
|
90.49 252.207 84.068 227.152 84.068 c 182.973 84.068 l 182.973 233.771
|
||||||
|
l 227.152 233.771 l 250.043 233.771 268.887 227.244 283.684 214.193 c 299.176
|
||||||
|
200.654 306.922 182.646 306.922 160.173 c h
|
||||||
|
284.207 159.338 m 284.203 176.365 278.938 189.974 268.398 200.166 c 258.348
|
||||||
|
209.935 245.367 214.822 229.453 214.822 c 204.434 214.822 l 204.434 102.912
|
||||||
|
l 226.941 102.912 l 265.117 102.912 284.203 121.72 284.207 159.338 c h
|
||||||
|
f
|
||||||
|
85.898 50.482 m 85.898 48.33 85.129 46.701 83.594 45.595 c 82.238 44.607
|
||||||
|
80.406 44.115 78.094 44.115 c 76.988 44.115 75.527 44.412 73.715 45.009
|
||||||
|
c 74.012 47.853 l 75.695 47.166 77.176 46.822 78.453 46.822 c 79.488 46.822
|
||||||
|
80.406 47.084 81.203 47.611 c 82.168 48.259 82.652 49.158 82.652 50.302
|
||||||
|
c 82.652 51.599 81.855 52.689 80.262 53.576 c 78.785 54.345 77.316 55.115
|
||||||
|
75.852 55.892 c 74.258 57.021 73.461 58.525 73.461 60.408 c 73.461 62.24
|
||||||
|
74.121 63.685 75.449 64.744 c 76.695 65.728 78.316 66.224 80.32 66.224
|
||||||
|
c 81.926 66.224 83.445 65.97 84.879 65.459 c 84.445 62.634 l 82.941 63.232
|
||||||
|
81.605 63.533 80.441 63.533 c 77.949 63.533 76.703 62.58 76.703 60.677
|
||||||
|
c 76.703 59.599 77.5 58.634 79.094 57.779 c 81.855 56.302 83.324 55.494
|
||||||
|
83.504 55.357 c 85.098 54.119 85.898 52.494 85.898 50.482 c h
|
||||||
|
f
|
||||||
|
104.625 52.291 m 104.625 50.017 103.891 48.099 102.414 46.537 c 100.91
|
||||||
|
44.923 99.008 44.115 96.703 44.115 c 94.383 44.115 92.465 44.923 90.949
|
||||||
|
46.537 c 89.473 48.099 88.738 50.017 88.738 52.291 c 88.738 54.681 89.473
|
||||||
|
56.642 90.941 58.173 c 92.41 59.705 94.332 60.466 96.703 60.466 c 99.055
|
||||||
|
60.466 100.965 59.705 102.43 58.173 c 103.895 56.642 104.625 54.681 104.625
|
||||||
|
52.291 c h
|
||||||
|
101.563 52.291 m 101.563 53.865 101.133 55.213 100.277 56.326 c 99.359
|
||||||
|
57.533 98.168 58.134 96.703 58.134 c 95.219 58.134 94.012 57.533 93.086
|
||||||
|
56.326 c 92.23 55.213 91.801 53.865 91.801 52.291 c 91.801 50.736 92.195
|
||||||
|
49.416 92.98 48.33 c 93.879 47.076 95.121 46.447 96.703 46.447 c 98.27
|
||||||
|
46.447 99.5 47.076 100.398 48.33 c 101.172 49.416 101.563 50.736 101.563
|
||||||
|
52.291 c h
|
||||||
|
f
|
||||||
|
117.527 67.627 m 117.406 65.31 l 117.07 65.431 116.609 65.49 116.031 65.49
|
||||||
|
c 114.875 65.49 114.094 65.123 113.684 64.384 c 113.387 63.865 113.238
|
||||||
|
62.998 113.238 61.783 c 113.238 60.095 l 117.379 60.095 l 117.379 57.779
|
||||||
|
l 113.238 57.779 l 113.238 44.49 l 110.367 44.49 l 110.367 57.779 l 106.691
|
||||||
|
57.779 l 106.691 60.095 l 110.367 60.095 l 110.367 61.545 l 110.367 63.627
|
||||||
|
110.707 65.146 111.383 66.103 c 112.199 67.248 113.605 67.822 115.598 67.822
|
||||||
|
c 116.105 67.822 116.75 67.759 117.527 67.627 c h
|
||||||
|
f
|
||||||
|
128.934 44.548 m 127.938 44.259 127.117 44.115 126.48 44.115 c 123.281
|
||||||
|
44.115 121.684 45.63 121.684 48.658 c 121.684 57.779 l 118.156 57.779 l
|
||||||
|
118.156 60.095 l 121.684 60.095 l 121.684 63.713 l 124.555 64.638 l 124.555
|
||||||
|
60.095 l 128.695 60.095 l 128.695 57.779 l 124.555 57.779 l 124.555 49.228
|
||||||
|
l 124.555 48.361 124.793 47.673 125.27 47.166 c 125.719 46.685 126.285
|
||||||
|
46.447 126.973 46.447 c 127.711 46.447 128.363 46.63 128.934 46.998 c h
|
||||||
|
f
|
||||||
|
154.973 60.095 m 149.965 44.49 l 146.617 44.49 l 142.582 57.599 l 142.52
|
||||||
|
57.599 l 138.574 44.49 l 135.227 44.49 l 130.219 60.095 l 133.371 60.095
|
||||||
|
l 136.945 47.177 l 137.004 47.177 l 140.98 60.095 l 144.391 60.095 l 148.305
|
||||||
|
47.177 l 148.367 47.177 l 152.164 60.095 l h
|
||||||
|
f
|
||||||
|
170.102 44.49 m 167.41 44.49 l 167.41 46.505 l 167.352 46.505 l 166.215
|
||||||
|
44.912 164.598 44.115 162.508 44.115 c 160.742 44.115 159.367 44.502 158.379
|
||||||
|
45.279 c 157.313 46.119 156.781 47.353 156.781 48.986 c 156.781 50.759
|
||||||
|
157.617 52.107 159.293 53.025 c 160.629 53.759 162.211 54.13 164.047 54.13
|
||||||
|
c 165.332 54.13 166.348 54.111 167.094 54.068 c 167.094 55.466 166.816
|
||||||
|
56.482 166.258 57.119 c 165.652 57.798 164.645 58.134 163.238 58.134 c 161.484
|
||||||
|
58.134 159.977 57.607 158.711 56.552 c 158.559 59.002 l 160.203 59.978
|
||||||
|
161.918 60.466 163.703 60.466 c 165.895 60.466 167.5 59.923 168.516 58.838
|
||||||
|
c 169.492 57.791 169.98 56.181 169.98 54.009 c 169.98 47.552 l 169.98 46.119
|
||||||
|
170.02 45.095 170.102 44.49 c h
|
||||||
|
167.094 50.556 m 167.094 51.931 l 166.895 51.931 166.594 51.943 166.184
|
||||||
|
51.963 c 165.773 51.982 165.473 51.994 165.273 51.994 c 161.656 51.994
|
||||||
|
159.844 50.99 159.844 48.986 c 159.844 48.22 160.164 47.591 160.801 47.103
|
||||||
|
c 161.371 46.666 162.023 46.447 162.762 46.447 c 164.137 46.447 165.211
|
||||||
|
46.841 165.988 47.627 c 166.727 48.365 167.094 49.341 167.094 50.556 c
|
||||||
|
h
|
||||||
|
f
|
||||||
|
183.598 57.689 m 183.148 57.865 182.617 57.955 182 57.955 c 180.703 57.955
|
||||||
|
179.668 57.384 178.898 56.236 c 178.125 55.091 177.738 53.541 177.738 51.588
|
||||||
|
c 177.738 44.49 l 174.867 44.49 l 174.867 60.095 l 177.559 60.095 l 177.559
|
||||||
|
57.689 l 177.621 57.689 l 178.008 58.505 178.578 59.173 179.332 59.689
|
||||||
|
c 180.082 60.209 180.871 60.466 181.699 60.466 c 182.25 60.466 182.883 60.396
|
||||||
|
183.598 60.259 c h
|
||||||
|
f
|
||||||
|
199.922 51.65 m 188.785 51.65 l 188.785 50.142 189.305 48.892 190.34 47.896
|
||||||
|
c 191.328 46.931 192.523 46.447 193.926 46.447 c 194.793 46.447 195.746
|
||||||
|
46.634 196.781 47.013 c 197.668 47.334 198.324 47.666 198.742 48.017 c
|
||||||
|
198.742 45.13 l 196.867 44.455 195.223 44.115 193.809 44.115 c 191.117 44.115
|
||||||
|
189.078 44.892 187.695 46.447 c 186.379 47.9 185.723 49.943 185.723 52.576
|
||||||
|
c 185.723 54.896 186.395 56.795 187.738 58.263 c 189.086 59.732 190.852
|
||||||
|
60.466 193.047 60.466 c 197.629 60.466 199.922 57.529 199.922 51.65 c h
|
||||||
|
196.871 53.802 m 196.871 55.037 196.535 56.056 195.855 56.865 c 195.137
|
||||||
|
57.713 194.184 58.134 192.984 58.134 c 191.691 58.134 190.664 57.666 189.906
|
||||||
|
56.732 c 189.289 55.955 188.914 54.978 188.785 53.802 c h
|
||||||
|
f
|
||||||
|
230.086 55.357 m 230.086 51.826 229.066 49.123 227.023 47.24 c 225.051
|
||||||
|
45.404 222.273 44.49 218.695 44.49 c 212.391 44.49 l 212.391 65.865 l 218.695
|
||||||
|
65.865 l 221.965 65.865 224.656 64.931 226.77 63.068 c 228.98 61.134 230.086
|
||||||
|
58.564 230.086 55.357 c h
|
||||||
|
226.844 55.236 m 226.844 57.666 226.09 59.611 224.586 61.064 c 223.152
|
||||||
|
62.463 221.297 63.158 219.027 63.158 c 215.453 63.158 l 215.453 47.177 l
|
||||||
|
218.668 47.177 l 224.117 47.177 226.844 49.865 226.844 55.236 c h
|
||||||
|
f
|
||||||
|
247.578 51.65 m 236.441 51.65 l 236.441 50.142 236.957 48.892 237.996 47.896
|
||||||
|
c 238.98 46.931 240.176 46.447 241.582 46.447 c 242.449 46.447 243.402
|
||||||
|
46.634 244.438 47.013 c 245.324 47.334 245.977 47.666 246.395 48.017 c 246.395
|
||||||
|
45.13 l 244.523 44.455 242.879 44.115 241.465 44.115 c 238.773 44.115 236.734
|
||||||
|
44.892 235.348 46.447 c 234.035 47.9 233.375 49.943 233.375 52.576 c 233.375
|
||||||
|
54.896 234.047 56.795 235.395 58.263 c 236.738 59.732 238.508 60.466 240.699
|
||||||
|
60.466 c 245.285 60.466 247.578 57.529 247.578 51.65 c h
|
||||||
|
244.527 53.802 m 244.527 55.037 244.188 56.056 243.512 56.865 c 242.793
|
||||||
|
57.713 241.836 58.134 240.641 58.134 c 239.344 58.134 238.32 57.666 237.563
|
||||||
|
56.732 c 236.945 55.955 236.57 54.978 236.441 53.802 c h
|
||||||
|
f
|
||||||
|
259.879 48.986 m 259.879 47.412 259.32 46.189 258.207 45.31 c 257.199 44.513
|
||||||
|
255.938 44.115 254.422 44.115 c 252.641 44.115 251.215 44.404 250.148 44.982
|
||||||
|
c 250.297 47.552 l 251.434 46.814 252.629 46.447 253.887 46.447 c 254.664
|
||||||
|
46.447 255.316 46.611 255.844 46.939 c 256.492 47.33 256.816 47.912 256.816
|
||||||
|
48.689 c 256.816 49.447 256.23 50.142 255.066 50.783 c 253.98 51.369 252.895
|
||||||
|
51.959 251.809 52.545 c 250.641 53.38 250.059 54.423 250.059 55.67 c 250.059
|
||||||
|
57.224 250.586 58.431 251.645 59.287 c 252.629 60.076 253.934 60.466 255.559
|
||||||
|
60.466 c 256.574 60.466 257.773 60.263 259.148 59.853 c 258.906 57.345
|
||||||
|
l 258.598 57.533 258.094 57.716 257.398 57.896 c 256.738 58.056 256.23 58.134
|
||||||
|
255.875 58.134 c 255.086 58.134 254.441 57.982 253.945 57.673 c 253.387
|
||||||
|
57.334 253.109 56.857 253.109 56.236 c 253.109 55.392 253.695 54.662 254.871
|
||||||
|
54.056 c 255.957 53.498 257.043 52.939 258.129 52.38 c 259.297 51.545 259.879
|
||||||
|
50.412 259.879 48.986 c h
|
||||||
|
f
|
||||||
|
266.785 63.591 m 263.543 63.591 l 263.543 66.838 l 266.785 66.838 l h
|
||||||
|
266.605 44.49 m 263.723 44.49 l 263.723 60.095 l 266.605 60.095 l h
|
||||||
|
f
|
||||||
|
285.648 45.162 m 285.648 40.177 282.969 37.685 277.609 37.685 c 275.965
|
||||||
|
37.685 274.094 38.045 272.004 38.763 c 272.316 41.423 l 274.359 40.486
|
||||||
|
276.234 40.017 277.938 40.017 c 279.453 40.017 280.637 40.498 281.496 41.455
|
||||||
|
c 282.352 42.412 282.781 43.716 282.781 45.369 c 282.781 46.908 l 282.719
|
||||||
|
46.908 l 281.504 45.295 279.762 44.49 277.488 44.49 c 275.355 44.49 273.68
|
||||||
|
45.267 272.465 46.822 c 271.359 48.224 270.805 50.009 270.805 52.17 c 270.805
|
||||||
|
54.373 271.379 56.255 272.527 57.822 c 273.82 59.588 275.574 60.466 277.789
|
||||||
|
60.466 c 280.297 60.466 282.012 59.572 282.93 57.779 c 282.988 57.779 l
|
||||||
|
282.988 60.095 l 285.648 60.095 l h
|
||||||
|
282.781 52.111 m 282.781 53.838 282.402 55.248 281.645 56.341 c 280.816
|
||||||
|
57.537 279.676 58.134 278.223 58.134 c 276.867 58.134 275.773 57.502 274.945
|
||||||
|
56.236 c 274.23 55.111 273.871 53.806 273.871 52.322 c 273.871 50.795 274.258
|
||||||
|
49.509 275.035 48.463 c 275.855 47.369 276.914 46.822 278.223 46.822 c
|
||||||
|
279.547 46.822 280.641 47.338 281.508 48.373 c 282.355 49.38 282.781 50.627
|
||||||
|
282.781 52.111 c h
|
||||||
|
f
|
||||||
|
304.367 44.49 m 301.496 44.49 l 301.496 52.576 l 301.496 54.47 301.258
|
||||||
|
55.845 300.777 56.701 c 300.27 57.627 299.406 58.107 298.191 58.134 c 296.617
|
||||||
|
58.185 295.418 57.603 294.59 56.388 c 293.82 55.259 293.438 53.701 293.438
|
||||||
|
51.709 c 293.438 44.49 l 290.566 44.49 l 290.566 60.095 l 293.348 60.095
|
||||||
|
l 293.348 57.627 l 293.41 57.627 l 293.836 58.494 294.52 59.185 295.457
|
||||||
|
59.697 c 296.395 60.213 297.414 60.466 298.52 60.466 c 302.418 60.466 304.367
|
||||||
|
58.236 304.367 53.771 c h
|
||||||
|
f
|
||||||
|
330.047 44.49 m 327.355 44.49 l 327.355 46.505 l 327.297 46.505 l 326.16
|
||||||
|
44.912 324.547 44.115 322.453 44.115 c 320.688 44.115 319.313 44.502 318.328
|
||||||
|
45.279 c 317.262 46.119 316.727 47.353 316.727 48.986 c 316.727 50.759
|
||||||
|
317.566 52.107 319.238 53.025 c 320.574 53.759 322.16 54.13 323.992 54.13
|
||||||
|
c 325.277 54.13 326.293 54.111 327.043 54.068 c 327.043 55.466 326.762
|
||||||
|
56.482 326.203 57.119 c 325.598 57.798 324.59 58.134 323.184 58.134 c 321.43
|
||||||
|
58.134 319.922 57.607 318.656 56.552 c 318.508 59.002 l 320.152 59.978
|
||||||
|
321.863 60.466 323.648 60.466 c 325.84 60.466 327.445 59.923 328.461 58.838
|
||||||
|
c 329.438 57.791 329.926 56.181 329.926 54.009 c 329.926 47.552 l 329.926
|
||||||
|
46.119 329.965 45.095 330.047 44.49 c h
|
||||||
|
327.043 50.556 m 327.043 51.931 l 326.844 51.931 326.539 51.943 326.129
|
||||||
|
51.963 c 325.723 51.982 325.418 51.994 325.219 51.994 c 321.602 51.994
|
||||||
|
319.793 50.99 319.793 48.986 c 319.793 48.22 320.109 47.591 320.75 47.103
|
||||||
|
c 321.316 46.666 321.969 46.447 322.707 46.447 c 324.082 46.447 325.16
|
||||||
|
46.841 325.938 47.627 c 326.672 48.365 327.043 49.341 327.043 50.556 c h
|
||||||
|
f
|
||||||
|
348.613 44.49 m 345.742 44.49 l 345.742 52.576 l 345.742 54.47 345.504
|
||||||
|
55.845 345.023 56.701 c 344.516 57.627 343.652 58.107 342.438 58.134 c 340.863
|
||||||
|
58.185 339.664 57.603 338.836 56.388 c 338.07 55.259 337.684 53.701 337.684
|
||||||
|
51.709 c 337.684 44.49 l 334.816 44.49 l 334.816 60.095 l 337.594 60.095
|
||||||
|
l 337.594 57.627 l 337.656 57.627 l 338.082 58.494 338.766 59.185 339.703
|
||||||
|
59.697 c 340.641 60.213 341.66 60.466 342.766 60.466 c 346.664 60.466 348.613
|
||||||
|
58.236 348.613 53.771 c h
|
||||||
|
f
|
||||||
|
367.328 44.49 m 364.578 44.49 l 364.578 46.685 l 364.516 46.685 l 363.391
|
||||||
|
44.97 361.617 44.115 359.195 44.115 c 356.984 44.115 355.273 44.99 354.066
|
||||||
|
46.744 c 353.012 48.279 352.484 50.224 352.484 52.576 c 352.484 54.806
|
||||||
|
353.043 56.646 354.156 58.091 c 355.375 59.677 357.063 60.466 359.227 60.466
|
||||||
|
c 361.637 60.466 363.359 59.63 364.398 57.955 c 364.457 57.955 l 364.457
|
||||||
|
67.447 l 367.328 67.447 l h
|
||||||
|
364.457 52.259 m 364.457 53.857 364.078 55.201 363.32 56.298 c 362.465
|
||||||
|
57.521 361.305 58.134 359.84 58.134 c 358.383 58.134 357.277 57.529 356.52
|
||||||
|
56.314 c 355.871 55.275 355.547 53.955 355.547 52.349 c 355.547 50.896
|
||||||
|
355.883 49.607 356.551 48.478 c 357.348 47.123 358.453 46.447 359.867 46.447
|
||||||
|
c 361.363 46.447 362.535 47.088 363.383 48.373 c 364.098 49.47 364.457
|
||||||
|
50.767 364.457 52.259 c h
|
||||||
|
f
|
||||||
|
400.484 55.177 m 400.484 52.775 399.98 50.685 398.98 48.912 c 397.98 47.138
|
||||||
|
396.563 45.849 394.727 45.041 c 399.691 40.541 l 395.895 40.541 l 391.902
|
||||||
|
44.248 l 391.414 44.158 390.848 44.115 390.199 44.115 c 386.988 44.115
|
||||||
|
384.457 45.146 382.605 47.209 c 380.813 49.213 379.914 51.869 379.914 55.177
|
||||||
|
c 379.914 58.416 380.816 61.045 382.621 63.068 c 384.492 65.17 387.02 66.224
|
||||||
|
390.199 66.224 c 393.367 66.224 395.895 65.17 397.777 63.068 c 399.582
|
||||||
|
61.045 400.484 58.416 400.484 55.177 c h
|
||||||
|
397.238 55.177 m 397.238 57.509 396.652 59.443 395.477 60.974 c 394.188
|
||||||
|
62.681 392.43 63.533 390.199 63.533 c 387.957 63.533 386.191 62.681 384.906
|
||||||
|
60.974 c 383.742 59.443 383.156 57.509 383.156 55.177 c 383.156 52.845
|
||||||
|
383.715 50.916 384.832 49.392 c 386.086 47.677 387.875 46.822 390.199 46.822
|
||||||
|
c 392.512 46.822 394.301 47.677 395.566 49.392 c 396.68 50.916 397.238
|
||||||
|
52.845 397.238 55.177 c h
|
||||||
|
f
|
||||||
|
418.332 44.49 m 415.551 44.49 l 415.551 46.97 l 415.492 46.97 l 415.07
|
||||||
|
46.091 414.391 45.396 413.449 44.884 c 412.508 44.373 411.484 44.115 410.379
|
||||||
|
44.115 c 406.48 44.115 404.535 46.353 404.535 50.826 c 404.535 60.095 l
|
||||||
|
407.402 60.095 l 407.402 52.021 l 407.402 50.127 407.645 48.752 408.121
|
||||||
|
47.896 c 408.629 46.959 409.496 46.474 410.723 46.447 c 412.297 46.408
|
||||||
|
413.492 46.994 414.309 48.209 c 415.078 49.326 415.461 50.88 415.461 52.873
|
||||||
|
c 415.461 60.095 l 418.332 60.095 l h
|
||||||
|
f
|
||||||
|
435.52 44.49 m 432.832 44.49 l 432.832 46.505 l 432.77 46.505 l 431.633
|
||||||
|
44.912 430.02 44.115 427.926 44.115 c 426.164 44.115 424.789 44.502 423.801
|
||||||
|
45.279 c 422.734 46.119 422.203 47.353 422.203 48.986 c 422.203 50.759
|
||||||
|
423.039 52.107 424.715 53.025 c 426.051 53.759 427.633 54.13 429.469 54.13
|
||||||
|
c 430.754 54.13 431.77 54.111 432.516 54.068 c 432.516 55.466 432.238 56.482
|
||||||
|
431.68 57.119 c 431.07 57.798 430.066 58.134 428.66 58.134 c 426.906 58.134
|
||||||
|
425.395 57.607 424.129 56.552 c 423.98 59.002 l 425.625 59.978 427.34 60.466
|
||||||
|
429.125 60.466 c 431.316 60.466 432.922 59.923 433.938 58.838 c 434.914
|
||||||
|
57.791 435.402 56.181 435.402 54.009 c 435.402 47.552 l 435.402 46.119
|
||||||
|
435.441 45.095 435.52 44.49 c h
|
||||||
|
432.516 50.556 m 432.516 51.931 l 432.316 51.931 432.012 51.943 431.605
|
||||||
|
51.963 c 431.195 51.982 430.891 51.994 430.691 51.994 c 427.074 51.994
|
||||||
|
425.266 50.99 425.266 48.986 c 425.266 48.22 425.586 47.591 426.223 47.103
|
||||||
|
c 426.793 46.666 427.445 46.447 428.18 46.447 c 429.559 46.447 430.633
|
||||||
|
46.841 431.41 47.627 c 432.148 48.365 432.516 49.341 432.516 50.556 c h
|
||||||
|
f
|
||||||
|
440.648 67.447 2.887 -22.957 re f
|
||||||
|
452.203 63.591 m 448.961 63.591 l 448.961 66.838 l 452.203 66.838 l h
|
||||||
|
452.023 44.49 m 449.141 44.49 l 449.141 60.095 l 452.023 60.095 l h
|
||||||
|
f
|
||||||
|
465.805 44.548 m 464.809 44.259 463.992 44.115 463.355 44.115 c 460.156
|
||||||
|
44.115 458.555 45.63 458.555 48.658 c 458.555 57.779 l 455.027 57.779 l
|
||||||
|
455.027 60.095 l 458.555 60.095 l 458.555 63.713 l 461.426 64.638 l 461.426
|
||||||
|
60.095 l 465.566 60.095 l 465.566 57.779 l 461.426 57.779 l 461.426 49.228
|
||||||
|
l 461.426 48.361 461.664 47.673 462.145 47.166 c 462.594 46.685 463.16
|
||||||
|
46.447 463.848 46.447 c 464.586 46.447 465.238 46.63 465.805 46.998 c h
|
||||||
|
f
|
||||||
|
481.531 60.095 m 475.777 44.146 l 475.008 42.013 474.352 40.56 473.805
|
||||||
|
39.795 c 472.789 38.388 471.445 37.685 469.781 37.685 c 469.285 37.685 468.633
|
||||||
|
37.759 467.824 37.912 c 468.004 40.259 l 468.492 40.099 468.941 40.017
|
||||||
|
469.348 40.017 c 470.434 40.017 471.328 40.623 472.023 41.826 c 472.531
|
||||||
|
42.693 472.789 43.377 472.789 43.877 c 472.789 43.966 472.602 44.517 472.234
|
||||||
|
45.533 c 466.926 60.095 l 470.082 60.095 l 474.281 47.177 l 474.344 47.177
|
||||||
|
l 478.633 60.095 l h
|
||||||
|
f
|
||||||
|
Q Q
|
||||||
|
showpage
|
||||||
|
%%Trailer
|
||||||
|
count op_count sub {pop} repeat
|
||||||
|
countdictstack dict_count sub {end} repeat
|
||||||
|
cairo_eps_state restore
|
||||||
|
%%EOF
|
||||||
BIN
25_Outline/logos/sdqlogo.pdf
Normal file
BIN
25_Outline/logos/sdqlogo.pdf
Normal file
Binary file not shown.
1541
25_Outline/outline.bib
Normal file
1541
25_Outline/outline.bib
Normal file
File diff suppressed because it is too large
Load Diff
186
25_Outline/outline.tex
Normal file
186
25_Outline/outline.tex
Normal file
@@ -0,0 +1,186 @@
|
|||||||
|
%% LaTeX2e class for student theses
|
||||||
|
%% thesis.tex
|
||||||
|
%%
|
||||||
|
%% Karlsruhe Institute of Technology
|
||||||
|
%% Institute for Program Structures and Data Organization
|
||||||
|
%% Chair for Software Design and Quality (SDQ)
|
||||||
|
%%
|
||||||
|
%% Dr.-Ing. Erik Burger
|
||||||
|
%% burger@kit.edu
|
||||||
|
%%
|
||||||
|
%% See https://sdqweb.ipd.kit.edu/wiki/Dokumentvorlagen
|
||||||
|
%%
|
||||||
|
%% {$HeadURL: https://svnserver.informatik.kit.edu/i43/svn/lehre/Abschlussarbeiten-Vorlage/thesis.tex $}
|
||||||
|
%% {$LastChangedDate: 2018-08-02 14:19:06 +0200 (Do, 02 Aug 2018) $}
|
||||||
|
%% {$LastChangedRevision: 5705 $}
|
||||||
|
%% {$LastChangedBy: burger $}
|
||||||
|
|
||||||
|
%% Available page modes: oneside, twoside
|
||||||
|
%% Available modes: draft, final (see README)
|
||||||
|
\documentclass[oneside, english, draft]{sdqthesis}
|
||||||
|
|
||||||
|
|
||||||
|
%% ---------------------------------
|
||||||
|
%% | Information about the thesis |
|
||||||
|
%% ---------------------------------
|
||||||
|
|
||||||
|
%% Name of the author
|
||||||
|
\author{Hannes F. Kuchelmeister}
|
||||||
|
|
||||||
|
%% Title (and possibly subtitle) of the thesis
|
||||||
|
\title{Decision Support for Group-Based Configuration using Recommender Systems}
|
||||||
|
|
||||||
|
%% Type of the thesis
|
||||||
|
\thesistype{Bachelor's Thesis Outline}
|
||||||
|
|
||||||
|
%% Change the institute here, ``IPD'' is default
|
||||||
|
% \myinstitute{Institute for \dots}
|
||||||
|
|
||||||
|
%% You can put a logo in the ``logos'' directory and include it here
|
||||||
|
%% instead of the SDQ logo
|
||||||
|
% \grouplogo{myfile}
|
||||||
|
%\secondgrouplogo{iism_logo}
|
||||||
|
%\companylogo{cas_software_logo}
|
||||||
|
%\externallogo{fzi_logo}
|
||||||
|
|
||||||
|
%% Alternatively, you can disable the group logo
|
||||||
|
\nogrouplogo
|
||||||
|
\nosecondgrouplogo
|
||||||
|
\nocompanylogo
|
||||||
|
\noexternallogo
|
||||||
|
|
||||||
|
%% The reviewers are the professors that grade your thesis
|
||||||
|
\reviewerone{Prof. Dr. Ralf H. Reussner}
|
||||||
|
\reviewertwo{Prof. Dr. Christof Weinhardt}
|
||||||
|
|
||||||
|
%% The advisors are PhDs or Postdocs
|
||||||
|
\advisorone{Dr. rer. nat. Robert Heinrich}
|
||||||
|
%% The second advisor can be omitted
|
||||||
|
\advisortwo{M.A. Jonas Fegert}
|
||||||
|
|
||||||
|
%% Please enter the start end end time of your thesis
|
||||||
|
\usepackage{texdate}
|
||||||
|
\initdate{2019}{12}{16}
|
||||||
|
\editingtime{\printfdate{british}}{\advancebymonths{4}\printfdate{british}}
|
||||||
|
|
||||||
|
\settitle
|
||||||
|
|
||||||
|
%% --------------------------------
|
||||||
|
%% | Settings for word separation |
|
||||||
|
%% --------------------------------
|
||||||
|
|
||||||
|
%% Describe separation hints here.
|
||||||
|
%% For more details, see
|
||||||
|
%% http://en.wikibooks.org/wiki/LaTeX/Text_Formatting#Hyphenation
|
||||||
|
\hyphenation{
|
||||||
|
% me-ta-mo-del
|
||||||
|
}
|
||||||
|
|
||||||
|
%% --------------------
|
||||||
|
%% | Float Barriers |
|
||||||
|
%% --------------------
|
||||||
|
\usepackage{placeins}
|
||||||
|
|
||||||
|
%% --------------------
|
||||||
|
%% | Table Packages |
|
||||||
|
%% --------------------
|
||||||
|
\usepackage{tabularx}
|
||||||
|
\usepackage{multirow}
|
||||||
|
|
||||||
|
%% --------------------
|
||||||
|
%% | Maths Packages |
|
||||||
|
%% --------------------
|
||||||
|
\usepackage{amsmath}
|
||||||
|
\usepackage{amssymb}
|
||||||
|
|
||||||
|
%% --------------------
|
||||||
|
%% | Plotting Packages |
|
||||||
|
%% --------------------
|
||||||
|
\usepackage{pgfplots}
|
||||||
|
|
||||||
|
%% ---------------------
|
||||||
|
%% | Generating Frames |
|
||||||
|
%% ---------------------
|
||||||
|
\usepackage[framemethod=TikZ]{mdframed}
|
||||||
|
|
||||||
|
%% --------------------------------
|
||||||
|
%% | PDF Comments |
|
||||||
|
%% --------------------------------
|
||||||
|
\usepackage[colorinlistoftodos, obeyDraft]{todonotes}
|
||||||
|
|
||||||
|
%% --------------------------------
|
||||||
|
%% | Gantt Charts |
|
||||||
|
%% --------------------------------
|
||||||
|
\usepackage{pgfgantt}
|
||||||
|
|
||||||
|
%% --------------------------------
|
||||||
|
%% | Quotation |
|
||||||
|
%% --------------------------------
|
||||||
|
\usepackage{csquotes}
|
||||||
|
\MakeOuterQuote{"}
|
||||||
|
|
||||||
|
%% --------------------------------
|
||||||
|
%% | Bibliography |
|
||||||
|
%% --------------------------------
|
||||||
|
|
||||||
|
%% Use biber instead of BibTeX, see README
|
||||||
|
\usepackage[citestyle=numeric,style=numeric,sorting=none,backend=biber]{biblatex}
|
||||||
|
\addbibresource{outline.bib}
|
||||||
|
|
||||||
|
%% ====================================
|
||||||
|
%% ====================================
|
||||||
|
%% || ||
|
||||||
|
%% || Beginning of the main document ||
|
||||||
|
%% || ||
|
||||||
|
%% ====================================
|
||||||
|
%% ====================================
|
||||||
|
\begin{document}
|
||||||
|
|
||||||
|
%% Set PDF metadata
|
||||||
|
\setpdf
|
||||||
|
|
||||||
|
%% Set the title
|
||||||
|
\maketitle
|
||||||
|
|
||||||
|
%% The Preamble begins here
|
||||||
|
\frontmatter
|
||||||
|
|
||||||
|
\setcounter{page}{1}
|
||||||
|
\pagenumbering{roman}
|
||||||
|
|
||||||
|
%% ------------------------
|
||||||
|
%% | Table of Contents |
|
||||||
|
%% ------------------------
|
||||||
|
\tableofcontents
|
||||||
|
|
||||||
|
\listoffigures
|
||||||
|
\listoftables
|
||||||
|
|
||||||
|
%% -----------------
|
||||||
|
%% | Main part |
|
||||||
|
%% -----------------
|
||||||
|
|
||||||
|
\mainmatter
|
||||||
|
|
||||||
|
\input{sections/00_introduction.tex}
|
||||||
|
\input{sections/20_foundations.tex}
|
||||||
|
\input{sections/30_related_work.tex}
|
||||||
|
\input{sections/40_concept.tex}
|
||||||
|
\input{sections/50_design_and_implementation.tex}
|
||||||
|
\input{sections/60_evaluation.tex}
|
||||||
|
\input{sections/70_further_work.tex}
|
||||||
|
|
||||||
|
%% --------------------
|
||||||
|
%% | Bibliography |
|
||||||
|
%% --------------------
|
||||||
|
|
||||||
|
%% Add entry to the table of contents for the bibliography
|
||||||
|
\printbibliography[heading=bibintoc]
|
||||||
|
|
||||||
|
%% ----------------
|
||||||
|
%% | Appendix |
|
||||||
|
%% ----------------
|
||||||
|
\appendix
|
||||||
|
%\input{sections/appendix.tex}
|
||||||
|
|
||||||
|
\end{document}
|
||||||
273
25_Outline/sdqthesis.cls
Normal file
273
25_Outline/sdqthesis.cls
Normal file
@@ -0,0 +1,273 @@
|
|||||||
|
%% LaTeX2e class for student theses
|
||||||
|
%% sdthesis.cls
|
||||||
|
%%
|
||||||
|
%% Karlsruhe Institute of Technology
|
||||||
|
%% Institute for Program Structures and Data Organization
|
||||||
|
%% Chair for Software Design and Quality (SDQ)
|
||||||
|
%%
|
||||||
|
%% Dr.-Ing. Erik Burger
|
||||||
|
%% burger@kit.edu
|
||||||
|
%%
|
||||||
|
%% Version 1.3.3, 2018-04-17
|
||||||
|
%%
|
||||||
|
%% SVN-Informationen:
|
||||||
|
%% ------------------
|
||||||
|
%% $LastChangedBy: burger $
|
||||||
|
%% $LastChangedRevision: 5524 $
|
||||||
|
%% $LastChangedDate: 2018-04-17 16:49:27 +0200 (Di, 17 Apr 2018) $
|
||||||
|
%% $HeadURL: https://svnserver.informatik.kit.edu/i43/svn/lehre/Abschlussarbeiten-Vorlage/sdqthesis.cls $
|
||||||
|
|
||||||
|
\NeedsTeXFormat{LaTeX2e}
|
||||||
|
\ProvidesClass{sdqthesis}[2017/08/01 v1.3.2 Student thesis class]
|
||||||
|
% Language options. German is also needed in English thesis for the abstract
|
||||||
|
\DeclareOption{ngerman}{\PassOptionsToPackage{\CurrentOption}{babel}}
|
||||||
|
\DeclareOption{english}{\PassOptionsToPackage{main=\CurrentOption,ngerman}{babel}}
|
||||||
|
% Oneside and twoside layout
|
||||||
|
\DeclareOption{oneside}{\PassOptionsToClass{\CurrentOption,BCOR=10mm}{scrbook}}
|
||||||
|
\DeclareOption{twoside}{\PassOptionsToClass{\CurrentOption,BCOR=20mm}{scrbook}}
|
||||||
|
\ProcessOptions\relax
|
||||||
|
% Used to detect language families
|
||||||
|
\RequirePackage{translations}
|
||||||
|
|
||||||
|
%% ---------------------------------------------------------------
|
||||||
|
%% | Based on KOMAscript by Markus Kohm http://www.komascript.de |
|
||||||
|
%% ---------------------------------------------------------------
|
||||||
|
\LoadClass[12pt,a4paper,titlepage=true,DIV=15,headsepline]{scrbook}
|
||||||
|
|
||||||
|
%% ---------------
|
||||||
|
%% | Page Layout |
|
||||||
|
%% ---------------
|
||||||
|
\RequirePackage[headsepline,draft=false]{scrlayer-scrpage}
|
||||||
|
\pagestyle{scrheadings}
|
||||||
|
|
||||||
|
% For one-sided layout, put the page marks on the right margin
|
||||||
|
\if@twoside%
|
||||||
|
\else%
|
||||||
|
\chead[]{}
|
||||||
|
\ohead{\headmark}
|
||||||
|
\cfoot[]{}
|
||||||
|
\ofoot[\pagemark]{\pagemark}
|
||||||
|
\fi%
|
||||||
|
|
||||||
|
\clubpenalty=10000 %prevent orphans
|
||||||
|
\widowpenalty=10000 %prevent widows
|
||||||
|
|
||||||
|
%% --------------
|
||||||
|
%% | Typography |
|
||||||
|
%% --------------
|
||||||
|
|
||||||
|
% T1 font encoding
|
||||||
|
\RequirePackage[T1]{fontenc}
|
||||||
|
\RequirePackage[utf8]{inputenc}
|
||||||
|
|
||||||
|
% serif type: Linux Libertine
|
||||||
|
\RequirePackage{libertine}
|
||||||
|
% Linux Libertine in math mode
|
||||||
|
\RequirePackage[libertine]{newtxmath}
|
||||||
|
|
||||||
|
% grotesque type: Adobe Source Sans Pro
|
||||||
|
\RequirePackage[scaled=.92]{sourcesanspro}
|
||||||
|
|
||||||
|
% monospace type: Bera Mono
|
||||||
|
\RequirePackage[scaled=.78]{beramono}
|
||||||
|
|
||||||
|
% semi-bold type (for subsections and paragraphs)
|
||||||
|
\newcommand*{\sbdefault}{sb}
|
||||||
|
\DeclareRobustCommand{\sbseries}{%
|
||||||
|
\not@math@alphabet\sbseries\relax
|
||||||
|
\fontseries\sbdefault\selectfont}
|
||||||
|
|
||||||
|
\DeclareTextFontCommand{\textsb}{\sbseries}
|
||||||
|
|
||||||
|
\addtokomafont{subsection}{\sbseries}
|
||||||
|
\addtokomafont{subsubsection}{\sbseries}
|
||||||
|
\addtokomafont{paragraph}{\sbseries}
|
||||||
|
|
||||||
|
% microtype for nicer typography
|
||||||
|
\RequirePackage[protrusion=true,expansion=true]{microtype}
|
||||||
|
|
||||||
|
% commands for code and model keywords in text
|
||||||
|
\newcommand{\code}[1]{\texttt{\hyphenchar\font45\relax #1}}
|
||||||
|
\newcommand{\model}[1]{\textsf{#1}}
|
||||||
|
|
||||||
|
% nicer spacing for enumerations
|
||||||
|
\RequirePackage{enumitem}
|
||||||
|
|
||||||
|
%% --------------
|
||||||
|
%% | Title page |
|
||||||
|
%% --------------
|
||||||
|
|
||||||
|
% Logos
|
||||||
|
\makeatletter
|
||||||
|
|
||||||
|
\newcommand{\theexternallogo}{sdqlogo}
|
||||||
|
\newcommand{\externallogo}[1]{\renewcommand{\theexternallogo}{#1}}
|
||||||
|
\newcommand{\printexternallogo}{\includegraphics[height=1.8cm]{logos/\theexternallogo}}
|
||||||
|
\newcommand{\noexternallogo}{\renewcommand{\printexternallogo}{}}
|
||||||
|
|
||||||
|
\newcommand{\thecompanylogo}{sdqlogo}
|
||||||
|
\newcommand{\companylogo}[1]{\renewcommand{\thecompanylogo}{#1}}
|
||||||
|
\newcommand{\printcompanylogo}{\includegraphics[height=1.8cm]{logos/\thecompanylogo}}
|
||||||
|
\newcommand{\nocompanylogo}{\renewcommand{\printcompanylogo}{}}
|
||||||
|
|
||||||
|
\newcommand{\thesecondgrouplogo}{sdqlogo}
|
||||||
|
\newcommand{\secondgrouplogo}[1]{\renewcommand{\thesecondgrouplogo}{#1}}
|
||||||
|
\newcommand{\printsecondgrouplogo}{\includegraphics[height=1.8cm]{logos/\thesecondgrouplogo}}
|
||||||
|
\newcommand{\nosecondgrouplogo}{\renewcommand{\printsecondgrouplogo}{}}
|
||||||
|
|
||||||
|
\newcommand{\thegrouplogo}{sdqlogo}
|
||||||
|
\newcommand{\grouplogo}[1]{\renewcommand{\thegrouplogo}{#1}}
|
||||||
|
\newcommand{\printgrouplogo}{\includegraphics[height=1.8cm]{logos/\thegrouplogo}}
|
||||||
|
\newcommand{\nogrouplogo}{\renewcommand{\printgrouplogo}{}}
|
||||||
|
|
||||||
|
\titlehead{%
|
||||||
|
% KIT logo german/english
|
||||||
|
\ifcurrentbaselanguage{English}
|
||||||
|
{\includegraphics[height=1.8cm]{logos/kitlogo_en_cmyk}}
|
||||||
|
{\includegraphics[height=1.8cm]{logos/kitlogo_de_cmyk}}
|
||||||
|
\hfill
|
||||||
|
% SDQ logo
|
||||||
|
\printexternallogo
|
||||||
|
\hspace{5mm}
|
||||||
|
\printcompanylogo
|
||||||
|
\hspace{5mm}
|
||||||
|
\printsecondgrouplogo
|
||||||
|
\hspace{5mm}
|
||||||
|
\printgrouplogo
|
||||||
|
\hspace{5mm}
|
||||||
|
\ThisCenterWallPaper{1}{title-background.pdf}
|
||||||
|
}
|
||||||
|
|
||||||
|
%
|
||||||
|
\setkomafont{title}{\huge\sffamily\bfseries}
|
||||||
|
\setkomafont{subtitle}{\normalfont\large}
|
||||||
|
|
||||||
|
\uppertitleback{Karlsruher Institut für Technologie\\ Fakultät für Informatik\\ Postfach 6980\\ 76128 Karlsruhe}
|
||||||
|
|
||||||
|
%% variables for title page
|
||||||
|
\newcommand{\theinstitute}{\ifcurrentbaselanguage{English}
|
||||||
|
{Institute for Program Structures and Data Organization (IPD)}
|
||||||
|
{Institut für Programmstrukturen und Datenorganisation (IPD)}}
|
||||||
|
\newcommand{\thethesistype}{}
|
||||||
|
\newcommand{\thereviewerone}{}
|
||||||
|
\newcommand{\thereviewertwo}{}
|
||||||
|
\newcommand{\theadvisorone}{}
|
||||||
|
\newcommand{\theadvisortwo}{}
|
||||||
|
\newcommand{\theeditstart}{}
|
||||||
|
\newcommand{\theeditend}{}
|
||||||
|
|
||||||
|
%% formatting commands for titlepage
|
||||||
|
\newcommand{\thesistype}[1]{\subtitle{\vskip2em #1 \ifcurrentbaselanguage{English}{of}{von}}%
|
||||||
|
\renewcommand{\thethesistype}{#1}}
|
||||||
|
\newcommand{\myinstitute}[1]{\renewcommand{\theinstitute}{#1}}
|
||||||
|
\newcommand{\reviewerone}[1]{\renewcommand{\thereviewerone}{#1}}
|
||||||
|
\newcommand{\reviewertwo}[1]{\renewcommand{\thereviewertwo}{#1}}
|
||||||
|
\newcommand{\advisorone}[1]{\renewcommand{\theadvisorone}{#1}}
|
||||||
|
\newcommand{\advisortwo}[1]{\renewcommand{\theadvisortwo}{#1}}
|
||||||
|
|
||||||
|
\newcommand{\editingtime}[2]{%
|
||||||
|
\renewcommand{\theeditstart}{#1}%
|
||||||
|
\renewcommand{\theeditend}{#2}%
|
||||||
|
%% do not show the date
|
||||||
|
\date{}
|
||||||
|
}
|
||||||
|
|
||||||
|
\newcommand{\settitle}{%
|
||||||
|
\publishers{%
|
||||||
|
\large
|
||||||
|
\ifcurrentbaselanguage{English}{at the Department of Informatics}%
|
||||||
|
{an der Fakultät für Informatik}\\
|
||||||
|
\theinstitute\\[2em]
|
||||||
|
\begin{tabular}{l l}
|
||||||
|
\ifcurrentbaselanguage{English}{Reviewer}{Erstgutachter}: & \thereviewerone\\
|
||||||
|
\ifcurrentbaselanguage{English}{Second reviewer}{Zweitgutachter}: & \thereviewertwo\\
|
||||||
|
\ifcurrentbaselanguage{English}{Advisor}{Betreuender Mitarbeiter}: & \theadvisorone\\
|
||||||
|
% if there is no second advisor, do not output this line
|
||||||
|
\ifthenelse{\equal{\theadvisortwo}{}}{}{%
|
||||||
|
\ifcurrentbaselanguage{English}{Second advisor}{Zweiter betreuender Mitarbeiter}: & \theadvisortwo\\
|
||||||
|
}
|
||||||
|
\end{tabular}
|
||||||
|
\vskip2em
|
||||||
|
\theeditstart{} -- \theeditend
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
%% -----------------------------
|
||||||
|
%% | Abstract/Acknowledgements |
|
||||||
|
%% -----------------------------
|
||||||
|
|
||||||
|
\newcommand{\abstract}[1][\abstractname]{\chapter*{#1}}
|
||||||
|
\newcommand{\Abstract}[1][\abstractname]{\chapter*{#1}\addcontentsline{toc}{chapter}{#1}}
|
||||||
|
|
||||||
|
\def\ackname{Acknowledgments}
|
||||||
|
\def\abstractname{Abstract}
|
||||||
|
\def\switcht@deutsch{\svlanginfo
|
||||||
|
\def\ackname{Danksagung}
|
||||||
|
\def\abstractname{Kurzfassung}
|
||||||
|
}
|
||||||
|
\def\switcht@english{\svlanginfo
|
||||||
|
\def\ackname{Acknowledgements}
|
||||||
|
\def\abstractname{Abstract}
|
||||||
|
}
|
||||||
|
|
||||||
|
%% In English theses, an additional German Abstract is needed.
|
||||||
|
\newcommand{\includeabstract}{
|
||||||
|
\ifcurrentbaselanguage{English}{
|
||||||
|
% include English and German abstracts
|
||||||
|
\input{sections/abstract_en.tex}
|
||||||
|
\begin{otherlanguage}{ngerman}
|
||||||
|
\input{sections/abstract_de.tex}
|
||||||
|
\end{otherlanguage}
|
||||||
|
}{
|
||||||
|
% include only German abstract
|
||||||
|
\include{sections/abstract_de}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
%% ------------
|
||||||
|
%% | Packages |
|
||||||
|
%% ------------
|
||||||
|
|
||||||
|
% draft mode
|
||||||
|
\RequirePackage{ifdraft}
|
||||||
|
\RequirePackage{ifthen}
|
||||||
|
|
||||||
|
% enumerate subsubsections
|
||||||
|
\setcounter{secnumdepth}{3}
|
||||||
|
|
||||||
|
% wallpaper for title page (KIT-Frame)
|
||||||
|
\RequirePackage{wallpaper}
|
||||||
|
|
||||||
|
% subimport of files
|
||||||
|
\RequirePackage{import}
|
||||||
|
|
||||||
|
% languages
|
||||||
|
\RequirePackage{babel}
|
||||||
|
|
||||||
|
% hyphenation for compound words
|
||||||
|
\RequirePackage[shortcuts]{extdash}
|
||||||
|
|
||||||
|
% nice tables
|
||||||
|
\RequirePackage{booktabs}
|
||||||
|
\RequirePackage{longtable}
|
||||||
|
\RequirePackage{array}
|
||||||
|
|
||||||
|
% show graphics in draft mode
|
||||||
|
\RequirePackage{graphicx}
|
||||||
|
\setkeys{Gin}{draft=false}
|
||||||
|
|
||||||
|
% appendix
|
||||||
|
\RequirePackage[toc,title,header]{appendix}
|
||||||
|
\noappendicestocpagenum
|
||||||
|
|
||||||
|
% PDF specific packages
|
||||||
|
\RequirePackage[hyphens]{url}
|
||||||
|
\RequirePackage[breaklinks,colorlinks=false]{hyperref}
|
||||||
|
\newcommand\setpdf{\hypersetup{%
|
||||||
|
pdftitle={\thethesistype},%
|
||||||
|
pdfsubject={\@title},%
|
||||||
|
pdfauthor={\@author},%
|
||||||
|
pdfborder={0 0 0},%
|
||||||
|
}%
|
||||||
|
\let\theauthor\@author
|
||||||
|
}
|
||||||
46
25_Outline/sections/00_introduction.tex
Normal file
46
25_Outline/sections/00_introduction.tex
Normal file
@@ -0,0 +1,46 @@
|
|||||||
|
\chapter{Introduction}
|
||||||
|
\label{ch:Introduction}
|
||||||
|
|
||||||
|
\section{Problem}
|
||||||
|
\label{sec:Introduction:Problem}
|
||||||
|
|
||||||
|
A group of people with different personal preferences wants to find a solution to a problem with high variability. Making decisions in the group comes with problems as a lack of communication leads to worse decision outcomes \cite{atasItemRecommendationUsing2017}. Group dynamics and biases can lead to suboptimal decisions \cite{kerrBiasJudgmentComparing1996}. Generally group decisions are complex and often the process that yields the decision result is unstructured, thereby not providing any reproducibility of the success. Groups have different power structures and usually individuals have different interests. Moreover finding solutions is a rather complex task and group decisions can suffer intransparency.
|
||||||
|
|
||||||
|
Examples of group recommendation decisions are:
|
||||||
|
\begin{itemize}
|
||||||
|
\item A companies truck fleet (e.g. driver, purchasing-manager, marketing manager)
|
||||||
|
\item A companies customer management software system (e.g. salesperson, human resource manager, accounting manager)
|
||||||
|
\item A public project to get a new area at a zoo (e.g. visitor, director, animal keeper)
|
||||||
|
\item Managing a forest (e.g. owner, environmental protection agency, consumer representative)
|
||||||
|
\item An existing company building and how it should be furnished (e.g. landlord, employee representative, CEO)
|
||||||
|
\end{itemize}
|
||||||
|
|
||||||
|
These examples are different from an ordinary group decision in the sense that the components the solution is build from are standardised but a solution is highly individual because of high variability. The solution space therefore is rather large.
|
||||||
|
|
||||||
|
\section{Idea}
|
||||||
|
\label{sec:Introduction:Idea}
|
||||||
|
|
||||||
|
To support groups in their decision making product configuration can be used. It allows to accurately map constraints and dependencies in complex problems and to map the solution space. Using a group recommender a group is supported in their configuration decisions. The goal is to show that these approaches can help a group with the configuration task presented by the usage of a configurator and to better process individual preferences than a human can.
|
||||||
|
|
||||||
|
|
||||||
|
There does not exists much research on recommendation for group configuration, however it is comprised of two different areas of research, recommenders for groups and recommenders for configuration.
|
||||||
|
The existing literature on recommenders for groups is extensive with many different approaches and domains \cite{delicResearchMethodsGroup2016, chenInterfaceInteractionDesign2011, atasItemRecommendationUsing2017, jamesonRecommendationGroups2007, chenEmpatheticonsDesigningEmotion2014, liuCGSPAComprehensiveGroup2019}. \citeauthor{felfernigGroupRecommenderSystems2018} give an overview about basic approaches \cite{felfernigGroupRecommenderSystems2018}.
|
||||||
|
In the area of product configuration research about recommender systems is undertaken as well \cite{pereiraFeatureBasedPersonalizedRecommender2016, scholzConfigurationbasedRecommenderSystem2017, scholzEffectsDecisionSpace2017}.
|
||||||
|
Group configuration is a more specialized sub field of configuration therefore less attention has been directed towards it and because of that there has not been much research on recommenders that are for group recommendation in a configuration setting.
|
||||||
|
|
||||||
|
\section{Benefits}
|
||||||
|
\label{sec:Introduction:Benefits}
|
||||||
|
|
||||||
|
The benefits of this approach are, that the need for a group to communicate directly is reduced. Each user gives their own preferences and the group will get a recommendation based on that. This allows to reduce problems arising in groups decisions like lack of communication and bias in groups. Additionally this shows the viability of combining group recommendations and configuration approaches.
|
||||||
|
|
||||||
|
\section{Action}
|
||||||
|
\label{sec:Introduction:Action}
|
||||||
|
|
||||||
|
As resulting action in this thesis a prototype will be designed, implemented and evaluated that achieves the following objectives.
|
||||||
|
\begin{itemize}
|
||||||
|
\item A system should give recommendation for the group using a scoring function that takes into account preferences of group members and the current state of the situation.
|
||||||
|
\item Recommendations should allow different scoring functions.
|
||||||
|
\item Recommendations should always be valid options.
|
||||||
|
\item The system should consider all preferences of individuals in a group and find a solution that most people of the group are happy with.
|
||||||
|
\end{itemize}
|
||||||
|
The results are communicated through this thesis. Thereby adhering to the research method of design science research \cite{peffersDesignScienceResearch2007}.
|
||||||
239
25_Outline/sections/20_foundations.tex
Normal file
239
25_Outline/sections/20_foundations.tex
Normal file
@@ -0,0 +1,239 @@
|
|||||||
|
\chapter{Foundations}
|
||||||
|
\label{ch:Foundations}
|
||||||
|
|
||||||
|
\section{Product Configuration}
|
||||||
|
\label{sec:Foundations:ProductConfiguration}
|
||||||
|
|
||||||
|
Product configuration is a process consisting of a series of decision tasks whereby a product is constructed of components which interact with each other. During a configuration process no new components are created. Their interplay and specification is defined beforehand \cite[~ pp. 42, 43]{sabinProductConfigurationFrameworksa1998}. This section defines product configuration analogous to \citeauthor{felfernigOpenConfiguration2014} \cite{felfernigOpenConfiguration2014}.
|
||||||
|
|
||||||
|
Formally a configuration problem can be specified as a \emph{constraint satisfaction problem (CSP)} \cite{tsangFoundationsConstraintSatisfaction1993} as
|
||||||
|
\begin{equation} \label{eq:Foundations:ProductConfiguration:ConstraintSatisfactionProblem}
|
||||||
|
CSP(V,\mathfrak{D},C),
|
||||||
|
\end{equation}
|
||||||
|
where we have a set of \emph{variables} $V$ (which in this thesis will also be referred to as \emph{features}) with
|
||||||
|
\begin{equation} \label{eq:Foundations:ProductConfiguration:Variables}
|
||||||
|
V = \{v_1, \dotsc, v_m\},
|
||||||
|
\end{equation}
|
||||||
|
a \emph{domain mapping} $\mathfrak{D}$ that maps variable to their corresponding domain values $D$ (which in this thesis will be also referred to as \emph{characteristics}) i.e. the values that can be assigned to each variable
|
||||||
|
\begin{equation}\label{eq:Foundations:ProductConfiguration:DomainMapping}
|
||||||
|
\mathfrak{D} : V \to D; x \mapsto \mathfrak{D}(x) \qquad where \ D = \{d_1, \dotsc, d_o\},
|
||||||
|
\end{equation}
|
||||||
|
and \emph{constraints} $C$ that limit the solution space with
|
||||||
|
\begin{equation}\label{eq:Foundations:ProductConfiguration:Constraints}
|
||||||
|
C = \{c_1, \cdots, c_k\}.
|
||||||
|
\end{equation}
|
||||||
|
|
||||||
|
\subsection{Configuration State}
|
||||||
|
|
||||||
|
We will define a \emph{configuration} $S$ as a tuple of variables (\autoref{eq:Foundations:ProductConfiguration:Variables}) and their corresponding domain value with
|
||||||
|
\begin{equation} \label{eq:Foundations:ProductConfiguration:ConfigurationState}
|
||||||
|
S = \{ (v_i,\ d) \ |\ v_i \in V \ \land \ d \in \mathfrak{D}(i),\ i=1,\dotsc,m \}.
|
||||||
|
\end{equation}
|
||||||
|
Essentially it is a set of variables and assigned values.
|
||||||
|
|
||||||
|
\subsection{Finished Configuration}
|
||||||
|
To define a \emph{finished configuration} we first need to define what a valid configuration is. Therefore we define $is\_valid$ as
|
||||||
|
\begin{equation} \label{eq:Foundations:ProductConfiguration:IsValid}
|
||||||
|
is\_valid : S \to \{true, false\}; x \mapsto
|
||||||
|
\begin{cases}
|
||||||
|
true, & S \in solution\_space \\
|
||||||
|
false, & \text{otherwise}
|
||||||
|
\end{cases},
|
||||||
|
\end{equation}
|
||||||
|
with $solution\_space$ being the solution space of the corresponding constraint satisfaction problem. A \emph{finished configuration} $S_F$ is a configuration that contains all variables and is a valid configuration:
|
||||||
|
\begin{equation} \label{eq:Foundations:ProductConfiguration:FinishedConfiguration}
|
||||||
|
S_F \subset S,\ where \ \forall v_i \in V (\exists (v_i, d) \in S_F : d \in \mathfrak{D}(i)) \land is\_valid(S_F).
|
||||||
|
\end{equation}
|
||||||
|
In practice a finished configuration of a product (or solution) is something that is ready to be produced. For example if we are configuring a car, this means that the car could be produced in the specified way that is given by the finished configuration.
|
||||||
|
|
||||||
|
|
||||||
|
\section{Group-Based Product Configuration}
|
||||||
|
\label{sec:Foundations:GroupBasedProductConfiguration}
|
||||||
|
|
||||||
|
Instead of a single person configuring a product, a group of people is configuring one product which can be useful in multi-stakeholder decisions. This setting needs mechanisms for describing the preferences of multiple people. Therefore we will add to our definitions, a set of users $U$ with
|
||||||
|
\begin{equation}\label{eq:Foundations:ProductConfiguration:Users}
|
||||||
|
U = \{1, \dotsc, n\},
|
||||||
|
\end{equation}
|
||||||
|
a users \emph{utility function} that maps a domain value to a utility value and is only known to the user
|
||||||
|
\begin{equation}
|
||||||
|
\begin{split}
|
||||||
|
u_i(d_j), \qquad \text{where}\ & d_j \in \mathfrak{D}(j),\\
|
||||||
|
& 1 <= j <= m, \\
|
||||||
|
& 1 <= i <= n .
|
||||||
|
\end{split}
|
||||||
|
\end{equation}
|
||||||
|
\citeauthor{raabKollaborativeProduktkonfigurationEchtzeit2019}'s approach, which this thesis extends, is to treat the group configuration the same as one shared configuration and to sync the selection of attributes across clients \cite{raabKollaborativeProduktkonfigurationEchtzeit2019}.
|
||||||
|
|
||||||
|
\section{Recommender System}
|
||||||
|
\label{sec:Foundations:RecommenderSystem}
|
||||||
|
|
||||||
|
A recommender system is a system that gives individualized recommendations to users to guide them through a large space of objects \cite[~ p. 331]{burkeHybridRecommenderSystems2002}.
|
||||||
|
|
||||||
|
There are several approaches to recommender systems presented in \cite{felfernigGroupRecommenderSystems2018}, these are: collaborative filtering, \todo[inline]{critiquing-based recommendation,} constraint-based recommendation, content-based filtering and hybrid recommendation.
|
||||||
|
|
||||||
|
\begin{table}
|
||||||
|
\centering
|
||||||
|
\begin{tabular}{ l | c | c | c | c | c }
|
||||||
|
& The Matrix & Titanic & Die Hard & Forest Gump & Wall-E \\ \hline
|
||||||
|
John & 5 & 1 & & 2 & 2 \\
|
||||||
|
Lucy & 1 & 5 & 2 & 5 & 5 \\
|
||||||
|
Eric & 2 & ? & 3 & 5 & 4 \\
|
||||||
|
Diane & 4 & 3 & 5 & 3 & \\
|
||||||
|
\end{tabular}
|
||||||
|
\caption{An example showing users ratings for movies by \citeauthor{ningComprehensiveSurveyNeighborhoodBased2015} \cite{ningComprehensiveSurveyNeighborhoodBased2015}.}
|
||||||
|
|
||||||
|
\label{tab:Foundations:RecommenderSystem:MoviePreferences}
|
||||||
|
\end{table}
|
||||||
|
|
||||||
|
\subsection{Collaborative Filtering}
|
||||||
|
In collaborative filtering a users rating for unknown items is predicted by finding similar users who have rated it. Their rating is used as prediction
|
||||||
|
\cite[~ pp. 7, 8]{felfernigDecisionTasksBasic2018}.
|
||||||
|
|
||||||
|
Collaborative Filtering can not only be done using users, it can also be item-based. Hereby the similarity between items is used for a recommendation and not similar users \cite{ricciRecommenderSystemsHandbook2015}. In the context of configuration the similarity to other historic configurations can be used which makes it an item based approach.
|
||||||
|
|
||||||
|
\autoref{tab:Foundations:RecommenderSystem:MoviePreferences} shows an example rating matrix. A simple user-based way to calculate a rating would be to use a k-nearest neighbour (kNN) algorithm and then take the average of those ratings. Using this method with $k := 2$ and euclidean distance our closest neighbours are \textit{Lucy} and \textit{Diane} therefore giving us a predicted rating of $4$. If we use an item based approach instead, we will try to find similar items based on the users rating. An example of similar items here would be \textit{Forest Gump} and \textit{Wall-E} as John and Lucy each have given them the sane rating and Eric's rating is off by one. Using again kNN with $k := 2$ we find that \textit{Forest Gump} and \textit{Wall-E} are the most similar to \textit{Titanic} thereby having a predicted rating of $4.5$.
|
||||||
|
However this simple similarity and prediction function does not take into account different distances. For example Lucy's ratings are more similar compared to Eric's than Diane's but Diane's and Lucy's rating is valued the same amount.
|
||||||
|
|
||||||
|
\todo[inline]{
|
||||||
|
Critiquing-Based Recommendation %\subsection{Critiquing-Based Recommendation}
|
||||||
|
Items are recommended and a user can then critique on attributes of the recommendation. Based on that a similar item which does not have those critiques can be recommended. User preferences are implicitly collected this way \cite{knijnenburgEachHisOwn2011}.
|
||||||
|
|
||||||
|
With a critique based approach Eric sees a suggestion of watching \textit{The Island} and its attributes. He then can say that he finds this movie has too much action. The critique based recommender will now present a movie that has similar attributes as \textit{The Island} but with less action. For example \textit{Titanic} could be the next suggestion.
|
||||||
|
}
|
||||||
|
|
||||||
|
\subsection{Constraint-Based Recommendation}
|
||||||
|
Hereby filter rules are defined which filter out items that don't fulfil specified rules. A user models their requirements with these rules and thereby gets a list of recommended items. This approach requires deep knowledge about a product because it needs a detailed description of features \cite[~ p. 12]{felfernigDecisionTasksBasic2018}.
|
||||||
|
|
||||||
|
Our movie example (see \autoref{tab:Foundations:RecommenderSystem:MoviePreferences}) requires additional information for example about plot structure, pacing, length and other attributes of the movie. Now the user could enter filtering criteria, e.g. that the movie should be no longer than 120 minutes, be categorized as action or thriller and have a fast pacing. The system will only recommend movies that fit into these categories.
|
||||||
|
|
||||||
|
\subsection{Content-Based Filtering}
|
||||||
|
For the content-based filtering approach, items and users are assigned to categories. Based on consumption and rating of items a user will have implicit ratings for categories. Predictions are now made based on a categories of the new item \cite[~ pp. 10, 11]{felfernigDecisionTasksBasic2018}.
|
||||||
|
|
||||||
|
Using our example from \autoref{tab:Foundations:RecommenderSystem:MoviePreferences} and using an additional category matrix (see \autoref{tab:Foundations:RecommenderSystem:ContentBasedFilteringCategories}) we can derive a rating matrix per category (using the average rating of the user of each movie contained in this category). The result can be seen in \autoref{tab:Foundations:RecommenderSystem:ContentBasedFilteringProfiles}. To predict Eric's rating of Titanic we now can use the categories of \textit{Titanic} and average out Eric's implicit rating per category. Titanic is only in the category romance and as Eric's rating of \textit{Forest Gump} is $5$ the prediction is a rating of $5$. Categories don't have to be the genre, they could be any kind of data about a movie.
|
||||||
|
|
||||||
|
\begin{table}
|
||||||
|
\centering
|
||||||
|
\begin{tabular}{ l | c | c | c | c | c }
|
||||||
|
& The Matrix & Titanic & Die Hard & Forest Gump & Wall-E \\ \hline
|
||||||
|
Action & x & & x & & \\
|
||||||
|
Sci-Fi & x & & & & \\
|
||||||
|
Thriller & & & x & & \\
|
||||||
|
Romance & & x & & x & \\
|
||||||
|
Family & & & & x & x \\
|
||||||
|
\end{tabular}
|
||||||
|
\caption{Showing example categories for movies in \autoref{tab:Foundations:RecommenderSystem:MoviePreferences}.}
|
||||||
|
|
||||||
|
\label{tab:Foundations:RecommenderSystem:ContentBasedFilteringCategories}
|
||||||
|
\end{table}
|
||||||
|
|
||||||
|
\begin{table}
|
||||||
|
\centering
|
||||||
|
\begin{tabular}{ l | c | c | c | c | c }
|
||||||
|
& Action & Sci-Fi & Thriller & Romance & Family \\ \hline
|
||||||
|
John & 5 & 5 & & 1.5 & 2 \\
|
||||||
|
Lucy & 1.5 & 1 & 2 & 5 & 5 \\
|
||||||
|
Eric & 2.5 & 2 & 3 & 5 & 4.5 \\
|
||||||
|
Diane & 4.5 & 4 & 5 & 3 & 3 \\
|
||||||
|
\end{tabular}
|
||||||
|
\caption{User profiles generated from categories and rating from \autoref{tab:Foundations:RecommenderSystem:MoviePreferences} and \autoref{tab:Foundations:RecommenderSystem:ContentBasedFilteringCategories}.}
|
||||||
|
|
||||||
|
\label{tab:Foundations:RecommenderSystem:ContentBasedFilteringProfiles}
|
||||||
|
\end{table}
|
||||||
|
|
||||||
|
\subsubsection{Advantages over Collaborative Filtering}
|
||||||
|
\begin{itemize}
|
||||||
|
\item No cold start problem for items
|
||||||
|
\item No grey sheep problem as not dependent on similar groups having existed before.
|
||||||
|
\item Domain knowledge is existent
|
||||||
|
\item No issues with data sparsity as item description is given by product structure
|
||||||
|
\item No reliance on preferences that would result in a comparison space that is too large
|
||||||
|
\item No dependence of historic group preference accuracy
|
||||||
|
\end{itemize}
|
||||||
|
|
||||||
|
\todo[inline]{
|
||||||
|
Advantages over Critique-Based Recommendation %\subsubsection{Advantages over Critique-Based Recommendation
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
\subsubsection{Advantages over Constrained-Based Recommendation}
|
||||||
|
|
||||||
|
\begin{itemize}
|
||||||
|
\item Configuration state does not cause absence of recommendations
|
||||||
|
\item Expendable to also support constraints
|
||||||
|
\item No need to handle inconsistencies explicitly
|
||||||
|
\end{itemize}
|
||||||
|
|
||||||
|
|
||||||
|
\begin{table}
|
||||||
|
\begin{center}
|
||||||
|
\begin{tabularx}{\columnwidth}{X|X|X}
|
||||||
|
& advantages & disadvantages \\
|
||||||
|
\hline
|
||||||
|
Collaborative Filtering
|
||||||
|
& \begin{itemize}
|
||||||
|
\item Serendipity of results
|
||||||
|
\item Automatic learning of market segments
|
||||||
|
\item No domain knowledge required
|
||||||
|
\end{itemize}
|
||||||
|
& \begin{itemize}
|
||||||
|
\item Cold start problem for users and items
|
||||||
|
\item Grey sheep problem
|
||||||
|
\item Quality based on rating quality
|
||||||
|
\item Data sparsity
|
||||||
|
\item Privacy not guaranteed
|
||||||
|
\end{itemize} \\
|
||||||
|
\hline
|
||||||
|
Content-Based Filtering
|
||||||
|
& \begin{itemize}
|
||||||
|
\item No community required
|
||||||
|
\item User independent
|
||||||
|
\item Transparent
|
||||||
|
\item No item cold start
|
||||||
|
\item Simplicity
|
||||||
|
\item Robust
|
||||||
|
\item Stable to constant influx of new users
|
||||||
|
\end{itemize}
|
||||||
|
& \begin{itemize}
|
||||||
|
\item Overspecialisation
|
||||||
|
\item No serendipity
|
||||||
|
\item User cold start problem
|
||||||
|
\item Requires domain knowledge
|
||||||
|
\end{itemize} \\
|
||||||
|
\hline
|
||||||
|
\todo[inline]{Critique-Based Recommendation } & \todo[inline]{ todo: positives } & \todo[inline]{ todo: negatives } \\
|
||||||
|
Constraint-Based Recommendation
|
||||||
|
& \begin{itemize}
|
||||||
|
\item Transparent
|
||||||
|
\item Good for non discrete values
|
||||||
|
\end{itemize}
|
||||||
|
& \begin{itemize}
|
||||||
|
\item Inconsistent constraints
|
||||||
|
\item No results
|
||||||
|
\end{itemize} \\
|
||||||
|
\end{tabularx}
|
||||||
|
\caption{A description of the advantages and disadvantages of common recommendation techniques \cite{richthammerSituationAwarenessRecommender2018, shokeenStudyFeaturesSocial2019,hahslerRecommenderlabFrameworkDeveloping2015, aminiDiscoveringImpactKnowledge2011, suSurveyCollaborativeFiltering2009}}
|
||||||
|
\label{tab:Foundations:RecommenderComparison}
|
||||||
|
\end{center}
|
||||||
|
\end{table}
|
||||||
|
|
||||||
|
\subsection{Hybrid Recommendation}
|
||||||
|
A hybrid recommender combines different recommendation approaches to use the strengths of each individual one and to reduce effects of weaknesses \cite{burkeHybridRecommenderSystems2002}.
|
||||||
|
|
||||||
|
\section{Group Recommender System}
|
||||||
|
\label{sec:Foundations:GroupRecommenderSystem}
|
||||||
|
|
||||||
|
A group recommender system is a recommender system aimed at making recommendations for a group instead of a single user. To make recommendations group members preferences have to be aggregated. This can be done by either aggregating single user recommendations or by merging preferences of each user into a group preference model. Based on the resulting preference model recommendation strategies as described in \autoref{sec:Foundations:RecommenderSystem} can be used to generate recommendations \cite{jamesonRecommendationGroups2007}.
|
||||||
|
|
||||||
|
For a group recommender system additional definitions are needed. The attitude of a user is represented by their preferences $P$ which is directly related to the utility a user has from a domain value being present in the configuration. Let
|
||||||
|
\begin{gather} \label{tab:Foundations:GroupRecommenderSystem:Preferences}
|
||||||
|
P = \{ P_1, \dotsc, P_n\},\ \text{where} \\
|
||||||
|
P_i = \{(d,\ u_i(d)) \ | \ \forall d \in \mathfrak{D}(i),\ i=1,\dotsc,m \} \notag
|
||||||
|
\end{gather}
|
||||||
|
|
||||||
|
\todo[inline]{example of a group recommender}
|
||||||
|
\todo[inline]{go more into detail about preference aggregation}
|
||||||
|
|
||||||
|
|
||||||
|
\FloatBarrier
|
||||||
|
|
||||||
|
|
||||||
37
25_Outline/sections/30_related_work.tex
Normal file
37
25_Outline/sections/30_related_work.tex
Normal file
@@ -0,0 +1,37 @@
|
|||||||
|
\chapter{Related Work}
|
||||||
|
\label{ch:Related_Work}
|
||||||
|
|
||||||
|
\section{Group Recommender Systems}
|
||||||
|
\label{sec:Related_Work:GroupRecommender}
|
||||||
|
|
||||||
|
\begin{description}[style=unboxed, leftmargin=0cm, font=\normalfont]
|
||||||
|
\item[\citeauthor{choudharyMulticriteriaGroupRecommender2020}] propose a multi-criteria group recommender system \cite{choudharyMulticriteriaGroupRecommender2020}. An analytical hierarchy process is used to learn priorities for film features like story, action, direction and to then make a number of best recommendations for a group of users. Their approach works well for film selection and they observe that it is easier to make recommendations for homogenous groups than for random groups. Also small groups receive better recommendations compared to large ones.
|
||||||
|
|
||||||
|
\item[\citeauthor{chenInterfaceInteractionDesign2011}] looks at interface and interaction designs that supports the overall group and does not only consider each user individually. Chen designs a music recommendation system \emph{GroupFun} with a focus on groups that tries to enhance mutual awareness and transparency. \citeauthor{chenInterfaceInteractionDesign2011}'s assessment is that this work is still in a preliminary stage\cite{chenInterfaceInteractionDesign2011}. Further work in that area was conducted by \citeauthor{chenEmpatheticonsDesigningEmotion2014} looking at emotional awareness in groups and how that can be visualised in a user interface \cite{chenEmpatheticonsDesigningEmotion2014}.
|
||||||
|
\end{description}
|
||||||
|
|
||||||
|
\section{Group-Based Configuration}
|
||||||
|
\label{sec:Related_Work:GroupBasedConfiguration}
|
||||||
|
|
||||||
|
\begin{description}[style=unboxed, leftmargin=0cm, font=\normalfont]
|
||||||
|
\item[\citeauthor{raabKollaborativeProduktkonfigurationEchtzeit2019}] builds a collaborative configurator based on the CAS Merlin Configurator. Here groups of people are able to simultaneously configure a product \cite{raabKollaborativeProduktkonfigurationEchtzeit2019}. If there are any conflicts, a conflict resolution process is started. However the prototype only allows a majority voting approach and does not provide any further group decision support. Also this process only starts upon the selection of an invalid state that gives alternatives.
|
||||||
|
|
||||||
|
\item[\citeauthor{felferningGroupBasedConfiguration2016}] introduce basic definitions of group based configuration task, show what conflicts can occur, how to deal with inconsistencies in preferences among group members and how to integrate different decision heuristics into this process \cite{felferningGroupBasedConfiguration2016}.
|
||||||
|
|
||||||
|
\item[\citeauthor{velasquez-guevaraMultiSPLOTSupportingMultiuser2018}] implement a web based simultaneous group-based configuration system that uses constraint programming \cite{velasquez-guevaraMultiSPLOTSupportingMultiuser2018}. Hereby each user configures according to their own preferences and the system proposes a configuration according to different strategies. These strategies are maximization of selections (which means finding the solution with the largest number of features selected), minimizing conflicting selections (which means to minimize the inclusion of features that have conflicts) and to prioritize decisions from some users.
|
||||||
|
\end{description}
|
||||||
|
|
||||||
|
\section{Recommender Systems for Configuration}
|
||||||
|
\label{sec:Related_Work:RecommenderSystemsForConfiguration}
|
||||||
|
\begin{description}[style=unboxed, leftmargin=0cm, font=\normalfont]
|
||||||
|
\item[\citeauthor{rubinshteynEntwicklungHybridenRecommender2018}] looks at different approaches to recommendation and implements a prototype with CAS Merlin Configurator which uses a hybrid recommender system \cite{rubinshteynEntwicklungHybridenRecommender2018}. His prototype combines constraint-based filtering with collaborative filtering and achieves better results in terms of precision than non-hybrid systems using collaborative filtering and constraint-based recommendation. In terms of recall his hybrid does not surpass the high numbers of constraint-based recommendation but improves upon collaborative-filtering.
|
||||||
|
|
||||||
|
\item [\citeauthor{benzMoeglichkeitenIntelligenterEmpfehlungssysteme2017}] uses a constraint based recommender that uses fuzzy logic to relax constraints and thereby reducing the amount of times where the recommender is unable to make recommendations \cite{benzMoeglichkeitenIntelligenterEmpfehlungssysteme2017}. With his approach a product manager has direct influence on the recommendations. Rules for recommendations hereby are not automatically learned but only manually created and relate to predefined user interest categories.
|
||||||
|
|
||||||
|
\item [\citeauthor{ullmannEntwurfUndUmsetzung2017}] implements a recommendation engine that is able to estimate customer budgets, a k-nearest neighbour classifier for finding a base configuration and non-negative matrix factorization combined with nearest neighbour to find configurations for specific users \cite{ullmannEntwurfUndUmsetzung2017}. \par
|
||||||
|
|
||||||
|
\item[\citeauthor{wetzelPersonalisierterUndLernender2017}] combines collaborative filtering and click-stream analysis \cite{wetzelPersonalisierterUndLernender2017}. For collaborative filtering he implements three filtering algorithms: k-nearest neighbour, weighted majority voting and non-negative matrix factorization. Collaborative filtering is used to find configurations that are similar to the current configuration. Click-stream analysis is done by using n-grams and the Smith-Waterman algorithm. \citeauthor{wetzelPersonalisierterUndLernender2017} also tries to use click-stream data in combination with Markov chains to give recommendations on how configuration options should be ordered in a configuration form but click-streams do not yield any improvements in terms of accuracy and recall.
|
||||||
|
|
||||||
|
\item[\citeauthor{falknerRecommendationTechnologiesConfigurable2011}] provide an overview of recommendation approaches for configuration to improve usability of configuration systems \cite{falknerRecommendationTechnologiesConfigurable2011}. They look at feature recommender to recommend which features in a configuration would be useful to have and at value recommender for these features. Additionally they discuss approaches for ranking and recommending explanations for inconsistencies between customers requirements and product rules however they do not provide any recommendations and point towards further needed research.
|
||||||
|
\end{description}
|
||||||
|
|
||||||
173
25_Outline/sections/40_concept.tex
Normal file
173
25_Outline/sections/40_concept.tex
Normal file
@@ -0,0 +1,173 @@
|
|||||||
|
\chapter{Concept}
|
||||||
|
\label{ch:Concept}
|
||||||
|
|
||||||
|
\section{User Interaction with the System}
|
||||||
|
\label{sec:Concept:UserSystemInteraction}
|
||||||
|
|
||||||
|
The system has one main way to be used as defined in \autoref{tab:Concept:MainUseCase}. This process is also visualized in \autoref{fig:Concept:ConfigurationProcess}.
|
||||||
|
|
||||||
|
\begin{figure}
|
||||||
|
\centering
|
||||||
|
\includegraphics[width=1\textwidth]{./figures/bpmn_configuration_process_with_continious_recommendation.pdf}
|
||||||
|
\caption{A BPMN diagram of the configuration process.}
|
||||||
|
\label{fig:Concept:ConfigurationProcess}
|
||||||
|
\end{figure}
|
||||||
|
|
||||||
|
\begin{table}
|
||||||
|
\begin{center}
|
||||||
|
\begin{tabularx}{\columnwidth}{l|X}
|
||||||
|
\multicolumn{2}{c}{Main System Usage} \\
|
||||||
|
\hline
|
||||||
|
Preconditions &
|
||||||
|
\begin{itemize}
|
||||||
|
\item The configurator is opened with the same session on each of the group member's machines
|
||||||
|
\item The configuration is in an unfinished state (this state is a consensus state)
|
||||||
|
\end{itemize} \\
|
||||||
|
\hline
|
||||||
|
Postcondition &
|
||||||
|
\begin{itemize}
|
||||||
|
\item All users have entered their preferences for each attribute explicitly.
|
||||||
|
\item The system gives a recommendation based on all preferences and the unfinished configuration state
|
||||||
|
\end{itemize} \\
|
||||||
|
\hline
|
||||||
|
Basic Flow &
|
||||||
|
\begin{enumerate}
|
||||||
|
\item A user indicates a preference for an attribute
|
||||||
|
\item The system generates a recommendation (based on preferences and configuration status)
|
||||||
|
\item If not all users have given their preferences go to step 1.
|
||||||
|
\end{enumerate} \\
|
||||||
|
\hline
|
||||||
|
\end{tabularx}
|
||||||
|
\caption{A description of the main way users will interact with the system}
|
||||||
|
\label{tab:Concept:MainUseCase}
|
||||||
|
\end{center}
|
||||||
|
\end{table}
|
||||||
|
|
||||||
|
\section{Case Study}
|
||||||
|
\label{sec:Concept:CaseStudy}
|
||||||
|
|
||||||
|
The case study used in this thesis is a simplified version from forestry.
|
||||||
|
The used characteristics and attributes are shown in \autoref{fig:Concept:ForestExample}. Additionally as example are given preferences, a configuration state and a finished configuration.
|
||||||
|
|
||||||
|
\begin{figure}
|
||||||
|
\begin{mdframed}[frametitle={Example for Forest Use Case}]
|
||||||
|
In this example we have a small group of users. The use case is a piece of forest and variables are for example harvesting activity, which trees to grow and accessibility for people.
|
||||||
|
\begin{align}
|
||||||
|
\begin{split}
|
||||||
|
V = \{ & \textit{Heimisch}, \textit{Klimaresilient}, \textit{Verwertbar}, \textit{Ernteaufwand}, \\
|
||||||
|
& \textit{Menge}, \textit{Preis}, \textit{Walderfahrung} \},
|
||||||
|
\end{split} \notag \\
|
||||||
|
\mathfrak{D}(\textit{Heimisch}) = \{ & \text{Gering}, \text{Mittel}, \text{Hoch}\}, \notag \\
|
||||||
|
\mathfrak{D}(\textit{Klimaresilient}) = \{ & \text{Gering}, \text{Mittel}, \text{Hoch}\}, \notag \\
|
||||||
|
\mathfrak{D}(\textit{Verwertbar}) = \{ & \text{Gering}, \text{Mittel}, \text{Hoch}\}, \notag \\
|
||||||
|
\mathfrak{D}(\textit{Ernteaufwand}) = \{ & \text{Motormanuel}, \text{Harvester}, \text{Vollautomatisch}\}, \notag \\
|
||||||
|
\mathfrak{D}(\textit{Menge}) = \{ & \text{Keine}, \text{Gering}, \text{Hoch}\}, \notag \\
|
||||||
|
\mathfrak{D}(\textit{Preis}) = \{ & \text{Gering}, \text{Mittel}, \text{Hoch}\}, \notag\\
|
||||||
|
\mathfrak{D}(\textit{Walderfahrung}) = \{ & \text{Gering}, \text{Mittel}, \text{Intensiv}\},\notag \\
|
||||||
|
U = \{ & 1,2\} \notag\\
|
||||||
|
P = \{ & P_1, P_2\} \notag\\
|
||||||
|
\begin{split}
|
||||||
|
P_1 = \{ & (\text{Motormanuel}, 0.5), (\text{Harvester}, -0.3) \} \\
|
||||||
|
& \cup \{ (d,0)\ |\ d \in \mathfrak{D}(i),\ i \in V,\ i \notin \{ \text{Motormanuel}, \text{Harvester}\} \ \} \
|
||||||
|
\end{split} \notag \\
|
||||||
|
P_2 = \{ & (d,0)\ |\ d \in \mathfrak{D}(i),\ i \in V \} \notag \\
|
||||||
|
S = \{ & (\textit{Heimisch}, \text{Gering}), (\textit{Menge}, \text{Gering}) \} \notag \\
|
||||||
|
\begin{split}
|
||||||
|
S_F = \{ & (\textit{Heimisch}, \text{Gering}), (\textit{Klimaresilient}, \text{Gering}), (\textit{Verwertbar}, \text{Gering}), \\
|
||||||
|
& (\textit{Ernteaufwand}, \text{Motormanuel}),
|
||||||
|
(\textit{Menge}, \text{Keine}), (\textit{Preis}, \text{Hoch}),\\
|
||||||
|
& (\textit{Walderfahrung}, \text{Gering}) \}
|
||||||
|
\end{split} \notag
|
||||||
|
\end{align}
|
||||||
|
\end{mdframed}
|
||||||
|
\caption{An example of a forest use case that includes two people.}
|
||||||
|
\label{fig:Concept:ForestExample}
|
||||||
|
\end{figure}
|
||||||
|
|
||||||
|
|
||||||
|
\section{Solution Generation}
|
||||||
|
\label{sec:Concept:SolutionGeneration}
|
||||||
|
|
||||||
|
Given an unfinished configuration and preferences of all group members, rate a finished configuration on how well it reflects the configuration state and preferences. This Use this to choose the best finished configuration out of a list to recommend.
|
||||||
|
|
||||||
|
\subsection{Generating a Recommendation}
|
||||||
|
|
||||||
|
Hereby the idea is there is a database of complete configurations (possibly historic from other groups or automatically generated or both).
|
||||||
|
Now the recommendation procedure looks as follows:
|
||||||
|
|
||||||
|
\begin{enumerate}
|
||||||
|
\item Assign a score to each stored configuration according to $$score_{group}(\overline{configurationState},\ \overline{preferences}, \ configurationInStore)$$
|
||||||
|
\item Optional: Filter out configurations that have a score below a certain value using a different scoring function. For example filter out configurations that cause a certain level of misery.
|
||||||
|
\item Chose the configuration with the highest score as recommendation.
|
||||||
|
\end{enumerate}
|
||||||
|
|
||||||
|
\todo[inline]{move definitions that are made by me to here}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
\begin{samepage}
|
||||||
|
\subsection{Scoring Function}
|
||||||
|
\label{subsec:Concept:SolutionGeneration:ScoringFunction}
|
||||||
|
\emph{Group configuration scoring function} includes preferences and current configuration state. This function gives a score for a finished configuration (while using the current configuration state and all user preferences):
|
||||||
|
\begin{equation}
|
||||||
|
score_{group}: S \times P \times S_F \to \mathbb{R}
|
||||||
|
\end{equation}
|
||||||
|
|
||||||
|
An example group configuration scoring function is $score_{group}$ with
|
||||||
|
|
||||||
|
\begin{equation}
|
||||||
|
\notag \alpha \in \mathbb{R}, \qquad changed(d,\overline{s}, s) =
|
||||||
|
\begin{cases}
|
||||||
|
1, & d \in \overline{s} \land d \notin s \\
|
||||||
|
0, & \text{otherwise}
|
||||||
|
\end{cases}
|
||||||
|
\end{equation}
|
||||||
|
|
||||||
|
\begin{equation}
|
||||||
|
\begin{split}
|
||||||
|
score_{group}(\overline{s},\ \overline{p},\ s)
|
||||||
|
& = score(\overline{p},\ s) - penalty(\overline{s},\ s) \\
|
||||||
|
& = score(\overline{p},\ s) - \sum_{d \in \overline{s}} changed(d,\overline{s}, s) \cdot \alpha
|
||||||
|
\end{split}
|
||||||
|
\end{equation}
|
||||||
|
|
||||||
|
This thesis will use multiple scoring functions. Among those are ones for least misery, average and multiplicative. Average and multiplicative yield good results among the studies presented by \citeauthor{Masthoff2015}. Strategies can also be combined, one example here is average without misery \cite{Masthoff2015}.
|
||||||
|
\end{samepage}
|
||||||
|
|
||||||
|
\subsubsection{Preference Scoring}
|
||||||
|
|
||||||
|
All of the aggregation functions mentioned in \autoref{subsec:Concept:SolutionGeneration:ScoringFunction} use one preference per user per product. Therefore to use them in as is a score for the whole configuration per user has to be calculated. We propose to use the difference from the selected feature compared to the average rating of all characteristics. This approach includes all preferences of a user meaning a preference is also seen relative to others.
|
||||||
|
|
||||||
|
As an example we could have feature
|
||||||
|
\begin{equation}
|
||||||
|
F = \text{ClimateResilientTrees},
|
||||||
|
\end{equation} with characteristics
|
||||||
|
\begin{equation}
|
||||||
|
\mathfrak{D}(F)= \{\text{low}, \text{medium}, \text{high}\},
|
||||||
|
\end{equation}
|
||||||
|
preferences
|
||||||
|
\begin{equation}
|
||||||
|
P_1 = \{(\text{low}, 0), (\text{medium},0.6), (\text{high},0.9) \}
|
||||||
|
\end{equation}
|
||||||
|
and the configuration we want to rate
|
||||||
|
\begin{equation}
|
||||||
|
S_F = \{(\text{ClimateResilientTrees}, \text{high})\}.
|
||||||
|
\end{equation}
|
||||||
|
The average rating for the feature is $F = 0.5$. Therefore the score given by a user $1$ is $0.9-0.5 = 0.4$.
|
||||||
|
A second user with preferences
|
||||||
|
\begin{equation}
|
||||||
|
P_2 = \{(\text{low}, 0), (\text{medium},0), (\text{high},0.9) \}
|
||||||
|
\end{equation}
|
||||||
|
on the other hand results in a feature score of $0.9-0.3=0.6$. For this user characteristic \emph{high} is of higher importance.
|
||||||
|
|
||||||
|
As we would like to keep our scores as percentages and not in the interval $[-1,1]$ a normalisation is applied by adding one and dividing by two. Therefore our respective scores are $0.7$ for user one and $0.95$ for user two. A configuration usually consists of more than one feature therefore we take the average rating over all features to get the score one user gives to a configuration. Based on that score the in \autoref{subsec:Concept:SolutionGeneration:ScoringFunction} mentioned aggregation functions can be used.
|
||||||
|
|
||||||
|
\subsubsection{Cofiguration Change Penalty}
|
||||||
|
|
||||||
|
In this thesis a penalty function is proposed which gives the percentage of characteristics that exist in the configuration that is to be rated. This value can be tuned to be more or less strict by potentiating. Thereby allowing more deviation or less deviation from the current configuration state. The penalty function is defined as
|
||||||
|
\begin{equation}
|
||||||
|
penalty_{proportion}(\overline{s},\ s) = \left(\frac{\sum_{d \in \overline{s}} changed(d,\overline{s}, s)}{|\overline{s}|}\right)^\alpha.
|
||||||
|
\end{equation}
|
||||||
|
|
||||||
|
By including the current configuration into scoring the scoring function can take into account, changes that have been already implemented and therefore might be very costly to change.
|
||||||
|
|
||||||
55
25_Outline/sections/50_design_and_implementation.tex
Normal file
55
25_Outline/sections/50_design_and_implementation.tex
Normal file
@@ -0,0 +1,55 @@
|
|||||||
|
\chapter{Design and Implementation}
|
||||||
|
\label{ch:DesignImplementation}
|
||||||
|
|
||||||
|
|
||||||
|
\section{CAS Configurator Merlin}
|
||||||
|
\label{sec:DesignImplementation:ConfiguratorMerlin}
|
||||||
|
|
||||||
|
\autoref{fig:DesignImplementation:ConfiguratorMerlin} shows the architecture of CAS Configurator Merlin.
|
||||||
|
\begin{description}
|
||||||
|
\item[M.Core] provides the base of the configurator. It checks the configuration against all rules in the database, provides possible alternatives if a change invalidates other parts of a configuration. The system relies on a CSP solver for validation and suggestion of alternatives.
|
||||||
|
\item[M.Model] is the editor to create products and rules. These rules can then be uploaded to M.Core.
|
||||||
|
\item[M.Customer] is the customer facing component. It allows a customer to configure a product.
|
||||||
|
\end{description}
|
||||||
|
|
||||||
|
\begin{figure}
|
||||||
|
\centering
|
||||||
|
\includegraphics{./figures/MerlinConfigurator.pdf}
|
||||||
|
\caption{Architecture of Configurator Merlin \cite[Fig. 4.1]{raabKollaborativeProduktkonfigurationEchtzeit2019}}
|
||||||
|
\label{fig:DesignImplementation:ConfiguratorMerlin}
|
||||||
|
\end{figure}
|
||||||
|
|
||||||
|
\section{CAS Group-Configurator}
|
||||||
|
\label{sec:DesignImplementation:GroupConfigurator}
|
||||||
|
|
||||||
|
\citeauthor{raabKollaborativeProduktkonfigurationEchtzeit2019}'s extends CAS Merlin Configurator in his thesis to allow simultaneous configuration. The extended architecture is shown in \autoref{fig:DesignImplementation:CollaborativeConfiguratorMerlin}.
|
||||||
|
He only makes changes to M.Customer which is renamed to M.Collab-Customer and introduces a new component M.Collab.
|
||||||
|
|
||||||
|
\begin{description}
|
||||||
|
\item[M.Collab] is a node.js server application that communicates with M.Core via REST-API and with M.Collab-Customer via WebSocket. It sits in between M.Collab-Customer and M.Core and handles all processing regarding collaborative configuration.
|
||||||
|
\item[M.Collab-Customer] a modified version of M.Customer that does all communication via WebSocket and does communicate with M.Collab instead of M.Core.
|
||||||
|
\end{description}
|
||||||
|
|
||||||
|
\begin{figure}
|
||||||
|
\centering
|
||||||
|
\includegraphics{./figures/MerlinCollaborativeConfigurator.pdf}
|
||||||
|
\caption{Architecture of Collaborative Configurator Merlin \cite[Fig. 4.3]{raabKollaborativeProduktkonfigurationEchtzeit2019}}
|
||||||
|
\label{fig:DesignImplementation:CollaborativeConfiguratorMerlin}
|
||||||
|
\end{figure}
|
||||||
|
|
||||||
|
|
||||||
|
\section{Extended Configurator}
|
||||||
|
\label{sec:DesignImplementation:ExtendedConfigurator}
|
||||||
|
|
||||||
|
Extending \citeauthor{raabKollaborativeProduktkonfigurationEchtzeit2019} work a module called M.Recommender is added. Its aim is to provide a recommendation server that holds all the data needed for recommendations. M.Collab and M.Collab-Customer have to be modified to allow taking in preferences and to show recommendations. The recommender engine is set up to be in a separate system which allows the easier replacement and the usage of different technologies. The extended architecture is shown in \autoref{fig:DesignImplementation:RecommenderForCollaborativeConfiguratorMerlin}.
|
||||||
|
|
||||||
|
\begin{description}
|
||||||
|
\item[M.Recommender] is a new system that will get queried from M.Collab for recommendations, when the configuration changes. M.Recommender will return recommendations which then can be presented to users by M.Collab-Customer.
|
||||||
|
\end{description}
|
||||||
|
|
||||||
|
\begin{figure}
|
||||||
|
\centering
|
||||||
|
\includegraphics{./figures/MerlinCollabRecommender.pdf}
|
||||||
|
\caption{Architecture of Collaborative Configurator Merlin with an added recommender system.}
|
||||||
|
\label{fig:DesignImplementation:RecommenderForCollaborativeConfiguratorMerlin}
|
||||||
|
\end{figure}
|
||||||
89
25_Outline/sections/60_evaluation.tex
Normal file
89
25_Outline/sections/60_evaluation.tex
Normal file
@@ -0,0 +1,89 @@
|
|||||||
|
\chapter{Evaluation}
|
||||||
|
\label{ch:Evaluation}
|
||||||
|
|
||||||
|
In this chapter the prototype is evaluated in terms of its functionality and its properties.
|
||||||
|
|
||||||
|
We will generate all possible valid configurations for one use case i.e. generate all possible valid configurations for the forest use case.
|
||||||
|
|
||||||
|
Generate groups with preferences (explicit preferences) and configuration state (which would be for example the currently existing forest).
|
||||||
|
|
||||||
|
\section{Group Types During Evaluation}
|
||||||
|
\label{sec:Evaluation:GroupTypes}
|
||||||
|
|
||||||
|
\begin{itemize}
|
||||||
|
\item Groups shall be generated with random preferences
|
||||||
|
\item With grouped preferences: people adhere more or less to one profile (Forest Owner, Athlete, Consumer, Environmentalist)
|
||||||
|
\item Group of only one profile type: rather homogenous group
|
||||||
|
\end{itemize}
|
||||||
|
|
||||||
|
\section{Metrics}
|
||||||
|
For the evaluation metrics to evaluate by are needed.
|
||||||
|
|
||||||
|
\label{sec:Evaluation:Metrics}
|
||||||
|
|
||||||
|
\subsection{Random Individual}
|
||||||
|
When comparing a group to individual scores, a member of the group is randomly chosen. As metric of difference used metrics are MSE, RMSE and similar metrics.
|
||||||
|
% see: https://medium.com/@george.drakos62/how-to-select-the-right-evaluation-metric-for-machine-learning-models-part-1-regrression-metrics-3606e25beae0 or https://en.wikipedia.org/wiki/Error_metric
|
||||||
|
|
||||||
|
\subsection{Satisfaction}
|
||||||
|
As a metric on overall satisfaction within the group we propose a threshold metric that defines a user as satisfied if his score is above a threshold of 60\% and as unsatisfied with a score of less than 40\%. Now we can measure group satisfaction by amount of members being satisfied, neutral and unsatisfied.
|
||||||
|
|
||||||
|
\subsection{Group Score}
|
||||||
|
The group score metric is to simply take the score the recommender has given to a group. This score can be compared with other configurations' score.
|
||||||
|
|
||||||
|
|
||||||
|
\section{Questions to Answer During the Evaluation}
|
||||||
|
\label{sec:Evaluation:Questions}
|
||||||
|
|
||||||
|
\begin{itemize}
|
||||||
|
\item Main Question: How does the group decision differ from the decision of a single decision maker? (random individual)
|
||||||
|
\item How much impact does the configuration state have on the recommendation outcome? (random individual, satisfaction)
|
||||||
|
\item How many group members are satisfied by the group decision on average? (satisfaction)
|
||||||
|
\item Is the recommender fair, i.e. no user type is always worse off than others? (satisfaction)
|
||||||
|
\item How does the amount of stored finished configurations relate to recommendation quality? (Compare the recommended configuration to the best possible configuration in terms of score using MSE and similar and in terms of satisfaction and random individual)
|
||||||
|
\item How much higher is the score of the best configuration compared to average? (group score, satisfaction, random individual)
|
||||||
|
\end{itemize}
|
||||||
|
|
||||||
|
\section{Generating Data}
|
||||||
|
\label{sec:Evaluation:GeneratingGroups}
|
||||||
|
|
||||||
|
For the forest use case, the idea is that there are multiple types of user profiles. Each group profile is represented by a neutral, negative or positive attitude to an attribute value. Now during data generation the attitude is converted to a preference using a normal distribution. \autoref{fig:Evaluation:DataGeneration} shows how we convert the user profile to preferences.
|
||||||
|
|
||||||
|
\pgfplotsset{height=5cm,width=\textwidth,compat=1.8}
|
||||||
|
\pgfmathdeclarefunction{gauss}{2}{%
|
||||||
|
\pgfmathparse{1/(#2*sqrt(2*pi))*exp(-((x-#1)^2)/(2*#2^2))}%
|
||||||
|
}
|
||||||
|
\begin{figure}
|
||||||
|
\begin{tikzpicture}
|
||||||
|
\begin{axis}[
|
||||||
|
every axis plot post/.append style={
|
||||||
|
mark=none, domain=0:1, samples=50, smooth
|
||||||
|
},
|
||||||
|
axis x line*=bottom,
|
||||||
|
xmin=0,
|
||||||
|
xmax=1,
|
||||||
|
ymin=0.1,
|
||||||
|
xticklabel style={
|
||||||
|
/pgf/number format/precision=3,
|
||||||
|
},
|
||||||
|
xtick={0,0.25, 0.5, 0.75,1},
|
||||||
|
hide y axis]
|
||||||
|
\addplot [draw=red][very thick] {gauss(0.25,0.1)} node[text=red][above,pos=0.5] {negative};
|
||||||
|
\addplot [draw=blue][very thick] {gauss(0.5,0.05)} node[text=blue][above,pos=0.48] {neutral};
|
||||||
|
\addplot [draw=green!60!black][very thick] {gauss(0.75,0.1)} node[text=green!60!black][above,pos=0.5] {positive};
|
||||||
|
\end{axis}
|
||||||
|
\end{tikzpicture}
|
||||||
|
\caption{Distribution of preferences for a user type.}
|
||||||
|
\label{fig:Evaluation:DataGeneration}
|
||||||
|
\end{figure}
|
||||||
|
|
||||||
|
These user profiles can be used to generate rather homogenous groups but also to create groups that have interests that are more conflicting. For completely random groups a uniform distribution is used to create more chaotic groups. The whole process is shown in \autoref{fig:Evaluation:GeneratingDataProcess}.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
\begin{figure}
|
||||||
|
\centering
|
||||||
|
\includegraphics[width=1\textwidth]{./figures/bpmn_evaluation_input_data_generation.pdf}
|
||||||
|
\caption{The process used for generating data for the evaluation.}
|
||||||
|
\label{fig:Evaluation:GeneratingDataProcess}
|
||||||
|
\end{figure}
|
||||||
11
25_Outline/sections/70_further_work.tex
Normal file
11
25_Outline/sections/70_further_work.tex
Normal file
@@ -0,0 +1,11 @@
|
|||||||
|
\chapter{Further Work}
|
||||||
|
\label{ch:FurtherWork}
|
||||||
|
|
||||||
|
\section{Possible Extensions or Further Research}
|
||||||
|
\label{sec:FurtherWork:PossibleExtensions}
|
||||||
|
|
||||||
|
\begin{itemize}
|
||||||
|
\item How to optimise such that no need to search through all stored finished configurations is necessary? (e.g. improve runtime from $\mathcal{O}(n)$ to $\mathcal{O}(log\ n)$)
|
||||||
|
\item How to model hierarchy and knowledge about product components in preferences?
|
||||||
|
\item Letting users set preferences for product functions (e.g. for a forest a recreation function, a productive function, a protective function, etc.). How does it compare to explicitly choosing preferences?
|
||||||
|
\end{itemize}
|
||||||
93
25_Outline/title-background.eps
Normal file
93
25_Outline/title-background.eps
Normal file
@@ -0,0 +1,93 @@
|
|||||||
|
%!PS-Adobe-3.0 EPSF-3.0
|
||||||
|
%%For:
|
||||||
|
%%Title:
|
||||||
|
%%Creator: Scribus1.4.4
|
||||||
|
%%Pages: 1
|
||||||
|
%%BoundingBox: 0 0 595 842
|
||||||
|
%%HiResBoundingBox: 0 0 595.276 841.89
|
||||||
|
%%LanguageLevel: 3
|
||||||
|
%%EndComments
|
||||||
|
%%BeginProlog
|
||||||
|
/Scribusdict 100 dict def
|
||||||
|
Scribusdict begin
|
||||||
|
/sp {showpage} bind def
|
||||||
|
/oldsetgray /setgray load def
|
||||||
|
/cmyk {setcmykcolor} def
|
||||||
|
/m {moveto} bind def
|
||||||
|
/l {lineto} bind def
|
||||||
|
/li {lineto} bind def
|
||||||
|
/cu {curveto} bind def
|
||||||
|
/cl {closepath} bind def
|
||||||
|
/gs {gsave} bind def
|
||||||
|
/gr {grestore} bind def
|
||||||
|
/tr {translate} bind def
|
||||||
|
/ro {rotate} bind def
|
||||||
|
/sh {show} bind def
|
||||||
|
/shg {setcmykcolor moveto glyphshow} def
|
||||||
|
/shgsp {moveto glyphshow} def
|
||||||
|
/sc {scale} bind def
|
||||||
|
/se {selectfont} bind def
|
||||||
|
/sf {setfont} bind def
|
||||||
|
/sw {setlinewidth} bind def
|
||||||
|
/f {findfont} bind def
|
||||||
|
/fi {fill} bind def
|
||||||
|
/st {stroke} bind def
|
||||||
|
/shgf {gs dup scale begin cvx exec fill end gr} bind def
|
||||||
|
/shgs {gs dup 1 exch div currentlinewidth mul sw dup scale
|
||||||
|
begin cvx exec st end gr} bind def
|
||||||
|
/bEPS {
|
||||||
|
/b4_Inc_state save def
|
||||||
|
/dict_count countdictstack def
|
||||||
|
/op_count count 1 sub def
|
||||||
|
userdict begin
|
||||||
|
/showpage { } def
|
||||||
|
0 setgray 0 setlinecap
|
||||||
|
1 setlinewidth 0 setlinejoin
|
||||||
|
10 setmiterlimit [ ] 0 setdash newpath
|
||||||
|
/languagelevel where
|
||||||
|
{pop languagelevel
|
||||||
|
1 ne
|
||||||
|
{false setstrokeadjust false setoverprint
|
||||||
|
} if } if } bind def
|
||||||
|
/eEPS { count op_count sub {pop} repeat
|
||||||
|
countdictstack dict_count sub {end} repeat
|
||||||
|
b4_Inc_state restore } bind def
|
||||||
|
end
|
||||||
|
%%EndProlog
|
||||||
|
%%BeginSetup
|
||||||
|
%%EndSetup
|
||||||
|
%%Page: 1 1
|
||||||
|
%%PageOrientation: Portrait
|
||||||
|
Scribusdict begin
|
||||||
|
save
|
||||||
|
/DeviceCMYK setcolorspace
|
||||||
|
0 0 tr
|
||||||
|
40 40 m
|
||||||
|
555.276 40 li
|
||||||
|
555.276 801.89 li
|
||||||
|
40 801.89 li cl clip newpath
|
||||||
|
gs
|
||||||
|
0.992559 sw
|
||||||
|
0 setlinecap
|
||||||
|
0 setlinejoin
|
||||||
|
[] 0 setdash
|
||||||
|
29.6548 809.103 tr
|
||||||
|
533.748 -761.657 m
|
||||||
|
17.7923 -761.657 li
|
||||||
|
7.91532 -761.657 0 -753.741 0 -743.868 cu
|
||||||
|
0 0 li
|
||||||
|
515.959 0 li
|
||||||
|
525.832 0 533.748 -7.91931 533.748 -17.7923 cu
|
||||||
|
533.748 -761.657 li
|
||||||
|
533.748 -761.657 li
|
||||||
|
cl
|
||||||
|
0 0 0 1 cmyk st
|
||||||
|
gr
|
||||||
|
%%PageTrailer
|
||||||
|
restore
|
||||||
|
gs
|
||||||
|
gr
|
||||||
|
sp
|
||||||
|
end
|
||||||
|
%%Trailer
|
||||||
|
%%EOF
|
||||||
116
25_Outline/title-background.pdf
Normal file
116
25_Outline/title-background.pdf
Normal file
@@ -0,0 +1,116 @@
|
|||||||
|
%PDF-1.4
|
||||||
|
%<25>쏢
|
||||||
|
1 0 obj
|
||||||
|
<<
|
||||||
|
/Type /Catalog
|
||||||
|
/Outlines 3 0 R
|
||||||
|
/Pages 4 0 R
|
||||||
|
/Dests 5 0 R
|
||||||
|
/AcroForm 6 0 R
|
||||||
|
/Names 7 0 R
|
||||||
|
/Threads 8 0 R
|
||||||
|
/PageLayout /SinglePage
|
||||||
|
/ViewerPreferences
|
||||||
|
<<
|
||||||
|
/PageDirection /L2R
|
||||||
|
>>
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
2 0 obj
|
||||||
|
<<
|
||||||
|
/Creator (Scribus 1.4.4)
|
||||||
|
/Producer (Scribus PDF Library 1.4.4)
|
||||||
|
/Title <>
|
||||||
|
/Author <>
|
||||||
|
/Subject <>
|
||||||
|
/Keywords <>
|
||||||
|
/CreationDate (D:20141111094954)
|
||||||
|
/ModDate (D:20141111094954)
|
||||||
|
/Trapped /False
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
9 0 obj
|
||||||
|
<< /Length 173
|
||||||
|
/Filter /FlateDecode >>
|
||||||
|
stream
|
||||||
|
x<EFBFBD>u<EFBFBD>A1E<><45><EFBFBD><02>zw<>Ҹ<17><>,f<><66>eL<65>T<EFBFBD>J<>H><3E>8Qd<51>Hkl}<7D>a<EFBFBD><61>xͶB<CDB6>"<22>^<5E><>q<17>ֲ<EFBFBD><D6B2><EFBFBD><EFBFBD>%<04>@iu<>5<>7MN
|
||||||
|
<EFBFBD>r<EFBFBD>US<EFBFBD>C<EFBFBD>\<5C>`<60><><EFBFBD>Ů<19><>Z<16><><04><>Ur<0F><>SA+<2B><><EFBFBD><EFBFBD>W_<57><5F><EFBFBD>9<13>&<26><>]:<3A>$<24>Z:<3A><><EFBFBD><EFBFBD>M<EFBFBD>G<EFBFBD><47><EFBFBD><EFBFBD>!<21>?|<7C>"<22>
|
||||||
|
<EFBFBD>F<EFBFBD>
|
||||||
|
endstream
|
||||||
|
endobj
|
||||||
|
10 0 obj
|
||||||
|
<< /S /Transparency
|
||||||
|
/CS /DeviceRGB
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
11 0 obj
|
||||||
|
<<
|
||||||
|
/Type /Page
|
||||||
|
/Parent 4 0 R
|
||||||
|
/MediaBox [0 0 595.27559 841.88976]
|
||||||
|
/BleedBox [0.00000 0.00000 595.27559 841.88976]
|
||||||
|
/CropBox [0 0 595.27559 841.88976]
|
||||||
|
/TrimBox [0.00000 0.00000 595.27559 841.88976]
|
||||||
|
/ArtBox [0.00000 0.00000 595.27559 841.88976]
|
||||||
|
/Rotate 0
|
||||||
|
/Contents 9 0 R
|
||||||
|
/Group 10 0 R
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
12 0 obj
|
||||||
|
<< /ProcSet [/PDF /Text /ImageB /ImageC /ImageI]
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
3 0 obj
|
||||||
|
<<
|
||||||
|
/Type /Outlines
|
||||||
|
/Count 0
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
4 0 obj
|
||||||
|
<<
|
||||||
|
/Type /Pages
|
||||||
|
/Kids [11 0 R ]
|
||||||
|
/Count 1
|
||||||
|
/Resources 12 0 R
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
5 0 obj
|
||||||
|
<<
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
6 0 obj
|
||||||
|
<<
|
||||||
|
/Fields [ ]
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
7 0 obj
|
||||||
|
<< >>
|
||||||
|
endobj
|
||||||
|
8 0 obj
|
||||||
|
[]
|
||||||
|
endobj
|
||||||
|
xref
|
||||||
|
0 13
|
||||||
|
0000000000 65535 f
|
||||||
|
0000000015 00000 n
|
||||||
|
0000000207 00000 n
|
||||||
|
0000001081 00000 n
|
||||||
|
0000001127 00000 n
|
||||||
|
0000001204 00000 n
|
||||||
|
0000001225 00000 n
|
||||||
|
0000001259 00000 n
|
||||||
|
0000001281 00000 n
|
||||||
|
0000000414 00000 n
|
||||||
|
0000000659 00000 n
|
||||||
|
0000000713 00000 n
|
||||||
|
0000001013 00000 n
|
||||||
|
trailer
|
||||||
|
<<
|
||||||
|
/Size 13
|
||||||
|
/Root 1 0 R
|
||||||
|
/Info 2 0 R
|
||||||
|
/ID [<277CA22A7AE2CA7FFF6E9C66BCEEE0BF><277CA22A7AE2CA7FFF6E9C66BCEEE0BF>]
|
||||||
|
>>
|
||||||
|
startxref
|
||||||
|
1299
|
||||||
67
25_Outline/title-background.sla
Normal file
67
25_Outline/title-background.sla
Normal file
@@ -0,0 +1,67 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<SCRIBUSUTF8NEW Version="1.4.4">
|
||||||
|
<DOCUMENT ANZPAGES="1" PAGEWIDTH="595.275590551181" PAGEHEIGHT="841.889763779528" BORDERLEFT="40" BORDERRIGHT="40" BORDERTOP="40" BORDERBOTTOM="40" PRESET="0" BleedTop="0" BleedLeft="0" BleedRight="0" BleedBottom="0" ORIENTATION="0" PAGESIZE="A4" FIRSTNUM="1" BOOK="0" AUTOSPALTEN="1" ABSTSPALTEN="11" UNITS="1" DFONT="Arial Regular" DSIZE="12" DCOL="1" DGAP="0" TabFill="" TabWidth="36" AUTHOR="" COMMENTS="" KEYWORDS="" PUBLISHER="" DOCDATE="" DOCTYPE="" DOCFORMAT="" DOCIDENT="" DOCSOURCE="" DOCLANGINFO="" DOCRELATION="" DOCCOVER="" DOCRIGHTS="" DOCCONTRIB="" TITLE="" SUBJECT="" VHOCH="33" VHOCHSC="66" VTIEF="33" VTIEFSC="66" VKAPIT="75" BASEGRID="14.4" BASEO="0" AUTOL="20" UnderlinePos="-1" UnderlineWidth="-1" StrikeThruPos="-1" StrikeThruWidth="-1" GROUPC="1" HCMS="0" DPSo="0" DPSFo="0" DPuse="0" DPgam="0" DPbla="1" DPMo="sRGB IEC61966-2.1" DPPr="Fogra27L CMYK Coated Press" DPIn="sRGB IEC61966-2.1" DPInCMYK="Fogra27L CMYK Coated Press" DPIn2="sRGB IEC61966-2.1" DPIn3="Fogra27L CMYK Coated Press" DISc="1" DIIm="0" ALAYER="0" LANGUAGE="German" MINWORDLEN="3" HYCOUNT="2" AUTOMATIC="1" AUTOCHECK="0" GUIDELOCK="0" SnapToGuides="0" SnapToGrid="0" MINGRID="20.001" MAJGRID="100.001" SHOWGRID="0" SHOWGUIDES="1" showcolborders="1" SHOWFRAME="1" SHOWLAYERM="0" SHOWMARGIN="1" SHOWBASE="0" SHOWPICT="1" SHOWControl="0" SHOWLINK="0" rulerMode="1" showrulers="1" showBleed="1" rulerXoffset="0" rulerYoffset="0" GuideRad="10" GRAB="4" POLYC="4" POLYF="0.707" POLYR="0" POLYCUR="0" POLYFD="0" POLYS="0" AutoSave="1" AutoSaveTime="600000" ScratchBottom="20.001" ScratchLeft="100.001" ScratchRight="100.001" ScratchTop="20.001" GapHorizontal="0" GapVertical="40" StartArrow="0" EndArrow="0" PEN="Black" BRUSH="None" PENLINE="Black" PENTEXT="Black" StrokeText="Black" TextBackGround="None" TextLineColor="None" TextBackGroundShade="100" TextLineShade="100" TextPenShade="100" TextStrokeShade="100" STIL="1" STILLINE="1" WIDTH="1" WIDTHLINE="1" PENSHADE="100" LINESHADE="100" BRUSHSHADE="100" MAGMIN="10" MAGMAX="3200" MAGSTEP="200" CPICT="None" PICTSHADE="100" PICTSCX="1" PICTSCY="1" PSCALE="1" PASPECT="1" EmbeddedPath="0" HalfRes="1" dispX="10.001" dispY="10.001" constrain="15" MINORC="#00ff00" MAJORC="#00ff00" GuideC="#000080" BaseC="#c0c0c0" GuideZ="10" BACKG="0" PAGEC="#ffffff" MARGC="#0000ff" RANDF="0" currentProfile="PostScript">
|
||||||
|
<CheckProfile Name="PDF 1.3" ignoreErrors="0" autoCheck="1" checkGlyphs="1" checkOrphans="1" checkOverflow="1" checkPictures="1" checkResolution="1" checkTransparency="1" minResolution="144" maxResolution="2400" checkAnnotations="0" checkRasterPDF="1" checkForGIF="1" ignoreOffLayers="0" checkOffConflictLayers="0"/>
|
||||||
|
<CheckProfile Name="PDF 1.4" ignoreErrors="0" autoCheck="1" checkGlyphs="1" checkOrphans="1" checkOverflow="1" checkPictures="1" checkResolution="1" checkTransparency="0" minResolution="144" maxResolution="2400" checkAnnotations="0" checkRasterPDF="1" checkForGIF="1" ignoreOffLayers="0" checkOffConflictLayers="0"/>
|
||||||
|
<CheckProfile Name="PDF 1.5" ignoreErrors="0" autoCheck="1" checkGlyphs="1" checkOrphans="1" checkOverflow="1" checkPictures="1" checkResolution="1" checkTransparency="0" minResolution="144" maxResolution="2400" checkAnnotations="0" checkRasterPDF="1" checkForGIF="1" ignoreOffLayers="0" checkOffConflictLayers="0"/>
|
||||||
|
<CheckProfile Name="PDF/X-1a" ignoreErrors="0" autoCheck="1" checkGlyphs="1" checkOrphans="1" checkOverflow="1" checkPictures="1" checkResolution="1" checkTransparency="1" minResolution="144" maxResolution="2400" checkAnnotations="1" checkRasterPDF="1" checkForGIF="1" ignoreOffLayers="0" checkOffConflictLayers="0"/>
|
||||||
|
<CheckProfile Name="PDF/X-3" ignoreErrors="0" autoCheck="1" checkGlyphs="1" checkOrphans="1" checkOverflow="1" checkPictures="1" checkResolution="1" checkTransparency="1" minResolution="144" maxResolution="2400" checkAnnotations="1" checkRasterPDF="1" checkForGIF="1" ignoreOffLayers="0" checkOffConflictLayers="0"/>
|
||||||
|
<CheckProfile Name="PostScript" ignoreErrors="0" autoCheck="1" checkGlyphs="1" checkOrphans="1" checkOverflow="1" checkPictures="1" checkResolution="1" checkTransparency="1" minResolution="144" maxResolution="2400" checkAnnotations="0" checkRasterPDF="1" checkForGIF="1" ignoreOffLayers="0" checkOffConflictLayers="0"/>
|
||||||
|
<COLOR NAME="Black" CMYK="#000000ff" Spot="0" Register="0"/>
|
||||||
|
<COLOR NAME="Blue" RGB="#0000ff" Spot="0" Register="0"/>
|
||||||
|
<COLOR NAME="Cool Black" CMYK="#990000ff" Spot="0" Register="0"/>
|
||||||
|
<COLOR NAME="Cyan" CMYK="#ff000000" Spot="0" Register="0"/>
|
||||||
|
<COLOR NAME="FromSVG#231f20" RGB="#231f20" Spot="0" Register="0"/>
|
||||||
|
<COLOR NAME="FromSVG#ffffff" RGB="#ffffff" Spot="0" Register="0"/>
|
||||||
|
<COLOR NAME="Green" RGB="#00ff00" Spot="0" Register="0"/>
|
||||||
|
<COLOR NAME="Magenta" CMYK="#00ff0000" Spot="0" Register="0"/>
|
||||||
|
<COLOR NAME="Red" RGB="#ff0000" Spot="0" Register="0"/>
|
||||||
|
<COLOR NAME="Registration" CMYK="#ffffffff" Spot="0" Register="1"/>
|
||||||
|
<COLOR NAME="Rich Black" CMYK="#996666ff" Spot="0" Register="0"/>
|
||||||
|
<COLOR NAME="Warm Black" CMYK="#00994cff" Spot="0" Register="0"/>
|
||||||
|
<COLOR NAME="White" CMYK="#00000000" Spot="0" Register="0"/>
|
||||||
|
<COLOR NAME="Yellow" CMYK="#0000ff00" Spot="0" Register="0"/>
|
||||||
|
<HYPHEN/>
|
||||||
|
<STYLE NAME="Default Paragraph Style" DefaultStyle="1" ALIGN="0" LINESPMode="0" LINESP="15" INDENT="0" RMARGIN="0" FIRST="0" VOR="0" NACH="0" DROP="0" DROPLIN="2" DROPDIST="0"/>
|
||||||
|
<CHARSTYLE CNAME="Default Character Style" DefaultStyle="1" FONT="Arial Regular" FONTSIZE="12" FEATURES="inherit" FCOLOR="Black" FSHADE="100" SCOLOR="Black" SSHADE="100" TXTSHX="5" TXTSHY="-5" TXTOUT="1" TXTULP="-0.1" TXTULW="-0.1" TXTSTP="-0.1" TXTSTW="-0.1" SCALEH="100" SCALEV="100" BASEO="0" KERN="0" LANGUAGE="German"/>
|
||||||
|
<LAYERS NUMMER="0" LEVEL="0" NAME="Hintergrund" SICHTBAR="1" DRUCKEN="1" EDIT="1" FLOW="1" TRANS="1" BLEND="0" OUTL="0" LAYERC="#000000"/>
|
||||||
|
<Printer firstUse="1" toFile="1" useAltPrintCommand="1" outputSeparations="1" useSpotColors="1" useColor="1" mirrorH="1" mirrorV="1" useICC="1" doGCR="1" doClip="1" setDevParam="1" useDocBleeds="1" cropMarks="1" bleedMarks="1" registrationMarks="1" colorMarks="1" includePDFMarks="1" PSLevel="-2500135" PDLanguage="-2500135" markOffset="-7.2612709456521e+307" BleedTop="0" BleedLeft="0" BleedRight="0" BleedBottom="0" printer="" filename="" separationName="" printerCommand=""/>
|
||||||
|
<PDF firstUse="0" Thumbnails="0" Articles="0" Bookmarks="0" Compress="1" CMethod="0" Quality="0" EmbedPDF="0" MirrorH="0" MirrorV="0" Clip="0" RotateDeg="0" PresentMode="0" RecalcPic="0" Grayscale="0" RGBMode="1" UseProfiles="0" UseProfiles2="0" Binding="0" PicRes="300" Resolution="300" Version="14" Intent="1" Intent2="0" SolidP="sRGB IEC61966-2.1" ImageP="sRGB IEC61966-2.1" PrintP="Fogra27L CMYK Coated Press" InfoString="" BTop="0" BLeft="0" BRight="0" BBottom="0" useDocBleeds="1" cropMarks="0" bleedMarks="0" registrationMarks="0" colorMarks="0" docInfoMarks="0" markOffset="0" ImagePr="0" PassOwner="" PassUser="" Permissions="-4" Encrypt="0" UseLayers="0" UseLpi="0" UseSpotColors="1" doMultiFile="0" displayBookmarks="0" displayFullscreen="0" displayLayers="0" displayThumbs="0" hideMenuBar="0" hideToolBar="0" fitWindow="0" PageLayout="0" openAction="">
|
||||||
|
<Effekte pageEffectDuration="1" pageViewDuration="1" effectType="0" Dm="0" M="0" Di="0"/>
|
||||||
|
<LPI Color="" Frequency="10" Angle="0" SpotFunction="0"/>
|
||||||
|
<LPI Color="Black" Frequency="133" Angle="45" SpotFunction="3"/>
|
||||||
|
<LPI Color="Cyan" Frequency="133" Angle="105" SpotFunction="3"/>
|
||||||
|
<LPI Color="Magenta" Frequency="133" Angle="75" SpotFunction="3"/>
|
||||||
|
<LPI Color="Yellow" Frequency="133" Angle="90" SpotFunction="3"/>
|
||||||
|
</PDF>
|
||||||
|
<DocItemAttributes/>
|
||||||
|
<TablesOfContents/>
|
||||||
|
<PageSets>
|
||||||
|
<Set Name="Single Page" FirstPage="0" Rows="1" Columns="1"/>
|
||||||
|
<Set Name="Double Sided" FirstPage="1" Rows="1" Columns="2">
|
||||||
|
<PageNames Name="Left Page"/>
|
||||||
|
<PageNames Name="Right Page"/>
|
||||||
|
</Set>
|
||||||
|
<Set Name="3-Fold" FirstPage="0" Rows="1" Columns="3">
|
||||||
|
<PageNames Name="Left Page"/>
|
||||||
|
<PageNames Name="Middle"/>
|
||||||
|
<PageNames Name="Right Page"/>
|
||||||
|
</Set>
|
||||||
|
<Set Name="4-Fold" FirstPage="0" Rows="1" Columns="4">
|
||||||
|
<PageNames Name="Left Page"/>
|
||||||
|
<PageNames Name="Middle Left"/>
|
||||||
|
<PageNames Name="Middle Right"/>
|
||||||
|
<PageNames Name="Right Page"/>
|
||||||
|
</Set>
|
||||||
|
</PageSets>
|
||||||
|
<Sections>
|
||||||
|
<Section Number="0" Name="0" From="0" To="0" Type="Type_1_2_3" Start="1" Reversed="0" Active="1"/>
|
||||||
|
</Sections>
|
||||||
|
<MASTERPAGE PAGEXPOS="100.001" PAGEYPOS="20.001" PAGEWIDTH="595.275590551181" PAGEHEIGHT="841.889763779528" BORDERLEFT="40" BORDERRIGHT="40" BORDERTOP="40" BORDERBOTTOM="40" NUM="0" NAM="Normal" MNAM="" Size="A4" Orientation="0" LEFT="0" PRESET="0" VerticalGuides="" HorizontalGuides="" AGhorizontalAutoGap="0" AGverticalAutoGap="0" AGhorizontalAutoCount="0" AGverticalAutoCount="0" AGhorizontalAutoRefer="0" AGverticalAutoRefer="0" AGSelection="0 0 0 0"/>
|
||||||
|
<PAGE PAGEXPOS="100.001" PAGEYPOS="20.001" PAGEWIDTH="595.275590551181" PAGEHEIGHT="841.889763779528" BORDERLEFT="40" BORDERRIGHT="40" BORDERTOP="40" BORDERBOTTOM="40" NUM="0" NAM="" MNAM="Normal" Size="A4" Orientation="0" LEFT="0" PRESET="0" VerticalGuides="" HorizontalGuides="" AGhorizontalAutoGap="0" AGverticalAutoGap="0" AGhorizontalAutoCount="0" AGverticalAutoCount="0" AGhorizontalAutoRefer="0" AGverticalAutoRefer="0" AGSelection="0 0 0 0"/>
|
||||||
|
<PAGEOBJECT OwnPage="0" PTYPE="6" XPOS="152.332953622181" YPOS="52.7880952315889" WIDTH="511.070834645669" HEIGHT="761.657" RADRECT="0" FRTYPE="3" CLIPEDIT="1" PWIDTH="0.992558509527654" PCOLOR="None" PCOLOR2="Black" COLUMNS="1" COLGAP="0" NAMEDLST="" SHADE="100" SHADE2="100" GRTYP="0" ROT="0" PLINEART="1" PLINEEND="0" PLINEJOIN="0" LOCALSCX="1" LOCALSCY="1" LOCALX="0" LOCALY="0" PICART="1" PLTSHOW="0" BASEOF="0" textPathType="0" textPathFlipped="0" FLIPPEDH="0" FLIPPEDV="0" SCALETYPE="1" RATIO="1" PRINTABLE="1" ANNOTATION="0" ANNAME=" path3019" TEXTFLOWMODE="0" TEXTFLOW="0" TEXTFLOW2="0" TEXTFLOW3="0" AUTOTEXT="0" EXTRA="0" TEXTRA="0" BEXTRA="0" REXTRA="0" FLOP="0" PFILE="" PFILE2="" PFILE3="" PRFILE="" EPROF="" IRENDER="1" EMBEDDED="1" LOCK="0" LOCKR="0" REVERS="0" TransValue="0" TransValueS="0" TransBlend="0" TransBlendS="0" isTableItem="0" TopLine="0" LeftLine="0" RightLine="0" BottomLine="0" isGroupControl="0" NUMDASH="0" DASHS="" DASHOFF="0" NUMPO="28" POCOOR="511.071 761.657 511.071 761.657 17.7923 761.657 17.7923 761.657 17.7923 761.657 7.91532 761.657 0 743.868 0 753.741 0 743.868 0 743.868 0 0 0 0 0 0 0 0 493.282 0 493.282 0 493.282 0 503.155 0 511.071 17.7923 511.071 7.91931 511.071 17.7923 511.071 17.7923 511.071 761.657 511.071 761.657 511.071 761.657 511.071 761.657 511.071 761.657 511.071 761.657 " NUMCO="28" COCOOR="511.071 761.657 511.071 761.657 -4.88487 761.657 -4.88487 761.657 -4.88487 761.657 -14.7618 761.657 -22.6772 743.868 -22.6772 753.741 -22.6772 743.868 -22.6772 743.868 -22.6772 0 -22.6772 0 -22.6772 0 -22.6772 0 493.282 0 493.282 0 493.282 0 503.155 0 511.071 17.7923 511.071 7.91931 511.071 17.7923 511.071 17.7923 511.071 761.657 511.071 761.657 511.071 761.657 511.071 761.657 511.071 761.657 511.071 761.657 " NUMGROUP="0" GROUPS="" startArrowIndex="0" endArrowIndex="0" OnMasterPage="" ImageClip="" ImageRes="1" Pagenumber="0" isInline="0" fillRule="0" doOverprint="0" gXpos="29.6547882678499" gYpos="32.787095231589" gWidth="595.275590551181" gHeight="841.891150885822" LAYER="0" BOOKMARK="0" NEXTITEM="-1" BACKITEM="-1">
|
||||||
|
<trail/>
|
||||||
|
<PageItemAttributes/>
|
||||||
|
</PAGEOBJECT>
|
||||||
|
</DOCUMENT>
|
||||||
|
</SCRIBUSUTF8NEW>
|
||||||
BIN
30_Thesis/figures/40_concept/MerlinCollabRecommender.pdf
Normal file
BIN
30_Thesis/figures/40_concept/MerlinCollabRecommender.pdf
Normal file
Binary file not shown.
BIN
30_Thesis/figures/40_concept/MerlinCollaborativeConfigurator.pdf
Normal file
BIN
30_Thesis/figures/40_concept/MerlinCollaborativeConfigurator.pdf
Normal file
Binary file not shown.
BIN
30_Thesis/figures/40_concept/MerlinConfigurator.pdf
Normal file
BIN
30_Thesis/figures/40_concept/MerlinConfigurator.pdf
Normal file
Binary file not shown.
BIN
30_Thesis/logos/kitlogo_de_cmyk.eps
Normal file
BIN
30_Thesis/logos/kitlogo_de_cmyk.eps
Normal file
Binary file not shown.
BIN
30_Thesis/logos/kitlogo_de_cmyk.pdf
Normal file
BIN
30_Thesis/logos/kitlogo_de_cmyk.pdf
Normal file
Binary file not shown.
9475
30_Thesis/logos/kitlogo_en_cmyk.eps
Normal file
9475
30_Thesis/logos/kitlogo_en_cmyk.eps
Normal file
File diff suppressed because one or more lines are too long
BIN
30_Thesis/logos/kitlogo_en_cmyk.pdf
Normal file
BIN
30_Thesis/logos/kitlogo_en_cmyk.pdf
Normal file
Binary file not shown.
751
30_Thesis/logos/sdqlogo.eps
Normal file
751
30_Thesis/logos/sdqlogo.eps
Normal file
@@ -0,0 +1,751 @@
|
|||||||
|
%!PS-Adobe-3.0 EPSF-3.0
|
||||||
|
%%Creator: cairo 1.11.2 (http://cairographics.org)
|
||||||
|
%%CreationDate: Wed Oct 22 16:58:22 2014
|
||||||
|
%%Pages: 1
|
||||||
|
%%DocumentData: Clean7Bit
|
||||||
|
%%LanguageLevel: 3
|
||||||
|
%%BoundingBox: 0 -1 556 280
|
||||||
|
%%EndComments
|
||||||
|
%%BeginProlog
|
||||||
|
/cairo_eps_state save def
|
||||||
|
/dict_count countdictstack def
|
||||||
|
/op_count count 1 sub def
|
||||||
|
userdict begin
|
||||||
|
/q { gsave } bind def
|
||||||
|
/Q { grestore } bind def
|
||||||
|
/cm { 6 array astore concat } bind def
|
||||||
|
/w { setlinewidth } bind def
|
||||||
|
/J { setlinecap } bind def
|
||||||
|
/j { setlinejoin } bind def
|
||||||
|
/M { setmiterlimit } bind def
|
||||||
|
/d { setdash } bind def
|
||||||
|
/m { moveto } bind def
|
||||||
|
/l { lineto } bind def
|
||||||
|
/c { curveto } bind def
|
||||||
|
/h { closepath } bind def
|
||||||
|
/re { exch dup neg 3 1 roll 5 3 roll moveto 0 rlineto
|
||||||
|
0 exch rlineto 0 rlineto closepath } bind def
|
||||||
|
/S { stroke } bind def
|
||||||
|
/f { fill } bind def
|
||||||
|
/f* { eofill } bind def
|
||||||
|
/n { newpath } bind def
|
||||||
|
/W { clip } bind def
|
||||||
|
/W* { eoclip } bind def
|
||||||
|
/BT { } bind def
|
||||||
|
/ET { } bind def
|
||||||
|
/pdfmark where { pop globaldict /?pdfmark /exec load put }
|
||||||
|
{ globaldict begin /?pdfmark /pop load def /pdfmark
|
||||||
|
/cleartomark load def end } ifelse
|
||||||
|
/BDC { mark 3 1 roll /BDC pdfmark } bind def
|
||||||
|
/EMC { mark /EMC pdfmark } bind def
|
||||||
|
/cairo_store_point { /cairo_point_y exch def /cairo_point_x exch def } def
|
||||||
|
/Tj { show currentpoint cairo_store_point } bind def
|
||||||
|
/TJ {
|
||||||
|
{
|
||||||
|
dup
|
||||||
|
type /stringtype eq
|
||||||
|
{ show } { -0.001 mul 0 cairo_font_matrix dtransform rmoveto } ifelse
|
||||||
|
} forall
|
||||||
|
currentpoint cairo_store_point
|
||||||
|
} bind def
|
||||||
|
/cairo_selectfont { cairo_font_matrix aload pop pop pop 0 0 6 array astore
|
||||||
|
cairo_font exch selectfont cairo_point_x cairo_point_y moveto } bind def
|
||||||
|
/Tf { pop /cairo_font exch def /cairo_font_matrix where
|
||||||
|
{ pop cairo_selectfont } if } bind def
|
||||||
|
/Td { matrix translate cairo_font_matrix matrix concatmatrix dup
|
||||||
|
/cairo_font_matrix exch def dup 4 get exch 5 get cairo_store_point
|
||||||
|
/cairo_font where { pop cairo_selectfont } if } bind def
|
||||||
|
/Tm { 2 copy 8 2 roll 6 array astore /cairo_font_matrix exch def
|
||||||
|
cairo_store_point /cairo_font where { pop cairo_selectfont } if } bind def
|
||||||
|
/g { setgray } bind def
|
||||||
|
/rg { setrgbcolor } bind def
|
||||||
|
/d1 { setcachedevice } bind def
|
||||||
|
%%EndProlog
|
||||||
|
%%Page: 1 1
|
||||||
|
%%BeginPageSetup
|
||||||
|
%%PageBoundingBox: 0 -1 556 280
|
||||||
|
%%EndPageSetup
|
||||||
|
q 0 -1 556 281 rectclip q
|
||||||
|
0 279.189 556 -280 re W n
|
||||||
|
/CairoFunction
|
||||||
|
<< /FunctionType 3
|
||||||
|
/Domain [ 0 1 ]
|
||||||
|
/Functions [
|
||||||
|
<< /FunctionType 2
|
||||||
|
/Domain [ 0 1 ]
|
||||||
|
/C0 [ 0.27451 0.392157 0.666667 ]
|
||||||
|
/C1 [ 0.490196 0.572549 0.764706 ]
|
||||||
|
/N 1
|
||||||
|
>>
|
||||||
|
<< /FunctionType 2
|
||||||
|
/Domain [ 0 1 ]
|
||||||
|
/C0 [ 0.490196 0.572549 0.764706 ]
|
||||||
|
/C1 [ 0.27451 0.392157 0.666667 ]
|
||||||
|
/N 1
|
||||||
|
>>
|
||||||
|
]
|
||||||
|
/Bounds [ 0.503704 ]
|
||||||
|
/Encode [ 1 1 2 { pop 0 1 } for ]
|
||||||
|
>>
|
||||||
|
def
|
||||||
|
<< /PatternType 2
|
||||||
|
/Shading
|
||||||
|
<< /ShadingType 2
|
||||||
|
/ColorSpace /DeviceRGB
|
||||||
|
/Coords [ 346.896576 493.657867 219.976471 215.35788 ]
|
||||||
|
/Domain [ 0 1 ]
|
||||||
|
/Extend [ true true ]
|
||||||
|
/Function CairoFunction
|
||||||
|
>>
|
||||||
|
>>
|
||||||
|
[ 0.999999 0 0 -0.999999 -25.387143 494.094659 ]
|
||||||
|
makepattern setpattern
|
||||||
|
1.531 277.658 m 514.359 277.658 l 524.688 277.658 534.953 273.404 542.254
|
||||||
|
266.103 c 549.559 258.798 553.809 248.537 553.809 238.209 c 553.809 1.517
|
||||||
|
l 40.98 1.517 l 30.652 1.517 20.387 5.767 13.082 13.072 c 5.781 20.377
|
||||||
|
1.531 30.638 1.531 40.966 c h
|
||||||
|
f
|
||||||
|
0.301961 g
|
||||||
|
3.06 w
|
||||||
|
1 J
|
||||||
|
1 j
|
||||||
|
[] 0.0 d
|
||||||
|
3 M q 1 0 0 -1 0 279.189087 cm
|
||||||
|
1.531 1.531 m 514.359 1.531 l 524.688 1.531 534.953 5.785 542.254 13.086
|
||||||
|
c 549.559 20.391 553.809 30.652 553.809 40.98 c 553.809 277.672 l 40.98
|
||||||
|
277.672 l 30.652 277.672 20.387 273.422 13.082 266.117 c 5.781 258.813
|
||||||
|
1.531 248.551 1.531 238.223 c h
|
||||||
|
S Q
|
||||||
|
0.780392 0.815686 0.898039 rg
|
||||||
|
3.119995 w
|
||||||
|
q -1 0 0 1 0 279.189087 cm
|
||||||
|
-404.133 -117.703 m -398.957 -117.703 -393.816 -119.832 -390.16 -123.492
|
||||||
|
c -386.5 -127.148 -384.371 -132.289 -384.371 -137.465 c -384.371 -142.637
|
||||||
|
-386.5 -147.777 -390.16 -151.438 c -393.816 -155.094 -398.957 -157.223
|
||||||
|
-404.133 -157.223 c S Q
|
||||||
|
3.119995 w
|
||||||
|
q 1 0 0 -1 0 279.189087 cm
|
||||||
|
417.305 137.738 m 417.305 144.563 411.777 150.09 404.953 150.09 c 398.133
|
||||||
|
150.09 392.605 144.563 392.605 137.738 c 392.605 130.918 398.133 125.391
|
||||||
|
404.953 125.391 c 411.777 125.391 417.305 130.918 417.305 137.738 c h
|
||||||
|
S Q
|
||||||
|
3.119995 w
|
||||||
|
q 1 0 0 -1 0 279.189087 cm
|
||||||
|
417.277 136.918 m 431.027 136.918 l S Q
|
||||||
|
3.119995 w
|
||||||
|
q 1 0 0 -1 0 279.189087 cm
|
||||||
|
375.586 136.918 m 384.367 136.918 l S Q
|
||||||
|
3.119995 w
|
||||||
|
q 0 -1 -1 0 0 279.189087 cm
|
||||||
|
110.566 -375.586 m 163.27 -375.586 l S Q
|
||||||
|
3.119995 w
|
||||||
|
q 1 0 0 -1 0 279.189087 cm
|
||||||
|
336.641 110.566 m 374.492 110.566 l S Q
|
||||||
|
3.119995 w
|
||||||
|
q 1 0 0 -1 0 279.189087 cm
|
||||||
|
350.465 163.266 m 375.586 163.266 l S Q
|
||||||
|
3.119995 w
|
||||||
|
q 0 -1 -1 0 0 279.189087 cm
|
||||||
|
110.566 -431.023 m 163.27 -431.023 l S Q
|
||||||
|
3.119995 w
|
||||||
|
q 1 0 0 -1 0 279.189087 cm
|
||||||
|
431.027 110.566 m 473.457 110.566 l S Q
|
||||||
|
3.119995 w
|
||||||
|
q 1 0 0 -1 0 279.189087 cm
|
||||||
|
431.027 163.266 m 459.629 163.266 l S Q
|
||||||
|
2.975854 w
|
||||||
|
[ 2.975854 5.951709] 0 d
|
||||||
|
q -0.314992 -1 -1 0.314992 0 279.189087 cm
|
||||||
|
-21.932 -407.099 m -2.487 -407.099 l S Q
|
||||||
|
1 0.709804 0 rg
|
||||||
|
368.52 221.244 m 368.52 176.584 l 457.84 176.584 l 457.84 206.357 l 435.512
|
||||||
|
221.244 l h
|
||||||
|
f
|
||||||
|
0.780392 0.815686 0.898039 rg
|
||||||
|
3.119995 w
|
||||||
|
[] 0.0 d
|
||||||
|
q 1 0 0 -1 0 279.189087 cm
|
||||||
|
368.52 57.945 m 368.52 102.605 l 457.84 102.605 l 457.84 72.832 l 435.512
|
||||||
|
57.945 l h
|
||||||
|
S Q
|
||||||
|
0.4 g
|
||||||
|
387.691 203.634 m 386.285 203.634 l 384.297 206.935 l 382.301 203.634 l
|
||||||
|
380.914 203.634 l 383.633 207.81 l 381.133 211.806 l 382.453 211.806 l
|
||||||
|
384.32 208.728 l 386.203 211.806 l 387.484 211.806 l 384.977 207.861 l h
|
||||||
|
f
|
||||||
|
415.207 207.673 m 409.832 207.673 l 409.832 208.591 l 415.207 208.591 l
|
||||||
|
h
|
||||||
|
415.207 205.498 m 409.832 205.498 l 409.832 206.416 l 415.207 206.416 l
|
||||||
|
h
|
||||||
|
f
|
||||||
|
422.285 203.634 m 417.152 203.634 l 417.152 204.65 l 419.254 204.65 l 419.254
|
||||||
|
210.611 l 417.297 209.548 l 416.895 210.474 l 419.496 211.841 l 420.457
|
||||||
|
211.841 l 420.457 204.65 l 422.285 204.65 l h
|
||||||
|
f
|
||||||
|
426.57 205.603 m 426.711 205.603 426.848 205.58 426.973 205.525 c 427.102
|
||||||
|
205.47 427.211 205.396 427.305 205.298 c 427.398 205.205 427.473 205.091
|
||||||
|
427.527 204.963 c 427.582 204.838 427.609 204.701 427.609 204.556 c 427.609
|
||||||
|
204.412 427.582 204.279 427.527 204.154 c 427.473 204.029 427.398 203.92
|
||||||
|
427.305 203.826 c 427.211 203.732 427.102 203.658 426.973 203.603 c 426.848
|
||||||
|
203.552 426.711 203.525 426.57 203.525 c 426.426 203.525 426.289 203.552
|
||||||
|
426.164 203.603 c 426.039 203.658 425.93 203.732 425.836 203.826 c 425.742
|
||||||
|
203.92 425.668 204.029 425.613 204.154 c 425.559 204.279 425.535 204.412
|
||||||
|
425.535 204.556 c 425.535 204.701 425.559 204.838 425.613 204.963 c 425.668
|
||||||
|
205.091 425.742 205.205 425.836 205.298 c 425.93 205.396 426.039 205.47
|
||||||
|
426.164 205.525 c 426.289 205.58 426.426 205.603 426.57 205.603 c h
|
||||||
|
f
|
||||||
|
436.641 207.716 m 436.641 207.091 436.578 206.521 436.453 206.009 c 436.328
|
||||||
|
205.494 436.137 205.052 435.883 204.681 c 435.629 204.314 435.313 204.029
|
||||||
|
434.938 203.826 c 434.559 203.627 434.117 203.525 433.609 203.525 c 433.172
|
||||||
|
203.525 432.773 203.607 432.414 203.771 c 432.055 203.935 431.75 204.189
|
||||||
|
431.496 204.529 c 431.242 204.873 431.047 205.306 430.91 205.838 c 430.77
|
||||||
|
206.365 430.703 206.994 430.703 207.716 c 430.703 208.341 430.766 208.912
|
||||||
|
430.895 209.431 c 431.02 209.947 431.211 210.388 431.461 210.759 c 431.715
|
||||||
|
211.127 432.027 211.412 432.41 211.615 c 432.789 211.818 433.23 211.916
|
||||||
|
433.734 211.916 c 434.172 211.916 434.57 211.834 434.926 211.67 c 435.285
|
||||||
|
211.505 435.59 211.252 435.848 210.908 c 436.102 210.564 436.297 210.127
|
||||||
|
436.434 209.599 c 436.57 209.068 436.641 208.443 436.641 207.716 c h
|
||||||
|
435.539 207.681 m 435.539 207.822 435.535 207.963 435.523 208.103 c 435.512
|
||||||
|
208.24 435.504 208.377 435.488 208.509 c 432.035 205.943 l 432.098 205.724
|
||||||
|
432.176 205.525 432.27 205.341 c 432.367 205.158 432.48 205.002 432.617
|
||||||
|
204.869 c 432.754 204.74 432.906 204.638 433.082 204.564 c 433.254 204.49
|
||||||
|
433.449 204.455 433.672 204.455 c 433.953 204.455 434.211 204.525 434.441
|
||||||
|
204.662 c 434.676 204.798 434.871 205.002 435.035 205.275 c 435.195 205.545
|
||||||
|
435.32 205.88 435.41 206.283 c 435.496 206.685 435.539 207.15 435.539 207.681
|
||||||
|
c h
|
||||||
|
431.801 207.755 m 431.801 207.627 431.805 207.498 431.805 207.369 c 431.809
|
||||||
|
207.24 431.813 207.115 431.828 206.994 c 435.285 209.548 l 435.223 209.759
|
||||||
|
435.141 209.955 435.047 210.13 c 434.949 210.306 434.836 210.455 434.703
|
||||||
|
210.584 c 434.57 210.709 434.418 210.81 434.246 210.88 c 434.074 210.951
|
||||||
|
433.883 210.986 433.672 210.986 c 433.387 210.986 433.129 210.916 432.898
|
||||||
|
210.779 c 432.668 210.642 432.473 210.439 432.309 210.166 c 432.145 209.892
|
||||||
|
432.02 209.552 431.934 209.15 c 431.848 208.752 431.801 208.283 431.801
|
||||||
|
207.755 c h
|
||||||
|
f
|
||||||
|
443.691 207.716 m 443.691 207.091 443.629 206.521 443.504 206.009 c 443.379
|
||||||
|
205.494 443.188 205.052 442.934 204.681 c 442.68 204.314 442.363 204.029
|
||||||
|
441.988 203.826 c 441.609 203.627 441.168 203.525 440.66 203.525 c 440.223
|
||||||
|
203.525 439.824 203.607 439.465 203.771 c 439.105 203.935 438.801 204.189
|
||||||
|
438.547 204.529 c 438.293 204.873 438.098 205.306 437.957 205.838 c 437.82
|
||||||
|
206.365 437.754 206.994 437.754 207.716 c 437.754 208.341 437.816 208.912
|
||||||
|
437.941 209.431 c 438.07 209.947 438.258 210.388 438.512 210.759 c 438.762
|
||||||
|
211.127 439.078 211.412 439.457 211.615 c 439.836 211.818 440.277 211.916
|
||||||
|
440.785 211.916 c 441.223 211.916 441.617 211.834 441.977 211.67 c 442.336
|
||||||
|
211.505 442.641 211.252 442.895 210.908 c 443.148 210.564 443.348 210.127
|
||||||
|
443.484 209.599 c 443.621 209.068 443.691 208.443 443.691 207.716 c h
|
||||||
|
442.59 207.681 m 442.59 207.822 442.586 207.963 442.574 208.103 c 442.563
|
||||||
|
208.24 442.551 208.377 442.539 208.509 c 439.082 205.943 l 439.145 205.724
|
||||||
|
439.227 205.525 439.32 205.341 c 439.418 205.158 439.531 205.002 439.668
|
||||||
|
204.869 c 439.805 204.74 439.957 204.638 440.129 204.564 c 440.305 204.49
|
||||||
|
440.5 204.455 440.723 204.455 c 441.004 204.455 441.262 204.525 441.492
|
||||||
|
204.662 c 441.723 204.798 441.922 205.002 442.082 205.275 c 442.246 205.545
|
||||||
|
442.371 205.88 442.457 206.283 c 442.547 206.685 442.59 207.15 442.59 207.681
|
||||||
|
c h
|
||||||
|
438.852 207.755 m 438.852 207.627 438.852 207.498 438.855 207.369 c 438.855
|
||||||
|
207.24 438.863 207.115 438.879 206.994 c 442.332 209.548 l 442.27 209.759
|
||||||
|
442.191 209.955 442.098 210.13 c 442 210.306 441.887 210.455 441.754 210.584
|
||||||
|
c 441.617 210.709 441.465 210.81 441.297 210.88 c 441.125 210.951 440.934
|
||||||
|
210.986 440.723 210.986 c 440.438 210.986 440.18 210.916 439.949 210.779
|
||||||
|
c 439.719 210.642 439.52 210.439 439.359 210.166 c 439.195 209.892 439.07
|
||||||
|
209.552 438.984 209.15 c 438.895 208.752 438.852 208.283 438.852 207.755
|
||||||
|
c h
|
||||||
|
f
|
||||||
|
387.691 187.634 m 386.285 187.634 l 384.297 190.935 l 382.301 187.634 l
|
||||||
|
380.914 187.634 l 383.633 191.81 l 381.133 195.806 l 382.453 195.806 l
|
||||||
|
384.32 192.728 l 386.203 195.806 l 387.484 195.806 l 384.977 191.861 l h
|
||||||
|
f
|
||||||
|
415.207 191.673 m 409.832 191.673 l 409.832 192.591 l 415.207 192.591 l
|
||||||
|
h
|
||||||
|
415.207 189.498 m 409.832 189.498 l 409.832 190.416 l 415.207 190.416 l
|
||||||
|
h
|
||||||
|
f
|
||||||
|
422.539 191.716 m 422.539 191.091 422.477 190.521 422.352 190.009 c 422.227
|
||||||
|
189.494 422.039 189.052 421.785 188.681 c 421.527 188.314 421.215 188.029
|
||||||
|
420.836 187.826 c 420.461 187.627 420.016 187.525 419.508 187.525 c 419.07
|
||||||
|
187.525 418.672 187.607 418.316 187.771 c 417.957 187.935 417.648 188.189
|
||||||
|
417.395 188.529 c 417.141 188.873 416.945 189.306 416.809 189.838 c 416.672
|
||||||
|
190.365 416.602 190.994 416.602 191.716 c 416.602 192.341 416.664 192.912
|
||||||
|
416.793 193.431 c 416.918 193.947 417.109 194.388 417.363 194.759 c 417.613
|
||||||
|
195.127 417.93 195.412 418.309 195.615 c 418.688 195.818 419.129 195.916
|
||||||
|
419.633 195.916 c 420.07 195.916 420.469 195.834 420.828 195.67 c 421.184
|
||||||
|
195.505 421.492 195.252 421.746 194.908 c 422 194.564 422.195 194.127 422.332
|
||||||
|
193.599 c 422.473 193.068 422.539 192.443 422.539 191.716 c h
|
||||||
|
421.441 191.681 m 421.441 191.822 421.434 191.963 421.426 192.103 c 421.414
|
||||||
|
192.24 421.402 192.377 421.391 192.509 c 417.934 189.943 l 417.996 189.724
|
||||||
|
418.074 189.525 418.172 189.341 c 418.266 189.158 418.383 189.002 418.52
|
||||||
|
188.869 c 418.652 188.74 418.809 188.638 418.98 188.564 c 419.152 188.49
|
||||||
|
419.352 188.455 419.57 188.455 c 419.855 188.455 420.113 188.525 420.344
|
||||||
|
188.662 c 420.574 188.798 420.77 189.002 420.934 189.275 c 421.098 189.545
|
||||||
|
421.223 189.88 421.309 190.283 c 421.395 190.685 421.441 191.15 421.441
|
||||||
|
191.681 c h
|
||||||
|
417.703 191.755 m 417.703 191.627 417.703 191.498 417.707 191.369 c 417.707
|
||||||
|
191.24 417.715 191.115 417.727 190.994 c 421.184 193.548 l 421.121 193.759
|
||||||
|
421.043 193.955 420.945 194.13 c 420.852 194.306 420.734 194.455 420.602
|
||||||
|
194.584 c 420.469 194.709 420.316 194.81 420.145 194.88 c 419.977 194.951
|
||||||
|
419.785 194.986 419.57 194.986 c 419.289 194.986 419.031 194.916 418.801
|
||||||
|
194.779 c 418.566 194.642 418.371 194.439 418.207 194.166 c 418.047 193.892
|
||||||
|
417.922 193.552 417.832 193.15 c 417.746 192.752 417.703 192.283 417.703
|
||||||
|
191.755 c h
|
||||||
|
f
|
||||||
|
426.57 189.603 m 426.711 189.603 426.848 189.58 426.973 189.525 c 427.102
|
||||||
|
189.47 427.211 189.396 427.305 189.298 c 427.398 189.205 427.473 189.091
|
||||||
|
427.527 188.963 c 427.582 188.838 427.609 188.701 427.609 188.556 c 427.609
|
||||||
|
188.412 427.582 188.279 427.527 188.154 c 427.473 188.029 427.398 187.92
|
||||||
|
427.305 187.826 c 427.211 187.732 427.102 187.658 426.973 187.603 c 426.848
|
||||||
|
187.552 426.711 187.525 426.57 187.525 c 426.426 187.525 426.289 187.552
|
||||||
|
426.164 187.603 c 426.039 187.658 425.93 187.732 425.836 187.826 c 425.742
|
||||||
|
187.92 425.668 188.029 425.613 188.154 c 425.559 188.279 425.535 188.412
|
||||||
|
425.535 188.556 c 425.535 188.701 425.559 188.838 425.613 188.963 c 425.668
|
||||||
|
189.091 425.742 189.205 425.836 189.298 c 425.93 189.396 426.039 189.47
|
||||||
|
426.164 189.525 c 426.289 189.58 426.426 189.603 426.57 189.603 c h
|
||||||
|
f
|
||||||
|
436.641 191.716 m 436.641 191.091 436.578 190.521 436.453 190.009 c 436.328
|
||||||
|
189.494 436.137 189.052 435.883 188.681 c 435.629 188.314 435.313 188.029
|
||||||
|
434.938 187.826 c 434.559 187.627 434.117 187.525 433.609 187.525 c 433.172
|
||||||
|
187.525 432.773 187.607 432.414 187.771 c 432.055 187.935 431.75 188.189
|
||||||
|
431.496 188.529 c 431.242 188.873 431.047 189.306 430.91 189.838 c 430.77
|
||||||
|
190.365 430.703 190.994 430.703 191.716 c 430.703 192.341 430.766 192.912
|
||||||
|
430.895 193.431 c 431.02 193.947 431.211 194.388 431.461 194.759 c 431.715
|
||||||
|
195.127 432.027 195.412 432.41 195.615 c 432.789 195.818 433.23 195.916
|
||||||
|
433.734 195.916 c 434.172 195.916 434.57 195.834 434.926 195.67 c 435.285
|
||||||
|
195.505 435.59 195.252 435.848 194.908 c 436.102 194.564 436.297 194.127
|
||||||
|
436.434 193.599 c 436.57 193.068 436.641 192.443 436.641 191.716 c h
|
||||||
|
435.539 191.681 m 435.539 191.822 435.535 191.963 435.523 192.103 c 435.512
|
||||||
|
192.24 435.504 192.377 435.488 192.509 c 432.035 189.943 l 432.098 189.724
|
||||||
|
432.176 189.525 432.27 189.341 c 432.367 189.158 432.48 189.002 432.617
|
||||||
|
188.869 c 432.754 188.74 432.906 188.638 433.082 188.564 c 433.254 188.49
|
||||||
|
433.449 188.455 433.672 188.455 c 433.953 188.455 434.211 188.525 434.441
|
||||||
|
188.662 c 434.676 188.798 434.871 189.002 435.035 189.275 c 435.195 189.545
|
||||||
|
435.32 189.88 435.41 190.283 c 435.496 190.685 435.539 191.15 435.539 191.681
|
||||||
|
c h
|
||||||
|
431.801 191.755 m 431.801 191.627 431.805 191.498 431.805 191.369 c 431.809
|
||||||
|
191.24 431.813 191.115 431.828 190.994 c 435.285 193.548 l 435.223 193.759
|
||||||
|
435.141 193.955 435.047 194.13 c 434.949 194.306 434.836 194.455 434.703
|
||||||
|
194.584 c 434.57 194.709 434.418 194.81 434.246 194.88 c 434.074 194.951
|
||||||
|
433.883 194.986 433.672 194.986 c 433.387 194.986 433.129 194.916 432.898
|
||||||
|
194.779 c 432.668 194.642 432.473 194.439 432.309 194.166 c 432.145 193.892
|
||||||
|
432.02 193.552 431.934 193.15 c 431.848 192.752 431.801 192.283 431.801
|
||||||
|
191.755 c h
|
||||||
|
f
|
||||||
|
443.434 187.634 m 438.301 187.634 l 438.301 188.65 l 440.402 188.65 l 440.402
|
||||||
|
194.611 l 438.445 193.548 l 438.047 194.474 l 440.645 195.841 l 441.609
|
||||||
|
195.841 l 441.609 188.65 l 443.434 188.65 l h
|
||||||
|
f
|
||||||
|
392.707 204.181 m 392.707 203.763 392.648 203.396 392.531 203.084 c 392.414
|
||||||
|
202.771 392.254 202.513 392.047 202.306 c 391.84 202.099 391.598 201.947
|
||||||
|
391.316 201.841 c 391.035 201.74 390.73 201.689 390.402 201.689 c 390.254
|
||||||
|
201.689 390.102 201.697 389.953 201.713 c 389.805 201.728 389.656 201.755
|
||||||
|
389.504 201.791 c 389.504 199.822 l 388.688 199.822 l 388.688 206.451 l
|
||||||
|
389.414 206.451 l 389.465 205.662 l 389.699 205.986 389.949 206.213 390.215
|
||||||
|
206.341 c 390.48 206.47 390.77 206.537 391.078 206.537 c 391.348 206.537
|
||||||
|
391.582 206.478 391.785 206.365 c 391.988 206.255 392.16 206.095 392.297
|
||||||
|
205.892 c 392.434 205.685 392.535 205.439 392.605 205.15 c 392.676 204.861
|
||||||
|
392.707 204.537 392.707 204.181 c h
|
||||||
|
391.875 204.146 m 391.875 204.392 391.855 204.619 391.82 204.826 c 391.785
|
||||||
|
205.029 391.727 205.209 391.648 205.353 c 391.57 205.502 391.473 205.615
|
||||||
|
391.348 205.697 c 391.227 205.783 391.082 205.822 390.914 205.822 c 390.809
|
||||||
|
205.822 390.707 205.806 390.598 205.775 c 390.492 205.74 390.383 205.685
|
||||||
|
390.27 205.611 c 390.156 205.533 390.035 205.431 389.906 205.306 c 389.781
|
||||||
|
205.177 389.645 205.021 389.504 204.834 c 389.504 202.552 l 389.652 202.49
|
||||||
|
389.809 202.439 389.977 202.404 c 390.141 202.369 390.305 202.349 390.465
|
||||||
|
202.349 c 390.902 202.349 391.25 202.498 391.5 202.798 c 391.75 203.095
|
||||||
|
391.875 203.545 391.875 204.146 c h
|
||||||
|
f
|
||||||
|
397.949 204.345 m 397.949 204.232 397.949 204.134 397.945 204.056 c 397.941
|
||||||
|
203.978 397.938 203.904 397.93 203.834 c 394.625 203.834 l 394.625 203.353
|
||||||
|
394.762 202.986 395.027 202.728 c 395.297 202.47 395.684 202.341 396.191
|
||||||
|
202.341 c 396.328 202.341 396.465 202.345 396.605 202.357 c 396.742 202.369
|
||||||
|
396.875 202.38 397.004 202.4 c 397.129 202.42 397.254 202.439 397.371 202.463
|
||||||
|
c 397.488 202.486 397.598 202.513 397.695 202.541 c 397.695 201.873 l 397.473
|
||||||
|
201.81 397.223 201.759 396.945 201.72 c 396.664 201.681 396.375 201.662
|
||||||
|
396.074 201.662 c 395.672 201.662 395.324 201.716 395.035 201.826 c 394.742
|
||||||
|
201.935 394.504 202.091 394.32 202.298 c 394.133 202.509 393.996 202.763
|
||||||
|
393.906 203.064 c 393.816 203.365 393.773 203.709 393.773 204.088 c 393.773
|
||||||
|
204.42 393.82 204.732 393.914 205.029 c 394.012 205.322 394.148 205.584
|
||||||
|
394.332 205.806 c 394.516 206.029 394.738 206.209 395.004 206.338 c 395.27
|
||||||
|
206.47 395.574 206.537 395.91 206.537 c 396.238 206.537 396.527 206.482
|
||||||
|
396.781 206.38 c 397.035 206.279 397.25 206.13 397.422 205.943 c 397.594
|
||||||
|
205.752 397.727 205.525 397.816 205.252 c 397.906 204.982 397.949 204.681
|
||||||
|
397.949 204.345 c h
|
||||||
|
397.102 204.463 m 397.109 204.673 397.09 204.865 397.039 205.037 c 396.988
|
||||||
|
205.213 396.914 205.361 396.809 205.486 c 396.703 205.611 396.574 205.709
|
||||||
|
396.418 205.779 c 396.262 205.849 396.078 205.884 395.871 205.884 c 395.695
|
||||||
|
205.884 395.531 205.849 395.387 205.779 c 395.238 205.713 395.113 205.615
|
||||||
|
395.004 205.49 c 394.898 205.365 394.813 205.216 394.746 205.041 c 394.684
|
||||||
|
204.865 394.641 204.673 394.625 204.463 c h
|
||||||
|
f
|
||||||
|
399.453 206.451 m 400.199 206.451 l 400.223 205.584 l 400.5 205.92 400.773
|
||||||
|
206.162 401.047 206.31 c 401.316 206.459 401.59 206.537 401.863 206.537
|
||||||
|
c 402.352 206.537 402.719 206.377 402.973 206.06 c 403.223 205.748 403.34
|
||||||
|
205.279 403.32 204.654 c 402.496 204.654 l 402.504 205.068 402.445 205.369
|
||||||
|
402.316 205.552 c 402.188 205.74 401.996 205.834 401.746 205.834 c 401.637
|
||||||
|
205.834 401.527 205.814 401.414 205.775 c 401.305 205.736 401.191 205.673
|
||||||
|
401.074 205.588 c 400.957 205.502 400.832 205.388 400.699 205.255 c 400.57
|
||||||
|
205.123 400.43 204.959 400.277 204.767 c 400.277 201.744 l 399.453 201.744
|
||||||
|
l h
|
||||||
|
f
|
||||||
|
408.727 207.607 m 408.297 207.701 407.93 207.744 407.621 207.744 c 406.887
|
||||||
|
207.744 406.52 207.361 406.52 206.591 c 406.52 205.767 l 408.582 205.767
|
||||||
|
l 408.582 205.088 l 406.52 205.088 l 406.52 201.744 l 405.688 201.744 l
|
||||||
|
405.688 205.088 l 404.176 205.088 l 404.176 205.767 l 405.688 205.767 l
|
||||||
|
405.688 206.545 l 405.688 207.798 406.34 208.423 407.648 208.423 c 407.973
|
||||||
|
208.423 408.332 208.388 408.727 208.31 c h
|
||||||
|
f
|
||||||
|
390.383 191.279 m 388.992 191.279 l 388.992 191.947 l 391.207 191.947 l
|
||||||
|
391.207 186.005 l 392.609 186.005 l 392.609 185.326 l 388.836 185.326 l
|
||||||
|
388.836 186.005 l 390.383 186.005 l h
|
||||||
|
f
|
||||||
|
398.164 187.716 m 398.164 187.349 398.113 187.013 398.012 186.709 c 397.906
|
||||||
|
186.404 397.758 186.146 397.566 185.927 c 397.371 185.709 397.137 185.541
|
||||||
|
396.855 185.42 c 396.578 185.302 396.262 185.24 395.91 185.24 c 395.574
|
||||||
|
185.24 395.27 185.295 395.004 185.396 c 394.734 185.502 394.508 185.658
|
||||||
|
394.324 185.861 c 394.137 186.064 393.996 186.314 393.898 186.615 c 393.797
|
||||||
|
186.916 393.75 187.259 393.75 187.65 c 393.75 188.017 393.801 188.349 393.902
|
||||||
|
188.65 c 394.008 188.951 394.156 189.213 394.348 189.427 c 394.543 189.646
|
||||||
|
394.777 189.814 395.059 189.935 c 395.336 190.056 395.652 190.115 396.004
|
||||||
|
190.115 c 396.34 190.115 396.645 190.064 396.91 189.959 c 397.18 189.853
|
||||||
|
397.406 189.701 397.59 189.498 c 397.777 189.298 397.918 189.048 398.016
|
||||||
|
188.748 c 398.117 188.447 398.164 188.103 398.164 187.716 c h
|
||||||
|
397.332 187.677 m 397.332 187.97 397.297 188.224 397.234 188.439 c 397.172
|
||||||
|
188.658 397.078 188.838 396.961 188.982 c 396.84 189.13 396.695 189.24
|
||||||
|
396.527 189.31 c 396.355 189.384 396.168 189.423 395.957 189.423 c 395.715
|
||||||
|
189.423 395.504 189.373 395.332 189.279 c 395.156 189.185 395.016 189.056
|
||||||
|
394.906 188.896 c 394.793 188.736 394.711 188.552 394.66 188.341 c 394.609
|
||||||
|
188.13 394.582 187.908 394.582 187.677 c 394.582 187.388 394.617 187.134
|
||||||
|
394.68 186.916 c 394.742 186.697 394.836 186.513 394.953 186.369 c 395.074
|
||||||
|
186.224 395.215 186.115 395.387 186.041 c 395.555 185.966 395.746 185.931
|
||||||
|
395.957 185.931 c 396.199 185.931 396.41 185.978 396.582 186.072 c 396.758
|
||||||
|
186.17 396.898 186.295 397.008 186.455 c 397.121 186.615 397.203 186.798
|
||||||
|
397.254 187.009 c 397.305 187.22 397.332 187.443 397.332 187.677 c h
|
||||||
|
f
|
||||||
|
403.082 186.611 m 403.082 186.443 403.055 186.295 402.996 186.166 c 402.941
|
||||||
|
186.033 402.863 185.916 402.77 185.814 c 402.672 185.713 402.559 185.627
|
||||||
|
402.43 185.556 c 402.301 185.482 402.164 185.423 402.02 185.377 c 401.875
|
||||||
|
185.33 401.727 185.295 401.574 185.275 c 401.418 185.252 401.27 185.24
|
||||||
|
401.121 185.24 c 400.805 185.24 400.512 185.255 400.242 185.283 c 399.977
|
||||||
|
185.31 399.715 185.357 399.457 185.42 c 399.457 186.17 l 399.734 186.091
|
||||||
|
400.008 186.033 400.277 185.99 c 400.551 185.951 400.82 185.931 401.09
|
||||||
|
185.931 c 401.48 185.931 401.77 185.982 401.957 186.088 c 402.145 186.197
|
||||||
|
402.238 186.345 402.238 186.545 c 402.238 186.627 402.223 186.705 402.195
|
||||||
|
186.771 c 402.164 186.838 402.109 186.904 402.031 186.963 c 401.953 187.025
|
||||||
|
401.832 187.088 401.668 187.154 c 401.504 187.22 401.281 187.295 400.996
|
||||||
|
187.377 c 400.785 187.439 400.586 187.513 400.406 187.591 c 400.227 187.67
|
||||||
|
400.074 187.767 399.941 187.877 c 399.809 187.986 399.707 188.111 399.633
|
||||||
|
188.259 c 399.559 188.408 399.52 188.58 399.52 188.779 c 399.52 188.912
|
||||||
|
399.551 189.056 399.609 189.213 c 399.672 189.369 399.777 189.513 399.922
|
||||||
|
189.646 c 400.07 189.783 400.27 189.892 400.52 189.982 c 400.77 190.072
|
||||||
|
401.082 190.115 401.457 190.115 c 401.641 190.115 401.844 190.107 402.07
|
||||||
|
190.084 c 402.293 190.064 402.527 190.029 402.773 189.978 c 402.773 189.252
|
||||||
|
l 402.516 189.314 402.273 189.361 402.043 189.392 c 401.813 189.42 401.613
|
||||||
|
189.435 401.445 189.435 c 401.242 189.435 401.07 189.42 400.934 189.388
|
||||||
|
c 400.793 189.357 400.68 189.314 400.594 189.259 c 400.508 189.205 400.449
|
||||||
|
189.142 400.41 189.068 c 400.371 188.994 400.355 188.916 400.355 188.83
|
||||||
|
c 400.355 188.748 400.371 188.67 400.402 188.603 c 400.438 188.533 400.496
|
||||||
|
188.466 400.586 188.404 c 400.676 188.338 400.801 188.275 400.957 188.209
|
||||||
|
c 401.117 188.146 401.324 188.076 401.582 188.002 c 401.859 187.92 402.094
|
||||||
|
187.834 402.285 187.748 c 402.477 187.658 402.629 187.556 402.75 187.447
|
||||||
|
c 402.867 187.338 402.953 187.216 403.004 187.08 c 403.055 186.939 403.082
|
||||||
|
186.783 403.082 186.611 c h
|
||||||
|
f
|
||||||
|
408.371 186.611 m 408.371 186.443 408.34 186.295 408.285 186.166 c 408.23
|
||||||
|
186.033 408.152 185.916 408.055 185.814 c 407.957 185.713 407.848 185.627
|
||||||
|
407.719 185.556 c 407.59 185.482 407.453 185.423 407.309 185.377 c 407.164
|
||||||
|
185.33 407.012 185.295 406.859 185.275 c 406.707 185.252 406.559 185.24
|
||||||
|
406.41 185.24 c 406.09 185.24 405.797 185.255 405.531 185.283 c 405.266
|
||||||
|
185.31 405.004 185.357 404.746 185.42 c 404.746 186.17 l 405.02 186.091
|
||||||
|
405.293 186.033 405.566 185.99 c 405.84 185.951 406.109 185.931 406.379
|
||||||
|
185.931 c 406.77 185.931 407.059 185.982 407.246 186.088 c 407.434 186.197
|
||||||
|
407.527 186.345 407.527 186.545 c 407.527 186.627 407.512 186.705 407.48
|
||||||
|
186.771 c 407.453 186.838 407.398 186.904 407.32 186.963 c 407.242 187.025
|
||||||
|
407.121 187.088 406.957 187.154 c 406.793 187.22 406.566 187.295 406.285
|
||||||
|
187.377 c 406.07 187.439 405.875 187.513 405.695 187.591 c 405.516 187.67
|
||||||
|
405.359 187.767 405.23 187.877 c 405.098 187.986 404.996 188.111 404.918
|
||||||
|
188.259 c 404.844 188.408 404.809 188.58 404.809 188.779 c 404.809 188.912
|
||||||
|
404.836 189.056 404.898 189.213 c 404.961 189.369 405.063 189.513 405.211
|
||||||
|
189.646 c 405.355 189.783 405.555 189.892 405.805 189.982 c 406.055 190.072
|
||||||
|
406.367 190.115 406.742 190.115 c 406.926 190.115 407.133 190.107 407.355
|
||||||
|
190.084 c 407.582 190.064 407.816 190.029 408.059 189.978 c 408.059 189.252
|
||||||
|
l 407.805 189.314 407.563 189.361 407.332 189.392 c 407.102 189.42 406.902
|
||||||
|
189.435 406.734 189.435 c 406.531 189.435 406.359 189.42 406.219 189.388
|
||||||
|
c 406.082 189.357 405.969 189.314 405.883 189.259 c 405.797 189.205 405.734
|
||||||
|
189.142 405.699 189.068 c 405.66 188.994 405.641 188.916 405.641 188.83
|
||||||
|
c 405.641 188.748 405.656 188.67 405.691 188.603 c 405.723 188.533 405.785
|
||||||
|
188.466 405.875 188.404 c 405.961 188.338 406.086 188.275 406.246 188.209
|
||||||
|
c 406.406 188.146 406.613 188.076 406.871 188.002 c 407.148 187.92 407.383
|
||||||
|
187.834 407.574 187.748 c 407.762 187.658 407.918 187.556 408.035 187.447
|
||||||
|
c 408.156 187.338 408.242 187.216 408.293 187.08 c 408.344 186.939 408.371
|
||||||
|
186.783 408.371 186.611 c h
|
||||||
|
f
|
||||||
|
1 g
|
||||||
|
16.999975 w
|
||||||
|
q 1 0 0 -1 0 279.189087 cm
|
||||||
|
474.211 121.281 m 474.211 159.207 443.246 189.949 405.047 189.949 c 366.848
|
||||||
|
189.949 335.883 159.207 335.883 121.281 c 335.883 83.359 366.848 52.617
|
||||||
|
405.047 52.617 c 443.246 52.617 474.211 83.359 474.211 121.281 c h
|
||||||
|
S Q
|
||||||
|
463.121 88.627 m 475.383 100.888 l 521.199 55.068 l 508.938 42.806 l h
|
||||||
|
f
|
||||||
|
454.246 102.189 m 461.977 109.92 l 475.324 96.568 l 467.598 88.841 l h
|
||||||
|
f
|
||||||
|
155.125 126.048 m 155.125 110.97 149.75 99.56 139.004 91.814 c 129.512
|
||||||
|
84.904 116.672 81.451 100.48 81.451 c 92.73 81.451 82.508 83.545 69.805
|
||||||
|
87.732 c 71.898 107.623 l 83.695 102.806 94.059 100.4 102.992 100.4 c 110.25
|
||||||
|
100.4 116.672 102.248 122.254 105.947 c 129.023 110.482 132.41 116.763
|
||||||
|
132.41 124.791 c 132.41 133.865 126.824 141.505 115.66 147.716 c 105.328
|
||||||
|
153.091 95.035 158.502 84.777 163.943 c 73.609 171.83 68.027 182.369 68.027
|
||||||
|
195.56 c 68.027 208.4 72.668 218.521 81.949 225.92 c 90.672 232.826 102.051
|
||||||
|
236.283 116.078 236.283 c 127.313 236.283 137.957 234.502 148.008 230.943
|
||||||
|
c 144.973 211.158 l 134.434 215.345 125.082 217.439 116.914 217.439 c 99.469
|
||||||
|
217.439 90.742 210.775 90.742 197.443 c 90.742 189.904 96.328 183.134 107.492
|
||||||
|
177.134 c 126.824 166.806 137.121 161.15 138.375 160.173 c 149.543 151.521
|
||||||
|
155.125 140.146 155.125 126.048 c h
|
||||||
|
f
|
||||||
|
306.922 160.173 m 306.922 135.47 299.77 116.521 285.461 103.33 c 271.641
|
||||||
|
90.49 252.207 84.068 227.152 84.068 c 182.973 84.068 l 182.973 233.771
|
||||||
|
l 227.152 233.771 l 250.043 233.771 268.887 227.244 283.684 214.193 c 299.176
|
||||||
|
200.654 306.922 182.646 306.922 160.173 c h
|
||||||
|
284.207 159.338 m 284.203 176.365 278.938 189.974 268.398 200.166 c 258.348
|
||||||
|
209.935 245.367 214.822 229.453 214.822 c 204.434 214.822 l 204.434 102.912
|
||||||
|
l 226.941 102.912 l 265.117 102.912 284.203 121.72 284.207 159.338 c h
|
||||||
|
f
|
||||||
|
85.898 50.482 m 85.898 48.33 85.129 46.701 83.594 45.595 c 82.238 44.607
|
||||||
|
80.406 44.115 78.094 44.115 c 76.988 44.115 75.527 44.412 73.715 45.009
|
||||||
|
c 74.012 47.853 l 75.695 47.166 77.176 46.822 78.453 46.822 c 79.488 46.822
|
||||||
|
80.406 47.084 81.203 47.611 c 82.168 48.259 82.652 49.158 82.652 50.302
|
||||||
|
c 82.652 51.599 81.855 52.689 80.262 53.576 c 78.785 54.345 77.316 55.115
|
||||||
|
75.852 55.892 c 74.258 57.021 73.461 58.525 73.461 60.408 c 73.461 62.24
|
||||||
|
74.121 63.685 75.449 64.744 c 76.695 65.728 78.316 66.224 80.32 66.224
|
||||||
|
c 81.926 66.224 83.445 65.97 84.879 65.459 c 84.445 62.634 l 82.941 63.232
|
||||||
|
81.605 63.533 80.441 63.533 c 77.949 63.533 76.703 62.58 76.703 60.677
|
||||||
|
c 76.703 59.599 77.5 58.634 79.094 57.779 c 81.855 56.302 83.324 55.494
|
||||||
|
83.504 55.357 c 85.098 54.119 85.898 52.494 85.898 50.482 c h
|
||||||
|
f
|
||||||
|
104.625 52.291 m 104.625 50.017 103.891 48.099 102.414 46.537 c 100.91
|
||||||
|
44.923 99.008 44.115 96.703 44.115 c 94.383 44.115 92.465 44.923 90.949
|
||||||
|
46.537 c 89.473 48.099 88.738 50.017 88.738 52.291 c 88.738 54.681 89.473
|
||||||
|
56.642 90.941 58.173 c 92.41 59.705 94.332 60.466 96.703 60.466 c 99.055
|
||||||
|
60.466 100.965 59.705 102.43 58.173 c 103.895 56.642 104.625 54.681 104.625
|
||||||
|
52.291 c h
|
||||||
|
101.563 52.291 m 101.563 53.865 101.133 55.213 100.277 56.326 c 99.359
|
||||||
|
57.533 98.168 58.134 96.703 58.134 c 95.219 58.134 94.012 57.533 93.086
|
||||||
|
56.326 c 92.23 55.213 91.801 53.865 91.801 52.291 c 91.801 50.736 92.195
|
||||||
|
49.416 92.98 48.33 c 93.879 47.076 95.121 46.447 96.703 46.447 c 98.27
|
||||||
|
46.447 99.5 47.076 100.398 48.33 c 101.172 49.416 101.563 50.736 101.563
|
||||||
|
52.291 c h
|
||||||
|
f
|
||||||
|
117.527 67.627 m 117.406 65.31 l 117.07 65.431 116.609 65.49 116.031 65.49
|
||||||
|
c 114.875 65.49 114.094 65.123 113.684 64.384 c 113.387 63.865 113.238
|
||||||
|
62.998 113.238 61.783 c 113.238 60.095 l 117.379 60.095 l 117.379 57.779
|
||||||
|
l 113.238 57.779 l 113.238 44.49 l 110.367 44.49 l 110.367 57.779 l 106.691
|
||||||
|
57.779 l 106.691 60.095 l 110.367 60.095 l 110.367 61.545 l 110.367 63.627
|
||||||
|
110.707 65.146 111.383 66.103 c 112.199 67.248 113.605 67.822 115.598 67.822
|
||||||
|
c 116.105 67.822 116.75 67.759 117.527 67.627 c h
|
||||||
|
f
|
||||||
|
128.934 44.548 m 127.938 44.259 127.117 44.115 126.48 44.115 c 123.281
|
||||||
|
44.115 121.684 45.63 121.684 48.658 c 121.684 57.779 l 118.156 57.779 l
|
||||||
|
118.156 60.095 l 121.684 60.095 l 121.684 63.713 l 124.555 64.638 l 124.555
|
||||||
|
60.095 l 128.695 60.095 l 128.695 57.779 l 124.555 57.779 l 124.555 49.228
|
||||||
|
l 124.555 48.361 124.793 47.673 125.27 47.166 c 125.719 46.685 126.285
|
||||||
|
46.447 126.973 46.447 c 127.711 46.447 128.363 46.63 128.934 46.998 c h
|
||||||
|
f
|
||||||
|
154.973 60.095 m 149.965 44.49 l 146.617 44.49 l 142.582 57.599 l 142.52
|
||||||
|
57.599 l 138.574 44.49 l 135.227 44.49 l 130.219 60.095 l 133.371 60.095
|
||||||
|
l 136.945 47.177 l 137.004 47.177 l 140.98 60.095 l 144.391 60.095 l 148.305
|
||||||
|
47.177 l 148.367 47.177 l 152.164 60.095 l h
|
||||||
|
f
|
||||||
|
170.102 44.49 m 167.41 44.49 l 167.41 46.505 l 167.352 46.505 l 166.215
|
||||||
|
44.912 164.598 44.115 162.508 44.115 c 160.742 44.115 159.367 44.502 158.379
|
||||||
|
45.279 c 157.313 46.119 156.781 47.353 156.781 48.986 c 156.781 50.759
|
||||||
|
157.617 52.107 159.293 53.025 c 160.629 53.759 162.211 54.13 164.047 54.13
|
||||||
|
c 165.332 54.13 166.348 54.111 167.094 54.068 c 167.094 55.466 166.816
|
||||||
|
56.482 166.258 57.119 c 165.652 57.798 164.645 58.134 163.238 58.134 c 161.484
|
||||||
|
58.134 159.977 57.607 158.711 56.552 c 158.559 59.002 l 160.203 59.978
|
||||||
|
161.918 60.466 163.703 60.466 c 165.895 60.466 167.5 59.923 168.516 58.838
|
||||||
|
c 169.492 57.791 169.98 56.181 169.98 54.009 c 169.98 47.552 l 169.98 46.119
|
||||||
|
170.02 45.095 170.102 44.49 c h
|
||||||
|
167.094 50.556 m 167.094 51.931 l 166.895 51.931 166.594 51.943 166.184
|
||||||
|
51.963 c 165.773 51.982 165.473 51.994 165.273 51.994 c 161.656 51.994
|
||||||
|
159.844 50.99 159.844 48.986 c 159.844 48.22 160.164 47.591 160.801 47.103
|
||||||
|
c 161.371 46.666 162.023 46.447 162.762 46.447 c 164.137 46.447 165.211
|
||||||
|
46.841 165.988 47.627 c 166.727 48.365 167.094 49.341 167.094 50.556 c
|
||||||
|
h
|
||||||
|
f
|
||||||
|
183.598 57.689 m 183.148 57.865 182.617 57.955 182 57.955 c 180.703 57.955
|
||||||
|
179.668 57.384 178.898 56.236 c 178.125 55.091 177.738 53.541 177.738 51.588
|
||||||
|
c 177.738 44.49 l 174.867 44.49 l 174.867 60.095 l 177.559 60.095 l 177.559
|
||||||
|
57.689 l 177.621 57.689 l 178.008 58.505 178.578 59.173 179.332 59.689
|
||||||
|
c 180.082 60.209 180.871 60.466 181.699 60.466 c 182.25 60.466 182.883 60.396
|
||||||
|
183.598 60.259 c h
|
||||||
|
f
|
||||||
|
199.922 51.65 m 188.785 51.65 l 188.785 50.142 189.305 48.892 190.34 47.896
|
||||||
|
c 191.328 46.931 192.523 46.447 193.926 46.447 c 194.793 46.447 195.746
|
||||||
|
46.634 196.781 47.013 c 197.668 47.334 198.324 47.666 198.742 48.017 c
|
||||||
|
198.742 45.13 l 196.867 44.455 195.223 44.115 193.809 44.115 c 191.117 44.115
|
||||||
|
189.078 44.892 187.695 46.447 c 186.379 47.9 185.723 49.943 185.723 52.576
|
||||||
|
c 185.723 54.896 186.395 56.795 187.738 58.263 c 189.086 59.732 190.852
|
||||||
|
60.466 193.047 60.466 c 197.629 60.466 199.922 57.529 199.922 51.65 c h
|
||||||
|
196.871 53.802 m 196.871 55.037 196.535 56.056 195.855 56.865 c 195.137
|
||||||
|
57.713 194.184 58.134 192.984 58.134 c 191.691 58.134 190.664 57.666 189.906
|
||||||
|
56.732 c 189.289 55.955 188.914 54.978 188.785 53.802 c h
|
||||||
|
f
|
||||||
|
230.086 55.357 m 230.086 51.826 229.066 49.123 227.023 47.24 c 225.051
|
||||||
|
45.404 222.273 44.49 218.695 44.49 c 212.391 44.49 l 212.391 65.865 l 218.695
|
||||||
|
65.865 l 221.965 65.865 224.656 64.931 226.77 63.068 c 228.98 61.134 230.086
|
||||||
|
58.564 230.086 55.357 c h
|
||||||
|
226.844 55.236 m 226.844 57.666 226.09 59.611 224.586 61.064 c 223.152
|
||||||
|
62.463 221.297 63.158 219.027 63.158 c 215.453 63.158 l 215.453 47.177 l
|
||||||
|
218.668 47.177 l 224.117 47.177 226.844 49.865 226.844 55.236 c h
|
||||||
|
f
|
||||||
|
247.578 51.65 m 236.441 51.65 l 236.441 50.142 236.957 48.892 237.996 47.896
|
||||||
|
c 238.98 46.931 240.176 46.447 241.582 46.447 c 242.449 46.447 243.402
|
||||||
|
46.634 244.438 47.013 c 245.324 47.334 245.977 47.666 246.395 48.017 c 246.395
|
||||||
|
45.13 l 244.523 44.455 242.879 44.115 241.465 44.115 c 238.773 44.115 236.734
|
||||||
|
44.892 235.348 46.447 c 234.035 47.9 233.375 49.943 233.375 52.576 c 233.375
|
||||||
|
54.896 234.047 56.795 235.395 58.263 c 236.738 59.732 238.508 60.466 240.699
|
||||||
|
60.466 c 245.285 60.466 247.578 57.529 247.578 51.65 c h
|
||||||
|
244.527 53.802 m 244.527 55.037 244.188 56.056 243.512 56.865 c 242.793
|
||||||
|
57.713 241.836 58.134 240.641 58.134 c 239.344 58.134 238.32 57.666 237.563
|
||||||
|
56.732 c 236.945 55.955 236.57 54.978 236.441 53.802 c h
|
||||||
|
f
|
||||||
|
259.879 48.986 m 259.879 47.412 259.32 46.189 258.207 45.31 c 257.199 44.513
|
||||||
|
255.938 44.115 254.422 44.115 c 252.641 44.115 251.215 44.404 250.148 44.982
|
||||||
|
c 250.297 47.552 l 251.434 46.814 252.629 46.447 253.887 46.447 c 254.664
|
||||||
|
46.447 255.316 46.611 255.844 46.939 c 256.492 47.33 256.816 47.912 256.816
|
||||||
|
48.689 c 256.816 49.447 256.23 50.142 255.066 50.783 c 253.98 51.369 252.895
|
||||||
|
51.959 251.809 52.545 c 250.641 53.38 250.059 54.423 250.059 55.67 c 250.059
|
||||||
|
57.224 250.586 58.431 251.645 59.287 c 252.629 60.076 253.934 60.466 255.559
|
||||||
|
60.466 c 256.574 60.466 257.773 60.263 259.148 59.853 c 258.906 57.345
|
||||||
|
l 258.598 57.533 258.094 57.716 257.398 57.896 c 256.738 58.056 256.23 58.134
|
||||||
|
255.875 58.134 c 255.086 58.134 254.441 57.982 253.945 57.673 c 253.387
|
||||||
|
57.334 253.109 56.857 253.109 56.236 c 253.109 55.392 253.695 54.662 254.871
|
||||||
|
54.056 c 255.957 53.498 257.043 52.939 258.129 52.38 c 259.297 51.545 259.879
|
||||||
|
50.412 259.879 48.986 c h
|
||||||
|
f
|
||||||
|
266.785 63.591 m 263.543 63.591 l 263.543 66.838 l 266.785 66.838 l h
|
||||||
|
266.605 44.49 m 263.723 44.49 l 263.723 60.095 l 266.605 60.095 l h
|
||||||
|
f
|
||||||
|
285.648 45.162 m 285.648 40.177 282.969 37.685 277.609 37.685 c 275.965
|
||||||
|
37.685 274.094 38.045 272.004 38.763 c 272.316 41.423 l 274.359 40.486
|
||||||
|
276.234 40.017 277.938 40.017 c 279.453 40.017 280.637 40.498 281.496 41.455
|
||||||
|
c 282.352 42.412 282.781 43.716 282.781 45.369 c 282.781 46.908 l 282.719
|
||||||
|
46.908 l 281.504 45.295 279.762 44.49 277.488 44.49 c 275.355 44.49 273.68
|
||||||
|
45.267 272.465 46.822 c 271.359 48.224 270.805 50.009 270.805 52.17 c 270.805
|
||||||
|
54.373 271.379 56.255 272.527 57.822 c 273.82 59.588 275.574 60.466 277.789
|
||||||
|
60.466 c 280.297 60.466 282.012 59.572 282.93 57.779 c 282.988 57.779 l
|
||||||
|
282.988 60.095 l 285.648 60.095 l h
|
||||||
|
282.781 52.111 m 282.781 53.838 282.402 55.248 281.645 56.341 c 280.816
|
||||||
|
57.537 279.676 58.134 278.223 58.134 c 276.867 58.134 275.773 57.502 274.945
|
||||||
|
56.236 c 274.23 55.111 273.871 53.806 273.871 52.322 c 273.871 50.795 274.258
|
||||||
|
49.509 275.035 48.463 c 275.855 47.369 276.914 46.822 278.223 46.822 c
|
||||||
|
279.547 46.822 280.641 47.338 281.508 48.373 c 282.355 49.38 282.781 50.627
|
||||||
|
282.781 52.111 c h
|
||||||
|
f
|
||||||
|
304.367 44.49 m 301.496 44.49 l 301.496 52.576 l 301.496 54.47 301.258
|
||||||
|
55.845 300.777 56.701 c 300.27 57.627 299.406 58.107 298.191 58.134 c 296.617
|
||||||
|
58.185 295.418 57.603 294.59 56.388 c 293.82 55.259 293.438 53.701 293.438
|
||||||
|
51.709 c 293.438 44.49 l 290.566 44.49 l 290.566 60.095 l 293.348 60.095
|
||||||
|
l 293.348 57.627 l 293.41 57.627 l 293.836 58.494 294.52 59.185 295.457
|
||||||
|
59.697 c 296.395 60.213 297.414 60.466 298.52 60.466 c 302.418 60.466 304.367
|
||||||
|
58.236 304.367 53.771 c h
|
||||||
|
f
|
||||||
|
330.047 44.49 m 327.355 44.49 l 327.355 46.505 l 327.297 46.505 l 326.16
|
||||||
|
44.912 324.547 44.115 322.453 44.115 c 320.688 44.115 319.313 44.502 318.328
|
||||||
|
45.279 c 317.262 46.119 316.727 47.353 316.727 48.986 c 316.727 50.759
|
||||||
|
317.566 52.107 319.238 53.025 c 320.574 53.759 322.16 54.13 323.992 54.13
|
||||||
|
c 325.277 54.13 326.293 54.111 327.043 54.068 c 327.043 55.466 326.762
|
||||||
|
56.482 326.203 57.119 c 325.598 57.798 324.59 58.134 323.184 58.134 c 321.43
|
||||||
|
58.134 319.922 57.607 318.656 56.552 c 318.508 59.002 l 320.152 59.978
|
||||||
|
321.863 60.466 323.648 60.466 c 325.84 60.466 327.445 59.923 328.461 58.838
|
||||||
|
c 329.438 57.791 329.926 56.181 329.926 54.009 c 329.926 47.552 l 329.926
|
||||||
|
46.119 329.965 45.095 330.047 44.49 c h
|
||||||
|
327.043 50.556 m 327.043 51.931 l 326.844 51.931 326.539 51.943 326.129
|
||||||
|
51.963 c 325.723 51.982 325.418 51.994 325.219 51.994 c 321.602 51.994
|
||||||
|
319.793 50.99 319.793 48.986 c 319.793 48.22 320.109 47.591 320.75 47.103
|
||||||
|
c 321.316 46.666 321.969 46.447 322.707 46.447 c 324.082 46.447 325.16
|
||||||
|
46.841 325.938 47.627 c 326.672 48.365 327.043 49.341 327.043 50.556 c h
|
||||||
|
f
|
||||||
|
348.613 44.49 m 345.742 44.49 l 345.742 52.576 l 345.742 54.47 345.504
|
||||||
|
55.845 345.023 56.701 c 344.516 57.627 343.652 58.107 342.438 58.134 c 340.863
|
||||||
|
58.185 339.664 57.603 338.836 56.388 c 338.07 55.259 337.684 53.701 337.684
|
||||||
|
51.709 c 337.684 44.49 l 334.816 44.49 l 334.816 60.095 l 337.594 60.095
|
||||||
|
l 337.594 57.627 l 337.656 57.627 l 338.082 58.494 338.766 59.185 339.703
|
||||||
|
59.697 c 340.641 60.213 341.66 60.466 342.766 60.466 c 346.664 60.466 348.613
|
||||||
|
58.236 348.613 53.771 c h
|
||||||
|
f
|
||||||
|
367.328 44.49 m 364.578 44.49 l 364.578 46.685 l 364.516 46.685 l 363.391
|
||||||
|
44.97 361.617 44.115 359.195 44.115 c 356.984 44.115 355.273 44.99 354.066
|
||||||
|
46.744 c 353.012 48.279 352.484 50.224 352.484 52.576 c 352.484 54.806
|
||||||
|
353.043 56.646 354.156 58.091 c 355.375 59.677 357.063 60.466 359.227 60.466
|
||||||
|
c 361.637 60.466 363.359 59.63 364.398 57.955 c 364.457 57.955 l 364.457
|
||||||
|
67.447 l 367.328 67.447 l h
|
||||||
|
364.457 52.259 m 364.457 53.857 364.078 55.201 363.32 56.298 c 362.465
|
||||||
|
57.521 361.305 58.134 359.84 58.134 c 358.383 58.134 357.277 57.529 356.52
|
||||||
|
56.314 c 355.871 55.275 355.547 53.955 355.547 52.349 c 355.547 50.896
|
||||||
|
355.883 49.607 356.551 48.478 c 357.348 47.123 358.453 46.447 359.867 46.447
|
||||||
|
c 361.363 46.447 362.535 47.088 363.383 48.373 c 364.098 49.47 364.457
|
||||||
|
50.767 364.457 52.259 c h
|
||||||
|
f
|
||||||
|
400.484 55.177 m 400.484 52.775 399.98 50.685 398.98 48.912 c 397.98 47.138
|
||||||
|
396.563 45.849 394.727 45.041 c 399.691 40.541 l 395.895 40.541 l 391.902
|
||||||
|
44.248 l 391.414 44.158 390.848 44.115 390.199 44.115 c 386.988 44.115
|
||||||
|
384.457 45.146 382.605 47.209 c 380.813 49.213 379.914 51.869 379.914 55.177
|
||||||
|
c 379.914 58.416 380.816 61.045 382.621 63.068 c 384.492 65.17 387.02 66.224
|
||||||
|
390.199 66.224 c 393.367 66.224 395.895 65.17 397.777 63.068 c 399.582
|
||||||
|
61.045 400.484 58.416 400.484 55.177 c h
|
||||||
|
397.238 55.177 m 397.238 57.509 396.652 59.443 395.477 60.974 c 394.188
|
||||||
|
62.681 392.43 63.533 390.199 63.533 c 387.957 63.533 386.191 62.681 384.906
|
||||||
|
60.974 c 383.742 59.443 383.156 57.509 383.156 55.177 c 383.156 52.845
|
||||||
|
383.715 50.916 384.832 49.392 c 386.086 47.677 387.875 46.822 390.199 46.822
|
||||||
|
c 392.512 46.822 394.301 47.677 395.566 49.392 c 396.68 50.916 397.238
|
||||||
|
52.845 397.238 55.177 c h
|
||||||
|
f
|
||||||
|
418.332 44.49 m 415.551 44.49 l 415.551 46.97 l 415.492 46.97 l 415.07
|
||||||
|
46.091 414.391 45.396 413.449 44.884 c 412.508 44.373 411.484 44.115 410.379
|
||||||
|
44.115 c 406.48 44.115 404.535 46.353 404.535 50.826 c 404.535 60.095 l
|
||||||
|
407.402 60.095 l 407.402 52.021 l 407.402 50.127 407.645 48.752 408.121
|
||||||
|
47.896 c 408.629 46.959 409.496 46.474 410.723 46.447 c 412.297 46.408
|
||||||
|
413.492 46.994 414.309 48.209 c 415.078 49.326 415.461 50.88 415.461 52.873
|
||||||
|
c 415.461 60.095 l 418.332 60.095 l h
|
||||||
|
f
|
||||||
|
435.52 44.49 m 432.832 44.49 l 432.832 46.505 l 432.77 46.505 l 431.633
|
||||||
|
44.912 430.02 44.115 427.926 44.115 c 426.164 44.115 424.789 44.502 423.801
|
||||||
|
45.279 c 422.734 46.119 422.203 47.353 422.203 48.986 c 422.203 50.759
|
||||||
|
423.039 52.107 424.715 53.025 c 426.051 53.759 427.633 54.13 429.469 54.13
|
||||||
|
c 430.754 54.13 431.77 54.111 432.516 54.068 c 432.516 55.466 432.238 56.482
|
||||||
|
431.68 57.119 c 431.07 57.798 430.066 58.134 428.66 58.134 c 426.906 58.134
|
||||||
|
425.395 57.607 424.129 56.552 c 423.98 59.002 l 425.625 59.978 427.34 60.466
|
||||||
|
429.125 60.466 c 431.316 60.466 432.922 59.923 433.938 58.838 c 434.914
|
||||||
|
57.791 435.402 56.181 435.402 54.009 c 435.402 47.552 l 435.402 46.119
|
||||||
|
435.441 45.095 435.52 44.49 c h
|
||||||
|
432.516 50.556 m 432.516 51.931 l 432.316 51.931 432.012 51.943 431.605
|
||||||
|
51.963 c 431.195 51.982 430.891 51.994 430.691 51.994 c 427.074 51.994
|
||||||
|
425.266 50.99 425.266 48.986 c 425.266 48.22 425.586 47.591 426.223 47.103
|
||||||
|
c 426.793 46.666 427.445 46.447 428.18 46.447 c 429.559 46.447 430.633
|
||||||
|
46.841 431.41 47.627 c 432.148 48.365 432.516 49.341 432.516 50.556 c h
|
||||||
|
f
|
||||||
|
440.648 67.447 2.887 -22.957 re f
|
||||||
|
452.203 63.591 m 448.961 63.591 l 448.961 66.838 l 452.203 66.838 l h
|
||||||
|
452.023 44.49 m 449.141 44.49 l 449.141 60.095 l 452.023 60.095 l h
|
||||||
|
f
|
||||||
|
465.805 44.548 m 464.809 44.259 463.992 44.115 463.355 44.115 c 460.156
|
||||||
|
44.115 458.555 45.63 458.555 48.658 c 458.555 57.779 l 455.027 57.779 l
|
||||||
|
455.027 60.095 l 458.555 60.095 l 458.555 63.713 l 461.426 64.638 l 461.426
|
||||||
|
60.095 l 465.566 60.095 l 465.566 57.779 l 461.426 57.779 l 461.426 49.228
|
||||||
|
l 461.426 48.361 461.664 47.673 462.145 47.166 c 462.594 46.685 463.16
|
||||||
|
46.447 463.848 46.447 c 464.586 46.447 465.238 46.63 465.805 46.998 c h
|
||||||
|
f
|
||||||
|
481.531 60.095 m 475.777 44.146 l 475.008 42.013 474.352 40.56 473.805
|
||||||
|
39.795 c 472.789 38.388 471.445 37.685 469.781 37.685 c 469.285 37.685 468.633
|
||||||
|
37.759 467.824 37.912 c 468.004 40.259 l 468.492 40.099 468.941 40.017
|
||||||
|
469.348 40.017 c 470.434 40.017 471.328 40.623 472.023 41.826 c 472.531
|
||||||
|
42.693 472.789 43.377 472.789 43.877 c 472.789 43.966 472.602 44.517 472.234
|
||||||
|
45.533 c 466.926 60.095 l 470.082 60.095 l 474.281 47.177 l 474.344 47.177
|
||||||
|
l 478.633 60.095 l h
|
||||||
|
f
|
||||||
|
Q Q
|
||||||
|
showpage
|
||||||
|
%%Trailer
|
||||||
|
count op_count sub {pop} repeat
|
||||||
|
countdictstack dict_count sub {end} repeat
|
||||||
|
cairo_eps_state restore
|
||||||
|
%%EOF
|
||||||
BIN
30_Thesis/logos/sdqlogo.pdf
Normal file
BIN
30_Thesis/logos/sdqlogo.pdf
Normal file
Binary file not shown.
249
30_Thesis/sdqthesis.cls
Normal file
249
30_Thesis/sdqthesis.cls
Normal file
@@ -0,0 +1,249 @@
|
|||||||
|
%% LaTeX2e class for student theses
|
||||||
|
%% sdthesis.cls
|
||||||
|
%%
|
||||||
|
%% Karlsruhe Institute of Technology
|
||||||
|
%% Institute for Program Structures and Data Organization
|
||||||
|
%% Chair for Software Design and Quality (SDQ)
|
||||||
|
%%
|
||||||
|
%% Dr.-Ing. Erik Burger
|
||||||
|
%% burger@kit.edu
|
||||||
|
%%
|
||||||
|
%% Version 1.3.3, 2018-04-17
|
||||||
|
%%
|
||||||
|
%% SVN-Informationen:
|
||||||
|
%% ------------------
|
||||||
|
%% $LastChangedBy: burger $
|
||||||
|
%% $LastChangedRevision: 5524 $
|
||||||
|
%% $LastChangedDate: 2018-04-17 16:49:27 +0200 (Di, 17 Apr 2018) $
|
||||||
|
%% $HeadURL: https://svnserver.informatik.kit.edu/i43/svn/lehre/Abschlussarbeiten-Vorlage/sdqthesis.cls $
|
||||||
|
|
||||||
|
\NeedsTeXFormat{LaTeX2e}
|
||||||
|
\ProvidesClass{sdqthesis}[2017/08/01 v1.3.2 Student thesis class]
|
||||||
|
% Language options. German is also needed in English thesis for the abstract
|
||||||
|
\DeclareOption{ngerman}{\PassOptionsToPackage{\CurrentOption}{babel}}
|
||||||
|
\DeclareOption{english}{\PassOptionsToPackage{main=\CurrentOption,ngerman}{babel}}
|
||||||
|
% Oneside and twoside layout
|
||||||
|
\DeclareOption{oneside}{\PassOptionsToClass{\CurrentOption,BCOR=10mm}{scrbook}}
|
||||||
|
\DeclareOption{twoside}{\PassOptionsToClass{\CurrentOption,BCOR=20mm}{scrbook}}
|
||||||
|
\ProcessOptions\relax
|
||||||
|
% Used to detect language families
|
||||||
|
\RequirePackage{translations}
|
||||||
|
|
||||||
|
%% ---------------------------------------------------------------
|
||||||
|
%% | Based on KOMAscript by Markus Kohm http://www.komascript.de |
|
||||||
|
%% ---------------------------------------------------------------
|
||||||
|
\LoadClass[12pt,a4paper,titlepage=true,DIV=15,headsepline]{scrbook}
|
||||||
|
|
||||||
|
%% ---------------
|
||||||
|
%% | Page Layout |
|
||||||
|
%% ---------------
|
||||||
|
\RequirePackage[headsepline,draft=false]{scrlayer-scrpage}
|
||||||
|
\pagestyle{scrheadings}
|
||||||
|
|
||||||
|
% For one-sided layout, put the page marks on the right margin
|
||||||
|
\if@twoside%
|
||||||
|
\else%
|
||||||
|
\chead[]{}
|
||||||
|
\ohead{\headmark}
|
||||||
|
\cfoot[]{}
|
||||||
|
\ofoot[\pagemark]{\pagemark}
|
||||||
|
\fi%
|
||||||
|
|
||||||
|
\clubpenalty=10000 %prevent orphans
|
||||||
|
\widowpenalty=10000 %prevent widows
|
||||||
|
|
||||||
|
%% --------------
|
||||||
|
%% | Typography |
|
||||||
|
%% --------------
|
||||||
|
|
||||||
|
% T1 font encoding
|
||||||
|
\RequirePackage[T1]{fontenc}
|
||||||
|
\RequirePackage[utf8]{inputenc}
|
||||||
|
|
||||||
|
% serif type: Linux Libertine
|
||||||
|
\RequirePackage{libertine}
|
||||||
|
% Linux Libertine in math mode
|
||||||
|
\RequirePackage[libertine]{newtxmath}
|
||||||
|
|
||||||
|
% grotesque type: Adobe Source Sans Pro
|
||||||
|
\RequirePackage[scaled=.92]{sourcesanspro}
|
||||||
|
|
||||||
|
% monospace type: Bera Mono
|
||||||
|
\RequirePackage[scaled=.78]{beramono}
|
||||||
|
|
||||||
|
% semi-bold type (for subsections and paragraphs)
|
||||||
|
\newcommand*{\sbdefault}{sb}
|
||||||
|
\DeclareRobustCommand{\sbseries}{%
|
||||||
|
\not@math@alphabet\sbseries\relax
|
||||||
|
\fontseries\sbdefault\selectfont}
|
||||||
|
|
||||||
|
\DeclareTextFontCommand{\textsb}{\sbseries}
|
||||||
|
|
||||||
|
\addtokomafont{subsection}{\sbseries}
|
||||||
|
\addtokomafont{subsubsection}{\sbseries}
|
||||||
|
\addtokomafont{paragraph}{\sbseries}
|
||||||
|
|
||||||
|
% microtype for nicer typography
|
||||||
|
\RequirePackage[protrusion=true,expansion=true]{microtype}
|
||||||
|
|
||||||
|
% commands for code and model keywords in text
|
||||||
|
\newcommand{\code}[1]{\texttt{\hyphenchar\font45\relax #1}}
|
||||||
|
\newcommand{\model}[1]{\textsf{#1}}
|
||||||
|
|
||||||
|
% nicer spacing for enumerations
|
||||||
|
\RequirePackage{enumitem}
|
||||||
|
|
||||||
|
%% --------------
|
||||||
|
%% | Title page |
|
||||||
|
%% --------------
|
||||||
|
|
||||||
|
% Logos
|
||||||
|
\newcommand{\thegrouplogo}{sdqlogo}
|
||||||
|
\newcommand{\grouplogo}[1]{\renewcommand{\thegrouplogo}{#1}}
|
||||||
|
\newcommand{\printgrouplogo}{\includegraphics[height=1.8cm]{logos/\thegrouplogo}}
|
||||||
|
\newcommand{\nogrouplogo}{\renewcommand{\printgrouplogo}{}}
|
||||||
|
|
||||||
|
\titlehead{%
|
||||||
|
% KIT logo german/english
|
||||||
|
\ifcurrentbaselanguage{English}
|
||||||
|
{\includegraphics[height=1.8cm]{logos/kitlogo_en_cmyk}}
|
||||||
|
{\includegraphics[height=1.8cm]{logos/kitlogo_de_cmyk}}
|
||||||
|
\hfill
|
||||||
|
% SDQ logo
|
||||||
|
\printgrouplogo
|
||||||
|
\ThisCenterWallPaper{1}{title-background.pdf}
|
||||||
|
}
|
||||||
|
|
||||||
|
%
|
||||||
|
\setkomafont{title}{\huge\sffamily\bfseries}
|
||||||
|
\setkomafont{subtitle}{\normalfont\large}
|
||||||
|
|
||||||
|
\uppertitleback{Karlsruher Institut für Technologie\\ Fakultät für Informatik\\ Postfach 6980\\ 76128 Karlsruhe}
|
||||||
|
|
||||||
|
%% variables for title page
|
||||||
|
\newcommand{\theinstitute}{\ifcurrentbaselanguage{English}
|
||||||
|
{Institute for Program Structures and Data Organization (IPD)}
|
||||||
|
{Institut für Programmstrukturen und Datenorganisation (IPD)}}
|
||||||
|
\newcommand{\thethesistype}{}
|
||||||
|
\newcommand{\thereviewerone}{}
|
||||||
|
\newcommand{\thereviewertwo}{}
|
||||||
|
\newcommand{\theadvisorone}{}
|
||||||
|
\newcommand{\theadvisortwo}{}
|
||||||
|
\newcommand{\theeditstart}{}
|
||||||
|
\newcommand{\theeditend}{}
|
||||||
|
|
||||||
|
%% formatting commands for titlepage
|
||||||
|
\newcommand{\thesistype}[1]{\subtitle{\vskip2em #1 \ifcurrentbaselanguage{English}{of}{von}}%
|
||||||
|
\renewcommand{\thethesistype}{#1}}
|
||||||
|
\newcommand{\myinstitute}[1]{\renewcommand{\theinstitute}{#1}}
|
||||||
|
\newcommand{\reviewerone}[1]{\renewcommand{\thereviewerone}{#1}}
|
||||||
|
\newcommand{\reviewertwo}[1]{\renewcommand{\thereviewertwo}{#1}}
|
||||||
|
\newcommand{\advisorone}[1]{\renewcommand{\theadvisorone}{#1}}
|
||||||
|
\newcommand{\advisortwo}[1]{\renewcommand{\theadvisortwo}{#1}}
|
||||||
|
|
||||||
|
\newcommand{\editingtime}[2]{%
|
||||||
|
\renewcommand{\theeditstart}{#1}%
|
||||||
|
\renewcommand{\theeditend}{#2}%
|
||||||
|
%% do not show the date
|
||||||
|
\date{}
|
||||||
|
}
|
||||||
|
|
||||||
|
\newcommand{\settitle}{%
|
||||||
|
\publishers{%
|
||||||
|
\large
|
||||||
|
\ifcurrentbaselanguage{English}{at the Department of Informatics}%
|
||||||
|
{an der Fakultät für Informatik}\\
|
||||||
|
\theinstitute\\[2em]
|
||||||
|
\begin{tabular}{l l}
|
||||||
|
\ifcurrentbaselanguage{English}{Reviewer}{Erstgutachter}: & \thereviewerone\\
|
||||||
|
\ifcurrentbaselanguage{English}{Second reviewer}{Zweitgutachter}: & \thereviewertwo\\
|
||||||
|
\ifcurrentbaselanguage{English}{Advisor}{Betreuender Mitarbeiter}: & \theadvisorone\\
|
||||||
|
% if there is no second advisor, do not output this line
|
||||||
|
\ifthenelse{\equal{\theadvisortwo}{}}{}{%
|
||||||
|
\ifcurrentbaselanguage{English}{Second advisor}{Zweiter betreuender Mitarbeiter}: & \theadvisortwo\\
|
||||||
|
}
|
||||||
|
\end{tabular}
|
||||||
|
\vskip2em
|
||||||
|
\theeditstart{} -- \theeditend
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
%% -----------------------------
|
||||||
|
%% | Abstract/Acknowledgements |
|
||||||
|
%% -----------------------------
|
||||||
|
|
||||||
|
\newcommand{\abstract}[1][\abstractname]{\chapter*{#1}}
|
||||||
|
\newcommand{\Abstract}[1][\abstractname]{\chapter*{#1}\addcontentsline{toc}{chapter}{#1}}
|
||||||
|
|
||||||
|
\def\ackname{Acknowledgments}
|
||||||
|
\def\abstractname{Abstract}
|
||||||
|
\def\switcht@deutsch{\svlanginfo
|
||||||
|
\def\ackname{Danksagung}
|
||||||
|
\def\abstractname{Kurzfassung}
|
||||||
|
}
|
||||||
|
\def\switcht@english{\svlanginfo
|
||||||
|
\def\ackname{Acknowledgements}
|
||||||
|
\def\abstractname{Abstract}
|
||||||
|
}
|
||||||
|
|
||||||
|
%% In English theses, an additional German Abstract is needed.
|
||||||
|
\newcommand{\includeabstract}{
|
||||||
|
\ifcurrentbaselanguage{English}{
|
||||||
|
% include English and German abstracts
|
||||||
|
\input{sections/abstract_en.tex}
|
||||||
|
\begin{otherlanguage}{ngerman}
|
||||||
|
\input{sections/abstract_de.tex}
|
||||||
|
\end{otherlanguage}
|
||||||
|
}{
|
||||||
|
% include only German abstract
|
||||||
|
\include{sections/abstract_de}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
%% ------------
|
||||||
|
%% | Packages |
|
||||||
|
%% ------------
|
||||||
|
|
||||||
|
% draft mode
|
||||||
|
\RequirePackage{ifdraft}
|
||||||
|
\RequirePackage{ifthen}
|
||||||
|
|
||||||
|
% enumerate subsubsections
|
||||||
|
\setcounter{secnumdepth}{3}
|
||||||
|
|
||||||
|
% wallpaper for title page (KIT-Frame)
|
||||||
|
\RequirePackage{wallpaper}
|
||||||
|
|
||||||
|
% subimport of files
|
||||||
|
\RequirePackage{import}
|
||||||
|
|
||||||
|
% languages
|
||||||
|
\RequirePackage{babel}
|
||||||
|
|
||||||
|
% hyphenation for compound words
|
||||||
|
\RequirePackage[shortcuts]{extdash}
|
||||||
|
|
||||||
|
% nice tables
|
||||||
|
\RequirePackage{booktabs}
|
||||||
|
\RequirePackage{longtable}
|
||||||
|
\RequirePackage{array}
|
||||||
|
|
||||||
|
% show graphics in draft mode
|
||||||
|
\RequirePackage{graphicx}
|
||||||
|
\setkeys{Gin}{draft=false}
|
||||||
|
|
||||||
|
% appendix
|
||||||
|
\RequirePackage[toc,title,header]{appendix}
|
||||||
|
\noappendicestocpagenum
|
||||||
|
|
||||||
|
% PDF specific packages
|
||||||
|
\RequirePackage[hyphens]{url}
|
||||||
|
\RequirePackage[breaklinks,colorlinks=false]{hyperref}
|
||||||
|
\newcommand\setpdf{\hypersetup{%
|
||||||
|
pdftitle={\thethesistype},%
|
||||||
|
pdfsubject={\@title},%
|
||||||
|
pdfauthor={\@author},%
|
||||||
|
pdfborder={0 0 0},%
|
||||||
|
}%
|
||||||
|
\let\theauthor\@author
|
||||||
|
}
|
||||||
16
30_Thesis/sections/00_introduction.tex
Normal file
16
30_Thesis/sections/00_introduction.tex
Normal file
@@ -0,0 +1,16 @@
|
|||||||
|
\chapter{Introduction}
|
||||||
|
\label{ch:Introduction}
|
||||||
|
|
||||||
|
\section{Motivation}
|
||||||
|
\label{sec:Introduction:Motivation}
|
||||||
|
|
||||||
|
Product configuration supports companies in their sales process, it reduces costs and decreases time needed to produce an offer for a product \cite{shafieeCostBenefitAnalysis2018}. Usually configuration is done by one user but for complex decisions the risk that a single user will make mistakes increases therefore making the decision in a group can yield better results \cite{felferningGroupBasedConfiguration2016, felfernigGroupDecisionSupport2011}. Unfortunately groups are not immune to group biases and group dynamics that can reduce the benefits of group decisions \cite{kerrBiasJudgmentComparing1996}.
|
||||||
|
There exists work on recommender systems for configuration and there are recommender systems for groups but there has not been any work on how to combine these. A recommender system, can help reduce influence of group behaviour and thereby increases the benefit of groups making more rational decisions than individuals \cite{charnessGroupsMakeBetter2012}.
|
||||||
|
|
||||||
|
\section{Research Question}
|
||||||
|
\label{sec:Introduction:ResearchQuestion}
|
||||||
|
\begin{enumerate}
|
||||||
|
\item How can decision-making in group configuration processes be supported (through recommender systems)? (central question)
|
||||||
|
\item Which requirements do configuration systems for collaborative decision-making have and how could such a system look like?
|
||||||
|
\item How does group hierarchy and structure influence the decision-making process in group based configuration scenarios?
|
||||||
|
\end{enumerate}
|
||||||
136
30_Thesis/sections/10_foundations.tex
Normal file
136
30_Thesis/sections/10_foundations.tex
Normal file
@@ -0,0 +1,136 @@
|
|||||||
|
\chapter{Foundations}
|
||||||
|
\label{ch:Foundations}
|
||||||
|
|
||||||
|
Since this thesis focuses on recommender systems to support group decisions in the context of group based configuration it is important to define what we mean by these terms. This chapter describes foundations that sow what a recommender system is, approaches that can be taken and how it is possible to build with these approaches a group recommender. Additionally configuration and group configuration are defined. In group decisions biases can have an effect of the groups decision making ability and some of these are presented here to consider their effect on group decisions.
|
||||||
|
|
||||||
|
\section{Recommender System}
|
||||||
|
\label{sec:Foundations:RecommenderSystem}
|
||||||
|
|
||||||
|
A recommender system is a system that gives individualized recommendations to users to guide them through a large space of objects \cite[~ p. 331]{burkeHybridRecommenderSystems2002}.
|
||||||
|
|
||||||
|
There are several approaches to recommender systems presented in \cite{felfernigGroupRecommenderSystems2018}, these are: collaborative filtering, content-based filtering, critiquing-based filtering, constraint-based, hybrid recommendation.
|
||||||
|
|
||||||
|
\begin{table}
|
||||||
|
\centering
|
||||||
|
\begin{tabular}{ l | c | c | c | c | c }
|
||||||
|
& The Matrix & Titanic & Die Hard & Forest Gump & Wall-E \\ \hline
|
||||||
|
John & 5 & 1 & & 2 & 2 \\
|
||||||
|
Lucy & 1 & 5 & 2 & 5 & 5 \\
|
||||||
|
Eric & 2 & ? & 3 & 5 & 4 \\
|
||||||
|
Diane & 4 & 3 & 5 & 3 & \\
|
||||||
|
\end{tabular}
|
||||||
|
\caption{An example showing users ratings for movies by \citeauthor{ningComprehensiveSurveyNeighborhoodBased2015} \cite{ningComprehensiveSurveyNeighborhoodBased2015}.}
|
||||||
|
|
||||||
|
\label{tab:Foundations:RecommenderSystem:MoviePreferences}
|
||||||
|
\end{table}
|
||||||
|
|
||||||
|
\subsection{Collaborative Filtering}
|
||||||
|
In collaborative filtering a users rating for unknown items is predicted by finding similar users who have rated it. Their rating is used as prediction
|
||||||
|
\cite[~ pp. 7, 8]{felfernigDecisionTasksBasic2018}.
|
||||||
|
|
||||||
|
Collaborative Filtering can not only be done using users, it can also be item-based. Hereby the similarity between items is used for a recommendation and not similar users \cite{ricciRecommenderSystemsHandbook2015}. In the context of configuration the similarity to other historic configurations can be used which makes it an item based approach.
|
||||||
|
|
||||||
|
\autoref{tab:Foundations:RecommenderSystem:MoviePreferences} shows an example rating matrix. A simple user-based way to calculate rating would be now to use a k-nearest neighbour (kNN) algorithm and then take the average of those ratings. Using this method with $k := 2$ and euclidean distance our closest neighbours are \textit{Lucy} and \textit{Diane} therefore giving us a predicted rating of $4$. If we use item based illustration instead, we will try to find similar items based on the users rating. An example of similar items here would be \textit{Forest Gump} and \textit{Wall-E} as John and Lucy each have given them the sane rating and Eric's rating is off by one. Using again kNN with $k := 2$ we find that \textit{Forest Gump} and \textit{Wall-E} are the most similar to \textit{Titanic} thereby having a predicted rating of $4.5$.
|
||||||
|
However this simple similarity and prediction function does not take into account different distances. For example Lucy's ratings are more similar compared to Eric's than Diane's but Diane's and Lucy's rating is valued the same amount.
|
||||||
|
|
||||||
|
\subsection{Content-Based Filtering}
|
||||||
|
Items and users are assigned to categories. Based on consumption and rating of items a user will have implicit ratings for categories. Predictions are now made based on a categories of the new item \cite[~ pp. 10, 11]{felfernigDecisionTasksBasic2018}.
|
||||||
|
|
||||||
|
Using our example from \autoref{tab:Foundations:RecommenderSystem:MoviePreferences} and using an additional category matrix (see \autoref{tab:Foundations:RecommenderSystem:ContentBasedFilteringCategories}) we can derive a rating matrix per category (using the average rating of the user of each movie contained in this category). The result can be seen in \autoref{tab:Foundations:RecommenderSystem:ContentBasedFilteringProfiles}. To predict Eric's rating of Titanic we now can use the categories of \textit{Titanic} and average out Eric's implicit rating per category. Titanic is only in the category romance and as Eric's rating of \textit{Forest Gump} is $5$ the prediction is a rating of $5$. Categories don't have to be the genre, they could be any kind of data about a movie.
|
||||||
|
|
||||||
|
\begin{table}
|
||||||
|
\centering
|
||||||
|
\begin{tabular}{ l | c | c | c | c | c }
|
||||||
|
& The Matrix & Titanic & Die Hard & Forest Gump & Wall-E \\ \hline
|
||||||
|
Action & x & & x & & \\
|
||||||
|
Sci-Fi & x & & & & \\
|
||||||
|
Thriller & & & x & & \\
|
||||||
|
Romance & & x & & x & \\
|
||||||
|
Family & & & & x & x \\
|
||||||
|
\end{tabular}
|
||||||
|
\caption{Showing example categories for movies in \autoref{tab:Foundations:RecommenderSystem:MoviePreferences}.}
|
||||||
|
|
||||||
|
\label{tab:Foundations:RecommenderSystem:ContentBasedFilteringCategories}
|
||||||
|
\end{table}
|
||||||
|
|
||||||
|
\begin{table}
|
||||||
|
\centering
|
||||||
|
\begin{tabular}{ l | c | c | c | c | c }
|
||||||
|
& Action & Sci-Fi & Thriller & Romance & Family \\ \hline
|
||||||
|
John & 5 & 5 & & 1.5 & 2 \\
|
||||||
|
Lucy & 1.5 & 1 & 2 & 5 & 5 \\
|
||||||
|
Eric & 2.5 & 2 & 3 & 5 & 4.5 \\
|
||||||
|
Diane & 4.5 & 4 & 5 & 3 & 3 \\
|
||||||
|
\end{tabular}
|
||||||
|
\caption{User profiles generated from categories and rating from \autoref{tab:Foundations:RecommenderSystem:MoviePreferences} and \autoref{tab:Foundations:RecommenderSystem:ContentBasedFilteringCategories}.}
|
||||||
|
|
||||||
|
\label{tab:Foundations:RecommenderSystem:ContentBasedFilteringProfiles}
|
||||||
|
\end{table}
|
||||||
|
|
||||||
|
\subsection{Critiquing-Based Recommendation}
|
||||||
|
Items are recommended and a user can then critique on attributes of the recommendation. Based on that a similar item which does not have those critiques can be recommended. User preferences are implicitly collected this way \cite{knijnenburgEachHisOwn2011}.
|
||||||
|
|
||||||
|
With a critique based approach Eric sees a suggestion of watching \textit{The Island} and its attributes. He then can say that he finds this movie has too much action. The critique based recommender will now present a movie that has similar attributes as \textit{The Island} but with less action. For example \textit{Titanic} could be the next suggestion.
|
||||||
|
|
||||||
|
\subsection{Constraint-Based Recommendation}
|
||||||
|
Hereby filter rules are defined which filter out items that don't fulfil specified rules. A user models their requirements with these rules and thereby gets a list of recommended items. This approach requires deep knowledge about a product because it needs a detailed description of features \cite[~ p. 12]{felfernigDecisionTasksBasic2018}.
|
||||||
|
|
||||||
|
Our movie example (see \autoref{tab:Foundations:RecommenderSystem:MoviePreferences}) needs have additional information for example about plot structure, pacing, length and other attributes of the movie. Now the user could give as filter, that the movie should be no longer than 120 minutes, be categorized as action or thriller and have a fast pacing. The system will only recommend movies that fit into these categories.
|
||||||
|
|
||||||
|
\subsection{Hybrid Recommendation}
|
||||||
|
A hybrid recommender combines different recommendation approaches to use the strengths of each individual one and to reduce effects of weaknesses \cite{burkeHybridRecommenderSystems2002}.
|
||||||
|
|
||||||
|
\section{Group Recommender System}
|
||||||
|
|
||||||
|
A group recommender system is a recommender system aimed at making recommendations for a group instead of a single user. To make recommendations group members preferences have to be aggregated. This can be done by either aggregating single user recommendations or by merging preferences of each user into a group preference model. Based on this model recommendation strategies as described in \autoref{sec:Foundations:RecommenderSystem} can be used to generate recommendations \cite{jamesonRecommendationGroups2007}.
|
||||||
|
|
||||||
|
\section{Product Configuration}
|
||||||
|
\label{sec:Foundations:ProductConfiguration}
|
||||||
|
|
||||||
|
Product configuration is a process consisting of a series of decision tasks whereby a product is constructed of components which interact with each other. During a configuration process no new components are created. Their interplay and specification is defined beforehand \cite[~ pp. 42, 43]{sabinProductConfigurationFrameworksa1998}.
|
||||||
|
|
||||||
|
Formally a configuration problem can be specified as a \emph{constraint satisfaction problem (CSP)} \cite{tsangFoundationsConstraintSatisfaction1993} as
|
||||||
|
\[
|
||||||
|
CSP(V,D,C)
|
||||||
|
\]
|
||||||
|
where \( V = \{v_1,\dots, v_n\} \) is a set of variables, \( D = dom : V \mapsto X \) is a relation of variables and their corresponding domain definitions \( X \), and \( C = C_{PREF} \cup C_{KB} \) is a set of constraints with customer preferences \( C_{PREF} \) and configuration knowledge base \( C_{KB} \) \cite{felferningGroupBasedConfiguration2016, felfernigOpenConfiguration2014}.
|
||||||
|
|
||||||
|
|
||||||
|
\section{Group-Based Product Configuration}
|
||||||
|
\label{sec:Foundations:GroupBasedProductConfiguration}
|
||||||
|
|
||||||
|
If instead of a single person configuring a product we would like to have a group of people which can be useful in multi-stakeholder decisions, it needs mechanisms for describing the preferences of multiple people. Therefore we extend the definition of product configuration from (\autoref{sec:Foundations:ProductConfiguration}) to
|
||||||
|
\[
|
||||||
|
C_{PREF} = \bigcup
|
||||||
|
PREF_i \]
|
||||||
|
with preferences of user \( i \) as \( PREF_i \) \cite{ felferningGroupBasedConfiguration2016}.
|
||||||
|
|
||||||
|
\section{Group-Based Configuration-Solution}
|
||||||
|
\label{sec:Foundations:GroupBasedConfigurationSolution}
|
||||||
|
|
||||||
|
\autoref{sec:Foundations:ProductConfiguration} and \autoref{sec:Foundations:GroupBasedProductConfiguration} expand to a solution of a group-based configuration with the addition of variable assignments
|
||||||
|
\[
|
||||||
|
C_{CONF} = \bigcup_{v_i \in V} \{ v_i = x_i \}, \ x_i \in dom(v_i)
|
||||||
|
\]
|
||||||
|
and where \( C_{CONF} \cup C_{PREF} \cup C_{KB} \) is consistent \cite{ felferningGroupBasedConfiguration2016}.
|
||||||
|
|
||||||
|
\section{Group Bias}
|
||||||
|
\label{sec:Foundations:GroupBias}
|
||||||
|
|
||||||
|
Groups have biases same as individuals. Some of these stem from individual biases that are transferred to a group and others only occur in group settings. This section covers some of those effects. These effects are described by \citeauthor{felfernigBiasesGroupDecisions2018} \cite{felfernigBiasesGroupDecisions2018}.
|
||||||
|
|
||||||
|
\subsection{GroupThink}
|
||||||
|
|
||||||
|
The bias called GroupThink occurs, when group members prefer to avoid conflicts instead of being mainly interested in getting the best decision outcome. Alternative options are in these circumstances not analysed close enough \cite{janis1982groupthink}.
|
||||||
|
An avoidance strategy for this effect is for leaders to delay stating there opinion until all alternatives have been viewed in detail \citeauthor{felfernigBiasesGroupDecisions2018}. Recommender systems can aid group decision quality through encouraged information exchange as discussed by \citeauthor{atasItemRecommendationUsing2017} in \cite{atasItemRecommendationUsing2017}.
|
||||||
|
|
||||||
|
|
||||||
|
\subsection{Anchoring}
|
||||||
|
|
||||||
|
The first information provided is relied upon to heavily. In a group setting this can be triggered by the group member to first express their opinion. Often this is triggered if group members see preferences of others too early, therefore recommender systems should not show the rating of other users \cite{cosley2003seeing}.
|
||||||
|
|
||||||
|
\subsection{Serial Position Effects}
|
||||||
|
|
||||||
|
The serial positioning effects is the effect that users have a higher retention rate of items in a list that are presented first or last and these items are more closely examined \cite{felfernigPersuasiveRecommendationSerial2007,murphyPrimacyRecencyEffects2006}. Additionally to remembering and examining items at the start and the end of a list also the order of items can change the option the user chooses in the end \cite{felfernigBiasesGroupDecisions2018}.
|
||||||
|
|
||||||
|
|
||||||
47
30_Thesis/sections/20_related_work.tex
Normal file
47
30_Thesis/sections/20_related_work.tex
Normal file
@@ -0,0 +1,47 @@
|
|||||||
|
\chapter{Related Work}
|
||||||
|
\label{ch:Related_Work}
|
||||||
|
|
||||||
|
\section{Group Recommender Systems}
|
||||||
|
\label{sec:Related_Work:GroupRecommender}
|
||||||
|
|
||||||
|
\begin{description}[style=unboxed, leftmargin=0cm, font=\normalfont]
|
||||||
|
\item[\citeauthor{choudharyMulticriteriaGroupRecommender2020}] propose a multi-criteria group recommender system. An analytical hierarchy process is used to learn priorities for film features like story, action, direction and to then make a number of best recommendations for a group of users. Their approach works well for film selection and they observe that it is easier to make recommendations for homogenous groups than for random groups. Also small groups receive better recommendations compared to large ones\cite{choudharyMulticriteriaGroupRecommender2020}.
|
||||||
|
|
||||||
|
\item[\citeauthor{chenInterfaceInteractionDesign2011}] looks at interface and interaction designs that supports the overall group and does not only consider each user individually. Chen design a music recommendation system \emph{GroupFun} with a focus on groups that tries to enhance mutual awareness and transparency. \citeauthor{chenInterfaceInteractionDesign2011}'s assessment is that this work is still in a preliminary stage \cite{chenInterfaceInteractionDesign2011}. Further work in that area was conducted by \citeauthor{chenEmpatheticonsDesigningEmotion2014} looking at emotional awareness in groups and how that can be visualised in a user interface \cite{chenEmpatheticonsDesigningEmotion2014}.
|
||||||
|
\end{description}
|
||||||
|
|
||||||
|
\section{Group-Based Configuration}
|
||||||
|
\label{sec:Related_Work:GroupBasedConfiguration}
|
||||||
|
|
||||||
|
\begin{description}[style=unboxed, leftmargin=0cm, font=\normalfont]
|
||||||
|
\item[\citeauthor{raabKollaborativeProduktkonfigurationEchtzeit2019}] builds a collaborative configurator based on the CAS Merlin Configurator. Here groups of people are able to simultaneously configure a product. If there are any conflicts a conflict resolution process is started. However the prototype only allows a majority voting approach and does not provide any group decision support \cite{raabKollaborativeProduktkonfigurationEchtzeit2019}.
|
||||||
|
|
||||||
|
\item[\citeauthor{felferningGroupBasedConfiguration2016}] introduces basic definitions of group based configuration tasks, shows what conflicts can occur, how to deal with inconsistencies in preferences among group members and how to integrate different decision heuristics into this process \cite{felferningGroupBasedConfiguration2016}.
|
||||||
|
|
||||||
|
\item[\citeauthor{velasquez-guevaraMultiSPLOTSupportingMultiuser2018}] implement a web based simultaneous group-based configuration system that uses constraint programming. Hereby each user configures according to their own preferences and the system proposes a configuration according to different strategies \cite{velasquez-guevaraMultiSPLOTSupportingMultiuser2018}.
|
||||||
|
\end{description}
|
||||||
|
|
||||||
|
\section{Recommender Systems for Configuration}
|
||||||
|
\label{sec:Related_Work:RecommenderSystemsForConfiguration}
|
||||||
|
\begin{description}[style=unboxed, leftmargin=0cm, font=\normalfont]
|
||||||
|
\item[\citeauthor{rubinshteynEntwicklungHybridenRecommender2018}] looks at different approaches to recommendation and implements a prototype with CAS Merlin Configurator which uses a hybrid recommender system. His prototype combines constraint-based filtering with collaborative filtering \cite{rubinshteynEntwicklungHybridenRecommender2018}.
|
||||||
|
|
||||||
|
\item [\citeauthor{benzMoeglichkeitenIntelligenterEmpfehlungssysteme2017}] uses a constraint based recommender that uses fuzzy logic to relax constraints and thereby reducing the amount of times where the recommender is unable to make recommendations. With his approach a product manager has direct influence on the recommendations. Rules for recommendations hereby are not automatically learned but only manually created and relate to predefined user interest categories \cite{benzMoeglichkeitenIntelligenterEmpfehlungssysteme2017}.
|
||||||
|
|
||||||
|
\item [\citeauthor{ullmannEntwurfUndUmsetzung2017}] implements a recommendation engine that is able to estimate customer budgets, a k-nearest neighbour classifier for finding a base configuration and non-negative matrix factorization combines with nearest neighbour to find configurations for specific users \cite{ullmannEntwurfUndUmsetzung2017}. \par
|
||||||
|
|
||||||
|
\item[\citeauthor{wetzelPersonalisierterUndLernender2017}] combines collaborative filtering and click-stream analysis. For collaborative filtering he implements three filtering algorithms: k-nearest neighbour, weighted majority voting and non-negative matrix factorization. Collaborative filtering is used to find configurations that are similar to the current configuration. Click-stream analysis is done by using n-grams and the Smith-Waterman algorithm. \citeauthor{wetzelPersonalisierterUndLernender2017} also tries to use click-stream data in combination with Markov chains to give recommendations on how configuration options should be ordered in a configuration form \cite{wetzelPersonalisierterUndLernender2017}.
|
||||||
|
|
||||||
|
\item[\citeauthor{falknerRecommendationTechnologiesConfigurable2011}] provide an overview of recommendation approaches for configuration to improve usability of configuration systems. They look at feature recommender to recommend which features in a configuration would be useful to have and at value recommender for these features. Additionally they discuss approaches for ranking and recommending explanations for inconsistencies between customers requirements and product rules \cite{falknerRecommendationTechnologiesConfigurable2011}.
|
||||||
|
\end{description}
|
||||||
|
|
||||||
|
\section{Group Dynamics and Bias}
|
||||||
|
\label{sec:Related_Work:GroupDynamicsAndBias}
|
||||||
|
|
||||||
|
\begin{description}[style=unboxed, leftmargin=0cm, font=\normalfont]
|
||||||
|
\item[\citeauthor{charnessGroupsMakeBetter2012}] study group decision-making in the context of classical game-theoretic games. They find that groups act more rational in these contexts but also note that this can lead to decisions that sacrifice social welfare towards individual gain. They also note that diversity increases effectiveness of the group if the environment is of participatory nature in an environment that allows expression of diverse ideas \cite{charnessGroupsMakeBetter2012}.
|
||||||
|
\item[\citeauthor{bonnerEffectsMemberExpertise2002}] study the effects of expertise on group decision-making and performance. The look at an easy and a moderately difficult version of the game Mastermind. The results show that provided performance ratings for each group members helped groups use that expertise as group members gave more weight to high performing member's opinions. This effect was only visible when looking at the moderately difficult task. Using experts in groups caused them to perform significantly better than individuals. In their conclusion \citeauthor{bonnerEffectsMemberExpertise2002} note that expertise should be taken into account when modelling group decision-making \cite{bonnerEffectsMemberExpertise2002}.
|
||||||
|
\item[\citeauthor{atasItemRecommendationUsing2017}] look at how the diversity of recommendations in a group decision scenario effects information exchange among group members. In the conducted study participants chose exam topics in a group. They had support by a system that aids group decisions. A noticeable result was that increased recommendation diversity lead to greater information exchange in groups \cite{atasItemRecommendationUsing2017}.
|
||||||
|
\item[\citeauthor{felfernigBiasesGroupDecisions2018}] give an overview over biases that occur in groups. Additionally they provide some measures to reduce these biases. The presented biases range from biases that are also prevalent in individuals to biases that only effect groups \cite{felfernigBiasesGroupDecisions2018}.
|
||||||
|
\end{description}
|
||||||
|
|
||||||
2
30_Thesis/sections/30_problem_and_objectives.tex
Normal file
2
30_Thesis/sections/30_problem_and_objectives.tex
Normal file
@@ -0,0 +1,2 @@
|
|||||||
|
\chapter{Problem Identification and Solution Objectives}
|
||||||
|
\label{ch:ProblemAndObjectives}
|
||||||
54
30_Thesis/sections/40_concept.tex
Normal file
54
30_Thesis/sections/40_concept.tex
Normal file
@@ -0,0 +1,54 @@
|
|||||||
|
\chapter{Concept}
|
||||||
|
\label{ch:Concept}
|
||||||
|
|
||||||
|
\section{CAS Configurator Merlin}
|
||||||
|
\label{sec:Concept:ConfiguratorMerlin}
|
||||||
|
|
||||||
|
\autoref{fig:Concept:ConfiguratorMerlin} shows the architecture of CAS Configurator Merlin.
|
||||||
|
\begin{description}
|
||||||
|
\item[M.Core] provides the base of the configurator it checks configuration against all rules in the database, provides possible alternatives on a change that invalidates other parts of a configuration.
|
||||||
|
\item[M.Model] is the editor to create products and rules. These rules can then be uploaded to M.Core.
|
||||||
|
\item[M.Customer] is the customer facing component. It allows a customer to configure a product.
|
||||||
|
\end{description}
|
||||||
|
|
||||||
|
\begin{figure}
|
||||||
|
\centering
|
||||||
|
\includegraphics{./figures/40_concept/MerlinConfigurator.pdf}
|
||||||
|
\caption{Architecture of Configurator Merlin \cite[Fig. 4.1]{raabKollaborativeProduktkonfigurationEchtzeit2019}}
|
||||||
|
\label{fig:Concept:ConfiguratorMerlin}
|
||||||
|
\end{figure}
|
||||||
|
|
||||||
|
\section{CAS Group-Configurator}
|
||||||
|
\label{sec:Concept:GroupConfigurator}
|
||||||
|
|
||||||
|
\citeauthor{raabKollaborativeProduktkonfigurationEchtzeit2019} extends CAS Merlin Configurator in his thesis to allow simultaneous configuration. The extended architecture is shown in \autoref{fig:Concept:CollaborativeConfiguratorMerlin}.
|
||||||
|
He only makes changes to M.Customer which is renamed to M.Collab-Customer and introduces a new component M.Collab.
|
||||||
|
|
||||||
|
\begin{description}
|
||||||
|
\item[M.Collab] is a node.js server application that communicates with M.Core via REST-API and with M.Collab-Customer via WebSocket. It sits in between M.Collab-Customer and M.Core and handles all processing regarding collaborative configuration.
|
||||||
|
\item[M.Collab-Customer] a modified version of M.Customer that does all communication via WebSocket and does communicate with M.Collab instead of M.Core.
|
||||||
|
\end{description}
|
||||||
|
|
||||||
|
\begin{figure}
|
||||||
|
\centering
|
||||||
|
\includegraphics{./figures/40_concept/MerlinCollaborativeConfigurator.pdf}
|
||||||
|
\caption{Architecture of Collaborative Configurator Merlin \cite[Fig. 4.3]{raabKollaborativeProduktkonfigurationEchtzeit2019}}
|
||||||
|
\label{fig:Concept:CollaborativeConfiguratorMerlin}
|
||||||
|
\end{figure}
|
||||||
|
|
||||||
|
|
||||||
|
\section{Extended Configurator}
|
||||||
|
\label{sec:Concept:ExtendedConfigurator}
|
||||||
|
|
||||||
|
Extending \citeauthor{raabKollaborativeProduktkonfigurationEchtzeit2019} work a module called M.Recommender is added. Its aim is to provide a recommendation server that holds all the data needed for recommendations. M.Collab and M.Collab-Customer have to be modified to allow taking in preferences and to show recommendations. The recommender engine is set up to be in a separate system which allows the easier replacement and the usage of different technologies. The extended architecture is shown in \autoref{fig:Concept:RecommenderForCollaborativeConfiguratorMerlin}.
|
||||||
|
|
||||||
|
\begin{description}
|
||||||
|
\item[M.Recommender] is a new system that will get queried from M.Collab for recommendations, when the configuration changes. M.Recommender will return recommendations which then can be presented to users by M.Collab-Customer.
|
||||||
|
\end{description}
|
||||||
|
|
||||||
|
\begin{figure}
|
||||||
|
\centering
|
||||||
|
\includegraphics{./figures/40_concept/MerlinCollabRecommender.pdf}
|
||||||
|
\caption{Architecture of Collaborative Configurator Merlin with an added recommender system.}
|
||||||
|
\label{fig:Concept:RecommenderForCollaborativeConfiguratorMerlin}
|
||||||
|
\end{figure}
|
||||||
2
30_Thesis/sections/50_implementation.tex
Normal file
2
30_Thesis/sections/50_implementation.tex
Normal file
@@ -0,0 +1,2 @@
|
|||||||
|
\chapter{Implementation}
|
||||||
|
\label{ch:Implementation}
|
||||||
2
30_Thesis/sections/60_evaluation.tex
Normal file
2
30_Thesis/sections/60_evaluation.tex
Normal file
@@ -0,0 +1,2 @@
|
|||||||
|
\chapter{Evaluation}
|
||||||
|
\label{ch:Evaluation}
|
||||||
2
30_Thesis/sections/70_future_work.tex
Normal file
2
30_Thesis/sections/70_future_work.tex
Normal file
@@ -0,0 +1,2 @@
|
|||||||
|
\chapter{Future Work}
|
||||||
|
\label{ch:FutureWork}
|
||||||
2
30_Thesis/sections/80_conclusion.tex
Normal file
2
30_Thesis/sections/80_conclusion.tex
Normal file
@@ -0,0 +1,2 @@
|
|||||||
|
\chapter{Conclusion}
|
||||||
|
\label{ch:Conclusion}
|
||||||
2
30_Thesis/sections/abstract_de.tex
Normal file
2
30_Thesis/sections/abstract_de.tex
Normal file
@@ -0,0 +1,2 @@
|
|||||||
|
\Abstract
|
||||||
|
Deutsche Zusammenfassung
|
||||||
2
30_Thesis/sections/abstract_en.tex
Normal file
2
30_Thesis/sections/abstract_en.tex
Normal file
@@ -0,0 +1,2 @@
|
|||||||
|
\Abstract
|
||||||
|
English abstract.
|
||||||
25
30_Thesis/sections/appendix.tex
Normal file
25
30_Thesis/sections/appendix.tex
Normal file
@@ -0,0 +1,25 @@
|
|||||||
|
\iflanguage{english}
|
||||||
|
{\chapter{Appendix}} % english style
|
||||||
|
{\chapter{Anhang}} % german style
|
||||||
|
\label{chap:appendix}
|
||||||
|
|
||||||
|
|
||||||
|
%% -------------------
|
||||||
|
%% | Example content |
|
||||||
|
%% -------------------
|
||||||
|
\section{First Appendix Section}
|
||||||
|
\label{sec:appendix:FirstSection}
|
||||||
|
|
||||||
|
\setcounter{figure}{0}
|
||||||
|
|
||||||
|
\begin{figure} [ht]
|
||||||
|
\centering
|
||||||
|
\caption{A figure}
|
||||||
|
\label{fig:anotherfigure}
|
||||||
|
\end{figure}
|
||||||
|
|
||||||
|
|
||||||
|
\dots
|
||||||
|
%% ---------------------
|
||||||
|
%% | / Example content |
|
||||||
|
%% ---------------------
|
||||||
33
30_Thesis/sections/declaration.tex
Normal file
33
30_Thesis/sections/declaration.tex
Normal file
@@ -0,0 +1,33 @@
|
|||||||
|
%% LaTeX2e class for student theses: Declaration of independent work
|
||||||
|
%% sections/declaration.tex
|
||||||
|
%%
|
||||||
|
%% Karlsruhe Institute of Technology
|
||||||
|
%% Institute for Program Structures and Data Organization
|
||||||
|
%% Chair for Software Design and Quality (SDQ)
|
||||||
|
%%
|
||||||
|
%% Dr.-Ing. Erik Burger
|
||||||
|
%% burger@kit.edu
|
||||||
|
%%
|
||||||
|
%% Version 1.3.3, 2018-04-17
|
||||||
|
|
||||||
|
\thispagestyle{empty}
|
||||||
|
\null\vfill
|
||||||
|
\noindent\hbox to \textwidth{\hrulefill}
|
||||||
|
\iflanguage{english}{I declare that I have developed and written the enclosed
|
||||||
|
thesis completely by myself, and have not used sources or means without
|
||||||
|
declaration in the text.}%
|
||||||
|
{Ich versichere wahrheitsgemäß, die Arbeit
|
||||||
|
selbstständig angefertigt, alle benutzten Hilfsmittel vollständig und genau
|
||||||
|
angegeben und alles kenntlich gemacht zu haben, was aus Arbeiten anderer
|
||||||
|
unverändert oder mit Änderungen entnommen wurde.}
|
||||||
|
|
||||||
|
|
||||||
|
%% ---------------------------------------------
|
||||||
|
%% | Replace PLACE and DATE with actual values |
|
||||||
|
%% ---------------------------------------------
|
||||||
|
\textbf{PLACE, DATE}
|
||||||
|
\vspace{1.5cm}
|
||||||
|
|
||||||
|
\dotfill\hspace*{8.0cm}\\
|
||||||
|
\hspace*{2cm}(\theauthor)
|
||||||
|
\cleardoublepage
|
||||||
1188
30_Thesis/thesis.bib
Normal file
1188
30_Thesis/thesis.bib
Normal file
File diff suppressed because it is too large
Load Diff
179
30_Thesis/thesis.tex
Normal file
179
30_Thesis/thesis.tex
Normal file
@@ -0,0 +1,179 @@
|
|||||||
|
%% LaTeX2e class for student theses
|
||||||
|
%% thesis.tex
|
||||||
|
%%
|
||||||
|
%% Karlsruhe Institute of Technology
|
||||||
|
%% Institute for Program Structures and Data Organization
|
||||||
|
%% Chair for Software Design and Quality (SDQ)
|
||||||
|
%%
|
||||||
|
%% Dr.-Ing. Erik Burger
|
||||||
|
%% burger@kit.edu
|
||||||
|
%%
|
||||||
|
%% See https://sdqweb.ipd.kit.edu/wiki/Dokumentvorlagen
|
||||||
|
%%
|
||||||
|
%% {$HeadURL: https://svnserver.informatik.kit.edu/i43/svn/lehre/Abschlussarbeiten-Vorlage/thesis.tex $}
|
||||||
|
%% {$LastChangedDate: 2018-08-02 14:19:06 +0200 (Do, 02 Aug 2018) $}
|
||||||
|
%% {$LastChangedRevision: 5705 $}
|
||||||
|
%% {$LastChangedBy: burger $}
|
||||||
|
|
||||||
|
%% Available page modes: oneside, twoside
|
||||||
|
%% Available modes: draft, final (see README)
|
||||||
|
\documentclass[twoside, english, draft]{sdqthesis}
|
||||||
|
|
||||||
|
%% ---------------------------------
|
||||||
|
%% | Information about the thesis |
|
||||||
|
%% ---------------------------------
|
||||||
|
|
||||||
|
%% Name of the author
|
||||||
|
\author{Hannes F. Kuchelmeister}
|
||||||
|
|
||||||
|
%% Title (and possibly subtitle) of the thesis
|
||||||
|
\title{Decision Support for Group-Based Configuration using Recommender Systems}
|
||||||
|
|
||||||
|
%% Type of the thesis
|
||||||
|
\thesistype{Bachelor's Thesis}
|
||||||
|
|
||||||
|
%% Change the institute here, ``IPD'' is default
|
||||||
|
% \myinstitute{Institute for \dots}
|
||||||
|
|
||||||
|
%% You can put a logo in the ``logos'' directory and include it here
|
||||||
|
%% instead of the SDQ logo
|
||||||
|
% \grouplogo{myfile}
|
||||||
|
|
||||||
|
%% Alternatively, you can disable the group logo
|
||||||
|
\nogrouplogo
|
||||||
|
|
||||||
|
%% The reviewers are the professors that grade your thesis
|
||||||
|
\reviewerone{Prof. Dr. Ralf H. Reussner}
|
||||||
|
\reviewertwo{Prof. Dr. Christof Weinhardt}
|
||||||
|
|
||||||
|
%% The advisors are PhDs or Postdocs
|
||||||
|
\advisorone{Dr. rer. nat. Robert Heinrich}
|
||||||
|
%% The second advisor can be omitted
|
||||||
|
\advisortwo{M.A. Jonas Fegert}
|
||||||
|
|
||||||
|
%% Please enter the start end end time of your thesis
|
||||||
|
\usepackage{texdate}
|
||||||
|
\initdate{2019}{12}{16}
|
||||||
|
\editingtime{\printfdate{british}}{\advancebymonths{4}\printfdate{british}}
|
||||||
|
|
||||||
|
\settitle
|
||||||
|
|
||||||
|
%% --------------------------------
|
||||||
|
%% | Settings for word separation |
|
||||||
|
%% --------------------------------
|
||||||
|
|
||||||
|
%% Describe separation hints here.
|
||||||
|
%% For more details, see
|
||||||
|
%% http://en.wikibooks.org/wiki/LaTeX/Text_Formatting#Hyphenation
|
||||||
|
\hyphenation{
|
||||||
|
% me-ta-mo-del
|
||||||
|
}
|
||||||
|
|
||||||
|
%% --------------------------------
|
||||||
|
%% | PDF Comments |
|
||||||
|
%% --------------------------------
|
||||||
|
\usepackage[colorinlistoftodos, obeyDraft]{todonotes}
|
||||||
|
|
||||||
|
%% --------------------------------
|
||||||
|
%% | Gantt Charts |
|
||||||
|
%% --------------------------------
|
||||||
|
\usepackage{pgfgantt}
|
||||||
|
|
||||||
|
%% --------------------------------
|
||||||
|
%% | Quotation |
|
||||||
|
%% --------------------------------
|
||||||
|
|
||||||
|
\usepackage{csquotes}
|
||||||
|
\MakeOuterQuote{"}
|
||||||
|
|
||||||
|
%% --------------------------------
|
||||||
|
%% | Bibliography |
|
||||||
|
%% --------------------------------
|
||||||
|
|
||||||
|
%% Use biber instead of BibTeX, see README
|
||||||
|
\usepackage[citestyle=numeric,style=numeric,sorting=none,backend=biber]{biblatex}
|
||||||
|
\addbibresource{thesis.bib}
|
||||||
|
|
||||||
|
%% --------------------------------
|
||||||
|
%% | File Inputs |
|
||||||
|
%% --------------------------------
|
||||||
|
\usepackage{texosquery}
|
||||||
|
|
||||||
|
%% ====================================
|
||||||
|
%% ====================================
|
||||||
|
%% || ||
|
||||||
|
%% || Beginning of the main document ||
|
||||||
|
%% || ||
|
||||||
|
%% ====================================
|
||||||
|
%% ====================================
|
||||||
|
\begin{document}
|
||||||
|
|
||||||
|
%% Set PDF metadata
|
||||||
|
\setpdf
|
||||||
|
|
||||||
|
%% Set the title
|
||||||
|
\maketitle
|
||||||
|
|
||||||
|
%% The Preamble begins here
|
||||||
|
\frontmatter
|
||||||
|
|
||||||
|
\input{sections/declaration.tex}
|
||||||
|
|
||||||
|
|
||||||
|
\setcounter{page}{1}
|
||||||
|
\pagenumbering{roman}
|
||||||
|
|
||||||
|
%% ----------------
|
||||||
|
%% | Abstract |
|
||||||
|
%% ----------------
|
||||||
|
|
||||||
|
%% For theses written in English, an abstract both in English
|
||||||
|
%% and German is mandatory.
|
||||||
|
%%
|
||||||
|
%% For theses written in German, a German abstract is sufficient.
|
||||||
|
%%
|
||||||
|
%% The text is included from the following files:
|
||||||
|
%% - sections/abstract
|
||||||
|
|
||||||
|
\includeabstract
|
||||||
|
|
||||||
|
%% ------------------------
|
||||||
|
%% | Table of Contents |
|
||||||
|
%% ------------------------
|
||||||
|
\tableofcontents
|
||||||
|
|
||||||
|
\listoffigures
|
||||||
|
\listoftables
|
||||||
|
|
||||||
|
%% -----------------
|
||||||
|
%% | Main part |
|
||||||
|
%% -----------------
|
||||||
|
|
||||||
|
\mainmatter
|
||||||
|
|
||||||
|
\input{sections/00_introduction.tex}
|
||||||
|
\input{sections/10_foundations.tex}
|
||||||
|
\input{sections/20_related_work.tex}
|
||||||
|
\input{sections/30_problem_and_objectives.tex}
|
||||||
|
\input{sections/40_concept.tex}
|
||||||
|
\input{sections/50_implementation.tex}
|
||||||
|
\input{sections/60_evaluation.tex}
|
||||||
|
\input{sections/70_future_work.tex}
|
||||||
|
\input{sections/80_conclusion.tex}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
%% --------------------
|
||||||
|
%% | Bibliography |
|
||||||
|
%% --------------------
|
||||||
|
|
||||||
|
%% Add entry to the table of contents for the bibliography
|
||||||
|
\printbibliography[heading=bibintoc]
|
||||||
|
|
||||||
|
%% ----------------
|
||||||
|
%% | Appendix |
|
||||||
|
%% ----------------
|
||||||
|
\appendix
|
||||||
|
\input{sections/appendix.tex}
|
||||||
|
|
||||||
|
\end{document}
|
||||||
93
30_Thesis/title-background.eps
Normal file
93
30_Thesis/title-background.eps
Normal file
@@ -0,0 +1,93 @@
|
|||||||
|
%!PS-Adobe-3.0 EPSF-3.0
|
||||||
|
%%For:
|
||||||
|
%%Title:
|
||||||
|
%%Creator: Scribus1.4.4
|
||||||
|
%%Pages: 1
|
||||||
|
%%BoundingBox: 0 0 595 842
|
||||||
|
%%HiResBoundingBox: 0 0 595.276 841.89
|
||||||
|
%%LanguageLevel: 3
|
||||||
|
%%EndComments
|
||||||
|
%%BeginProlog
|
||||||
|
/Scribusdict 100 dict def
|
||||||
|
Scribusdict begin
|
||||||
|
/sp {showpage} bind def
|
||||||
|
/oldsetgray /setgray load def
|
||||||
|
/cmyk {setcmykcolor} def
|
||||||
|
/m {moveto} bind def
|
||||||
|
/l {lineto} bind def
|
||||||
|
/li {lineto} bind def
|
||||||
|
/cu {curveto} bind def
|
||||||
|
/cl {closepath} bind def
|
||||||
|
/gs {gsave} bind def
|
||||||
|
/gr {grestore} bind def
|
||||||
|
/tr {translate} bind def
|
||||||
|
/ro {rotate} bind def
|
||||||
|
/sh {show} bind def
|
||||||
|
/shg {setcmykcolor moveto glyphshow} def
|
||||||
|
/shgsp {moveto glyphshow} def
|
||||||
|
/sc {scale} bind def
|
||||||
|
/se {selectfont} bind def
|
||||||
|
/sf {setfont} bind def
|
||||||
|
/sw {setlinewidth} bind def
|
||||||
|
/f {findfont} bind def
|
||||||
|
/fi {fill} bind def
|
||||||
|
/st {stroke} bind def
|
||||||
|
/shgf {gs dup scale begin cvx exec fill end gr} bind def
|
||||||
|
/shgs {gs dup 1 exch div currentlinewidth mul sw dup scale
|
||||||
|
begin cvx exec st end gr} bind def
|
||||||
|
/bEPS {
|
||||||
|
/b4_Inc_state save def
|
||||||
|
/dict_count countdictstack def
|
||||||
|
/op_count count 1 sub def
|
||||||
|
userdict begin
|
||||||
|
/showpage { } def
|
||||||
|
0 setgray 0 setlinecap
|
||||||
|
1 setlinewidth 0 setlinejoin
|
||||||
|
10 setmiterlimit [ ] 0 setdash newpath
|
||||||
|
/languagelevel where
|
||||||
|
{pop languagelevel
|
||||||
|
1 ne
|
||||||
|
{false setstrokeadjust false setoverprint
|
||||||
|
} if } if } bind def
|
||||||
|
/eEPS { count op_count sub {pop} repeat
|
||||||
|
countdictstack dict_count sub {end} repeat
|
||||||
|
b4_Inc_state restore } bind def
|
||||||
|
end
|
||||||
|
%%EndProlog
|
||||||
|
%%BeginSetup
|
||||||
|
%%EndSetup
|
||||||
|
%%Page: 1 1
|
||||||
|
%%PageOrientation: Portrait
|
||||||
|
Scribusdict begin
|
||||||
|
save
|
||||||
|
/DeviceCMYK setcolorspace
|
||||||
|
0 0 tr
|
||||||
|
40 40 m
|
||||||
|
555.276 40 li
|
||||||
|
555.276 801.89 li
|
||||||
|
40 801.89 li cl clip newpath
|
||||||
|
gs
|
||||||
|
0.992559 sw
|
||||||
|
0 setlinecap
|
||||||
|
0 setlinejoin
|
||||||
|
[] 0 setdash
|
||||||
|
29.6548 809.103 tr
|
||||||
|
533.748 -761.657 m
|
||||||
|
17.7923 -761.657 li
|
||||||
|
7.91532 -761.657 0 -753.741 0 -743.868 cu
|
||||||
|
0 0 li
|
||||||
|
515.959 0 li
|
||||||
|
525.832 0 533.748 -7.91931 533.748 -17.7923 cu
|
||||||
|
533.748 -761.657 li
|
||||||
|
533.748 -761.657 li
|
||||||
|
cl
|
||||||
|
0 0 0 1 cmyk st
|
||||||
|
gr
|
||||||
|
%%PageTrailer
|
||||||
|
restore
|
||||||
|
gs
|
||||||
|
gr
|
||||||
|
sp
|
||||||
|
end
|
||||||
|
%%Trailer
|
||||||
|
%%EOF
|
||||||
116
30_Thesis/title-background.pdf
Normal file
116
30_Thesis/title-background.pdf
Normal file
@@ -0,0 +1,116 @@
|
|||||||
|
%PDF-1.4
|
||||||
|
%<25>쏢
|
||||||
|
1 0 obj
|
||||||
|
<<
|
||||||
|
/Type /Catalog
|
||||||
|
/Outlines 3 0 R
|
||||||
|
/Pages 4 0 R
|
||||||
|
/Dests 5 0 R
|
||||||
|
/AcroForm 6 0 R
|
||||||
|
/Names 7 0 R
|
||||||
|
/Threads 8 0 R
|
||||||
|
/PageLayout /SinglePage
|
||||||
|
/ViewerPreferences
|
||||||
|
<<
|
||||||
|
/PageDirection /L2R
|
||||||
|
>>
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
2 0 obj
|
||||||
|
<<
|
||||||
|
/Creator (Scribus 1.4.4)
|
||||||
|
/Producer (Scribus PDF Library 1.4.4)
|
||||||
|
/Title <>
|
||||||
|
/Author <>
|
||||||
|
/Subject <>
|
||||||
|
/Keywords <>
|
||||||
|
/CreationDate (D:20141111094954)
|
||||||
|
/ModDate (D:20141111094954)
|
||||||
|
/Trapped /False
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
9 0 obj
|
||||||
|
<< /Length 173
|
||||||
|
/Filter /FlateDecode >>
|
||||||
|
stream
|
||||||
|
x<EFBFBD>u<EFBFBD>A1E<><45><EFBFBD><02>zw<>Ҹ<17><>,f<><66>eL<65>T<EFBFBD>J<>H><3E>8Qd<51>Hkl}<7D>a<EFBFBD><61>xͶB<CDB6>"<22>^<5E><>q<17>ֲ<EFBFBD><D6B2><EFBFBD><EFBFBD>%<04>@iu<>5<>7MN
|
||||||
|
<EFBFBD>r<EFBFBD>US<EFBFBD>C<EFBFBD>\<5C>`<60><><EFBFBD>Ů<19><>Z<16><><04><>Ur<0F><>SA+<2B><><EFBFBD><EFBFBD>W_<57><5F><EFBFBD>9<13>&<26><>]:<3A>$<24>Z:<3A><><EFBFBD><EFBFBD>M<EFBFBD>G<EFBFBD><47><EFBFBD><EFBFBD>!<21>?|<7C>"<22>
|
||||||
|
<EFBFBD>F<EFBFBD>
|
||||||
|
endstream
|
||||||
|
endobj
|
||||||
|
10 0 obj
|
||||||
|
<< /S /Transparency
|
||||||
|
/CS /DeviceRGB
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
11 0 obj
|
||||||
|
<<
|
||||||
|
/Type /Page
|
||||||
|
/Parent 4 0 R
|
||||||
|
/MediaBox [0 0 595.27559 841.88976]
|
||||||
|
/BleedBox [0.00000 0.00000 595.27559 841.88976]
|
||||||
|
/CropBox [0 0 595.27559 841.88976]
|
||||||
|
/TrimBox [0.00000 0.00000 595.27559 841.88976]
|
||||||
|
/ArtBox [0.00000 0.00000 595.27559 841.88976]
|
||||||
|
/Rotate 0
|
||||||
|
/Contents 9 0 R
|
||||||
|
/Group 10 0 R
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
12 0 obj
|
||||||
|
<< /ProcSet [/PDF /Text /ImageB /ImageC /ImageI]
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
3 0 obj
|
||||||
|
<<
|
||||||
|
/Type /Outlines
|
||||||
|
/Count 0
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
4 0 obj
|
||||||
|
<<
|
||||||
|
/Type /Pages
|
||||||
|
/Kids [11 0 R ]
|
||||||
|
/Count 1
|
||||||
|
/Resources 12 0 R
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
5 0 obj
|
||||||
|
<<
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
6 0 obj
|
||||||
|
<<
|
||||||
|
/Fields [ ]
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
7 0 obj
|
||||||
|
<< >>
|
||||||
|
endobj
|
||||||
|
8 0 obj
|
||||||
|
[]
|
||||||
|
endobj
|
||||||
|
xref
|
||||||
|
0 13
|
||||||
|
0000000000 65535 f
|
||||||
|
0000000015 00000 n
|
||||||
|
0000000207 00000 n
|
||||||
|
0000001081 00000 n
|
||||||
|
0000001127 00000 n
|
||||||
|
0000001204 00000 n
|
||||||
|
0000001225 00000 n
|
||||||
|
0000001259 00000 n
|
||||||
|
0000001281 00000 n
|
||||||
|
0000000414 00000 n
|
||||||
|
0000000659 00000 n
|
||||||
|
0000000713 00000 n
|
||||||
|
0000001013 00000 n
|
||||||
|
trailer
|
||||||
|
<<
|
||||||
|
/Size 13
|
||||||
|
/Root 1 0 R
|
||||||
|
/Info 2 0 R
|
||||||
|
/ID [<277CA22A7AE2CA7FFF6E9C66BCEEE0BF><277CA22A7AE2CA7FFF6E9C66BCEEE0BF>]
|
||||||
|
>>
|
||||||
|
startxref
|
||||||
|
1299
|
||||||
67
30_Thesis/title-background.sla
Normal file
67
30_Thesis/title-background.sla
Normal file
@@ -0,0 +1,67 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<SCRIBUSUTF8NEW Version="1.4.4">
|
||||||
|
<DOCUMENT ANZPAGES="1" PAGEWIDTH="595.275590551181" PAGEHEIGHT="841.889763779528" BORDERLEFT="40" BORDERRIGHT="40" BORDERTOP="40" BORDERBOTTOM="40" PRESET="0" BleedTop="0" BleedLeft="0" BleedRight="0" BleedBottom="0" ORIENTATION="0" PAGESIZE="A4" FIRSTNUM="1" BOOK="0" AUTOSPALTEN="1" ABSTSPALTEN="11" UNITS="1" DFONT="Arial Regular" DSIZE="12" DCOL="1" DGAP="0" TabFill="" TabWidth="36" AUTHOR="" COMMENTS="" KEYWORDS="" PUBLISHER="" DOCDATE="" DOCTYPE="" DOCFORMAT="" DOCIDENT="" DOCSOURCE="" DOCLANGINFO="" DOCRELATION="" DOCCOVER="" DOCRIGHTS="" DOCCONTRIB="" TITLE="" SUBJECT="" VHOCH="33" VHOCHSC="66" VTIEF="33" VTIEFSC="66" VKAPIT="75" BASEGRID="14.4" BASEO="0" AUTOL="20" UnderlinePos="-1" UnderlineWidth="-1" StrikeThruPos="-1" StrikeThruWidth="-1" GROUPC="1" HCMS="0" DPSo="0" DPSFo="0" DPuse="0" DPgam="0" DPbla="1" DPMo="sRGB IEC61966-2.1" DPPr="Fogra27L CMYK Coated Press" DPIn="sRGB IEC61966-2.1" DPInCMYK="Fogra27L CMYK Coated Press" DPIn2="sRGB IEC61966-2.1" DPIn3="Fogra27L CMYK Coated Press" DISc="1" DIIm="0" ALAYER="0" LANGUAGE="German" MINWORDLEN="3" HYCOUNT="2" AUTOMATIC="1" AUTOCHECK="0" GUIDELOCK="0" SnapToGuides="0" SnapToGrid="0" MINGRID="20.001" MAJGRID="100.001" SHOWGRID="0" SHOWGUIDES="1" showcolborders="1" SHOWFRAME="1" SHOWLAYERM="0" SHOWMARGIN="1" SHOWBASE="0" SHOWPICT="1" SHOWControl="0" SHOWLINK="0" rulerMode="1" showrulers="1" showBleed="1" rulerXoffset="0" rulerYoffset="0" GuideRad="10" GRAB="4" POLYC="4" POLYF="0.707" POLYR="0" POLYCUR="0" POLYFD="0" POLYS="0" AutoSave="1" AutoSaveTime="600000" ScratchBottom="20.001" ScratchLeft="100.001" ScratchRight="100.001" ScratchTop="20.001" GapHorizontal="0" GapVertical="40" StartArrow="0" EndArrow="0" PEN="Black" BRUSH="None" PENLINE="Black" PENTEXT="Black" StrokeText="Black" TextBackGround="None" TextLineColor="None" TextBackGroundShade="100" TextLineShade="100" TextPenShade="100" TextStrokeShade="100" STIL="1" STILLINE="1" WIDTH="1" WIDTHLINE="1" PENSHADE="100" LINESHADE="100" BRUSHSHADE="100" MAGMIN="10" MAGMAX="3200" MAGSTEP="200" CPICT="None" PICTSHADE="100" PICTSCX="1" PICTSCY="1" PSCALE="1" PASPECT="1" EmbeddedPath="0" HalfRes="1" dispX="10.001" dispY="10.001" constrain="15" MINORC="#00ff00" MAJORC="#00ff00" GuideC="#000080" BaseC="#c0c0c0" GuideZ="10" BACKG="0" PAGEC="#ffffff" MARGC="#0000ff" RANDF="0" currentProfile="PostScript">
|
||||||
|
<CheckProfile Name="PDF 1.3" ignoreErrors="0" autoCheck="1" checkGlyphs="1" checkOrphans="1" checkOverflow="1" checkPictures="1" checkResolution="1" checkTransparency="1" minResolution="144" maxResolution="2400" checkAnnotations="0" checkRasterPDF="1" checkForGIF="1" ignoreOffLayers="0" checkOffConflictLayers="0"/>
|
||||||
|
<CheckProfile Name="PDF 1.4" ignoreErrors="0" autoCheck="1" checkGlyphs="1" checkOrphans="1" checkOverflow="1" checkPictures="1" checkResolution="1" checkTransparency="0" minResolution="144" maxResolution="2400" checkAnnotations="0" checkRasterPDF="1" checkForGIF="1" ignoreOffLayers="0" checkOffConflictLayers="0"/>
|
||||||
|
<CheckProfile Name="PDF 1.5" ignoreErrors="0" autoCheck="1" checkGlyphs="1" checkOrphans="1" checkOverflow="1" checkPictures="1" checkResolution="1" checkTransparency="0" minResolution="144" maxResolution="2400" checkAnnotations="0" checkRasterPDF="1" checkForGIF="1" ignoreOffLayers="0" checkOffConflictLayers="0"/>
|
||||||
|
<CheckProfile Name="PDF/X-1a" ignoreErrors="0" autoCheck="1" checkGlyphs="1" checkOrphans="1" checkOverflow="1" checkPictures="1" checkResolution="1" checkTransparency="1" minResolution="144" maxResolution="2400" checkAnnotations="1" checkRasterPDF="1" checkForGIF="1" ignoreOffLayers="0" checkOffConflictLayers="0"/>
|
||||||
|
<CheckProfile Name="PDF/X-3" ignoreErrors="0" autoCheck="1" checkGlyphs="1" checkOrphans="1" checkOverflow="1" checkPictures="1" checkResolution="1" checkTransparency="1" minResolution="144" maxResolution="2400" checkAnnotations="1" checkRasterPDF="1" checkForGIF="1" ignoreOffLayers="0" checkOffConflictLayers="0"/>
|
||||||
|
<CheckProfile Name="PostScript" ignoreErrors="0" autoCheck="1" checkGlyphs="1" checkOrphans="1" checkOverflow="1" checkPictures="1" checkResolution="1" checkTransparency="1" minResolution="144" maxResolution="2400" checkAnnotations="0" checkRasterPDF="1" checkForGIF="1" ignoreOffLayers="0" checkOffConflictLayers="0"/>
|
||||||
|
<COLOR NAME="Black" CMYK="#000000ff" Spot="0" Register="0"/>
|
||||||
|
<COLOR NAME="Blue" RGB="#0000ff" Spot="0" Register="0"/>
|
||||||
|
<COLOR NAME="Cool Black" CMYK="#990000ff" Spot="0" Register="0"/>
|
||||||
|
<COLOR NAME="Cyan" CMYK="#ff000000" Spot="0" Register="0"/>
|
||||||
|
<COLOR NAME="FromSVG#231f20" RGB="#231f20" Spot="0" Register="0"/>
|
||||||
|
<COLOR NAME="FromSVG#ffffff" RGB="#ffffff" Spot="0" Register="0"/>
|
||||||
|
<COLOR NAME="Green" RGB="#00ff00" Spot="0" Register="0"/>
|
||||||
|
<COLOR NAME="Magenta" CMYK="#00ff0000" Spot="0" Register="0"/>
|
||||||
|
<COLOR NAME="Red" RGB="#ff0000" Spot="0" Register="0"/>
|
||||||
|
<COLOR NAME="Registration" CMYK="#ffffffff" Spot="0" Register="1"/>
|
||||||
|
<COLOR NAME="Rich Black" CMYK="#996666ff" Spot="0" Register="0"/>
|
||||||
|
<COLOR NAME="Warm Black" CMYK="#00994cff" Spot="0" Register="0"/>
|
||||||
|
<COLOR NAME="White" CMYK="#00000000" Spot="0" Register="0"/>
|
||||||
|
<COLOR NAME="Yellow" CMYK="#0000ff00" Spot="0" Register="0"/>
|
||||||
|
<HYPHEN/>
|
||||||
|
<STYLE NAME="Default Paragraph Style" DefaultStyle="1" ALIGN="0" LINESPMode="0" LINESP="15" INDENT="0" RMARGIN="0" FIRST="0" VOR="0" NACH="0" DROP="0" DROPLIN="2" DROPDIST="0"/>
|
||||||
|
<CHARSTYLE CNAME="Default Character Style" DefaultStyle="1" FONT="Arial Regular" FONTSIZE="12" FEATURES="inherit" FCOLOR="Black" FSHADE="100" SCOLOR="Black" SSHADE="100" TXTSHX="5" TXTSHY="-5" TXTOUT="1" TXTULP="-0.1" TXTULW="-0.1" TXTSTP="-0.1" TXTSTW="-0.1" SCALEH="100" SCALEV="100" BASEO="0" KERN="0" LANGUAGE="German"/>
|
||||||
|
<LAYERS NUMMER="0" LEVEL="0" NAME="Hintergrund" SICHTBAR="1" DRUCKEN="1" EDIT="1" FLOW="1" TRANS="1" BLEND="0" OUTL="0" LAYERC="#000000"/>
|
||||||
|
<Printer firstUse="1" toFile="1" useAltPrintCommand="1" outputSeparations="1" useSpotColors="1" useColor="1" mirrorH="1" mirrorV="1" useICC="1" doGCR="1" doClip="1" setDevParam="1" useDocBleeds="1" cropMarks="1" bleedMarks="1" registrationMarks="1" colorMarks="1" includePDFMarks="1" PSLevel="-2500135" PDLanguage="-2500135" markOffset="-7.2612709456521e+307" BleedTop="0" BleedLeft="0" BleedRight="0" BleedBottom="0" printer="" filename="" separationName="" printerCommand=""/>
|
||||||
|
<PDF firstUse="0" Thumbnails="0" Articles="0" Bookmarks="0" Compress="1" CMethod="0" Quality="0" EmbedPDF="0" MirrorH="0" MirrorV="0" Clip="0" RotateDeg="0" PresentMode="0" RecalcPic="0" Grayscale="0" RGBMode="1" UseProfiles="0" UseProfiles2="0" Binding="0" PicRes="300" Resolution="300" Version="14" Intent="1" Intent2="0" SolidP="sRGB IEC61966-2.1" ImageP="sRGB IEC61966-2.1" PrintP="Fogra27L CMYK Coated Press" InfoString="" BTop="0" BLeft="0" BRight="0" BBottom="0" useDocBleeds="1" cropMarks="0" bleedMarks="0" registrationMarks="0" colorMarks="0" docInfoMarks="0" markOffset="0" ImagePr="0" PassOwner="" PassUser="" Permissions="-4" Encrypt="0" UseLayers="0" UseLpi="0" UseSpotColors="1" doMultiFile="0" displayBookmarks="0" displayFullscreen="0" displayLayers="0" displayThumbs="0" hideMenuBar="0" hideToolBar="0" fitWindow="0" PageLayout="0" openAction="">
|
||||||
|
<Effekte pageEffectDuration="1" pageViewDuration="1" effectType="0" Dm="0" M="0" Di="0"/>
|
||||||
|
<LPI Color="" Frequency="10" Angle="0" SpotFunction="0"/>
|
||||||
|
<LPI Color="Black" Frequency="133" Angle="45" SpotFunction="3"/>
|
||||||
|
<LPI Color="Cyan" Frequency="133" Angle="105" SpotFunction="3"/>
|
||||||
|
<LPI Color="Magenta" Frequency="133" Angle="75" SpotFunction="3"/>
|
||||||
|
<LPI Color="Yellow" Frequency="133" Angle="90" SpotFunction="3"/>
|
||||||
|
</PDF>
|
||||||
|
<DocItemAttributes/>
|
||||||
|
<TablesOfContents/>
|
||||||
|
<PageSets>
|
||||||
|
<Set Name="Single Page" FirstPage="0" Rows="1" Columns="1"/>
|
||||||
|
<Set Name="Double Sided" FirstPage="1" Rows="1" Columns="2">
|
||||||
|
<PageNames Name="Left Page"/>
|
||||||
|
<PageNames Name="Right Page"/>
|
||||||
|
</Set>
|
||||||
|
<Set Name="3-Fold" FirstPage="0" Rows="1" Columns="3">
|
||||||
|
<PageNames Name="Left Page"/>
|
||||||
|
<PageNames Name="Middle"/>
|
||||||
|
<PageNames Name="Right Page"/>
|
||||||
|
</Set>
|
||||||
|
<Set Name="4-Fold" FirstPage="0" Rows="1" Columns="4">
|
||||||
|
<PageNames Name="Left Page"/>
|
||||||
|
<PageNames Name="Middle Left"/>
|
||||||
|
<PageNames Name="Middle Right"/>
|
||||||
|
<PageNames Name="Right Page"/>
|
||||||
|
</Set>
|
||||||
|
</PageSets>
|
||||||
|
<Sections>
|
||||||
|
<Section Number="0" Name="0" From="0" To="0" Type="Type_1_2_3" Start="1" Reversed="0" Active="1"/>
|
||||||
|
</Sections>
|
||||||
|
<MASTERPAGE PAGEXPOS="100.001" PAGEYPOS="20.001" PAGEWIDTH="595.275590551181" PAGEHEIGHT="841.889763779528" BORDERLEFT="40" BORDERRIGHT="40" BORDERTOP="40" BORDERBOTTOM="40" NUM="0" NAM="Normal" MNAM="" Size="A4" Orientation="0" LEFT="0" PRESET="0" VerticalGuides="" HorizontalGuides="" AGhorizontalAutoGap="0" AGverticalAutoGap="0" AGhorizontalAutoCount="0" AGverticalAutoCount="0" AGhorizontalAutoRefer="0" AGverticalAutoRefer="0" AGSelection="0 0 0 0"/>
|
||||||
|
<PAGE PAGEXPOS="100.001" PAGEYPOS="20.001" PAGEWIDTH="595.275590551181" PAGEHEIGHT="841.889763779528" BORDERLEFT="40" BORDERRIGHT="40" BORDERTOP="40" BORDERBOTTOM="40" NUM="0" NAM="" MNAM="Normal" Size="A4" Orientation="0" LEFT="0" PRESET="0" VerticalGuides="" HorizontalGuides="" AGhorizontalAutoGap="0" AGverticalAutoGap="0" AGhorizontalAutoCount="0" AGverticalAutoCount="0" AGhorizontalAutoRefer="0" AGverticalAutoRefer="0" AGSelection="0 0 0 0"/>
|
||||||
|
<PAGEOBJECT OwnPage="0" PTYPE="6" XPOS="152.332953622181" YPOS="52.7880952315889" WIDTH="511.070834645669" HEIGHT="761.657" RADRECT="0" FRTYPE="3" CLIPEDIT="1" PWIDTH="0.992558509527654" PCOLOR="None" PCOLOR2="Black" COLUMNS="1" COLGAP="0" NAMEDLST="" SHADE="100" SHADE2="100" GRTYP="0" ROT="0" PLINEART="1" PLINEEND="0" PLINEJOIN="0" LOCALSCX="1" LOCALSCY="1" LOCALX="0" LOCALY="0" PICART="1" PLTSHOW="0" BASEOF="0" textPathType="0" textPathFlipped="0" FLIPPEDH="0" FLIPPEDV="0" SCALETYPE="1" RATIO="1" PRINTABLE="1" ANNOTATION="0" ANNAME=" path3019" TEXTFLOWMODE="0" TEXTFLOW="0" TEXTFLOW2="0" TEXTFLOW3="0" AUTOTEXT="0" EXTRA="0" TEXTRA="0" BEXTRA="0" REXTRA="0" FLOP="0" PFILE="" PFILE2="" PFILE3="" PRFILE="" EPROF="" IRENDER="1" EMBEDDED="1" LOCK="0" LOCKR="0" REVERS="0" TransValue="0" TransValueS="0" TransBlend="0" TransBlendS="0" isTableItem="0" TopLine="0" LeftLine="0" RightLine="0" BottomLine="0" isGroupControl="0" NUMDASH="0" DASHS="" DASHOFF="0" NUMPO="28" POCOOR="511.071 761.657 511.071 761.657 17.7923 761.657 17.7923 761.657 17.7923 761.657 7.91532 761.657 0 743.868 0 753.741 0 743.868 0 743.868 0 0 0 0 0 0 0 0 493.282 0 493.282 0 493.282 0 503.155 0 511.071 17.7923 511.071 7.91931 511.071 17.7923 511.071 17.7923 511.071 761.657 511.071 761.657 511.071 761.657 511.071 761.657 511.071 761.657 511.071 761.657 " NUMCO="28" COCOOR="511.071 761.657 511.071 761.657 -4.88487 761.657 -4.88487 761.657 -4.88487 761.657 -14.7618 761.657 -22.6772 743.868 -22.6772 753.741 -22.6772 743.868 -22.6772 743.868 -22.6772 0 -22.6772 0 -22.6772 0 -22.6772 0 493.282 0 493.282 0 493.282 0 503.155 0 511.071 17.7923 511.071 7.91931 511.071 17.7923 511.071 17.7923 511.071 761.657 511.071 761.657 511.071 761.657 511.071 761.657 511.071 761.657 511.071 761.657 " NUMGROUP="0" GROUPS="" startArrowIndex="0" endArrowIndex="0" OnMasterPage="" ImageClip="" ImageRes="1" Pagenumber="0" isInline="0" fillRule="0" doOverprint="0" gXpos="29.6547882678499" gYpos="32.787095231589" gWidth="595.275590551181" gHeight="841.891150885822" LAYER="0" BOOKMARK="0" NEXTITEM="-1" BACKITEM="-1">
|
||||||
|
<trail/>
|
||||||
|
<PageItemAttributes/>
|
||||||
|
</PAGEOBJECT>
|
||||||
|
</DOCUMENT>
|
||||||
|
</SCRIBUSUTF8NEW>
|
||||||
207
Additional_Notes/bpmn/configuration_process.bpmn
Normal file
207
Additional_Notes/bpmn/configuration_process.bpmn
Normal file
@@ -0,0 +1,207 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<bpmn:definitions xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:bpmn="http://www.omg.org/spec/BPMN/20100524/MODEL" xmlns:bpmndi="http://www.omg.org/spec/BPMN/20100524/DI" xmlns:dc="http://www.omg.org/spec/DD/20100524/DC" xmlns:di="http://www.omg.org/spec/DD/20100524/DI" id="Definitions_0hcliey" targetNamespace="http://bpmn.io/schema/bpmn" exporter="bpmn-js (https://demo.bpmn.io)" exporterVersion="6.3.0">
|
||||||
|
<bpmn:process id="Process_0aaqeef" isExecutable="false">
|
||||||
|
<bpmn:exclusiveGateway id="Gateway_0rs0dwe" name="Have all preferences of all users been entered?">
|
||||||
|
<bpmn:incoming>Flow_0pmix2e</bpmn:incoming>
|
||||||
|
<bpmn:incoming>Flow_183a3gl</bpmn:incoming>
|
||||||
|
<bpmn:outgoing>Flow_13jervv</bpmn:outgoing>
|
||||||
|
<bpmn:outgoing>Flow_0sd24xk</bpmn:outgoing>
|
||||||
|
</bpmn:exclusiveGateway>
|
||||||
|
<bpmn:task id="Activity_1konb1u" name="generate recommendation">
|
||||||
|
<bpmn:incoming>Flow_0sd24xk</bpmn:incoming>
|
||||||
|
<bpmn:outgoing>SequenceFlow_14bjmv4</bpmn:outgoing>
|
||||||
|
<bpmn:property id="Property_03b25wa" name="__targetRef_placeholder" />
|
||||||
|
<bpmn:dataInputAssociation id="DataInputAssociation_0oxxzci">
|
||||||
|
<bpmn:sourceRef>Flow_0ug7unw</bpmn:sourceRef>
|
||||||
|
<bpmn:targetRef>Property_03b25wa</bpmn:targetRef>
|
||||||
|
</bpmn:dataInputAssociation>
|
||||||
|
<bpmn:dataInputAssociation id="DataInputAssociation_0j2qf1y">
|
||||||
|
<bpmn:sourceRef>Flow_00hy6u9</bpmn:sourceRef>
|
||||||
|
<bpmn:targetRef>Property_03b25wa</bpmn:targetRef>
|
||||||
|
</bpmn:dataInputAssociation>
|
||||||
|
<bpmn:dataInputAssociation id="DataInputAssociation_052ijwq">
|
||||||
|
<bpmn:sourceRef>Flow_0yauk10</bpmn:sourceRef>
|
||||||
|
<bpmn:targetRef>Property_03b25wa</bpmn:targetRef>
|
||||||
|
</bpmn:dataInputAssociation>
|
||||||
|
</bpmn:task>
|
||||||
|
<bpmn:task id="Activity_12rqerh" name="wait for preference input">
|
||||||
|
<bpmn:incoming>Flow_13jervv</bpmn:incoming>
|
||||||
|
</bpmn:task>
|
||||||
|
<bpmn:task id="Activity_0707to6" name="save preferences">
|
||||||
|
<bpmn:incoming>Flow_1xs1aq5</bpmn:incoming>
|
||||||
|
<bpmn:outgoing>Flow_183a3gl</bpmn:outgoing>
|
||||||
|
<bpmn:dataOutputAssociation id="DataOutputAssociation_1yqt1l6">
|
||||||
|
<bpmn:targetRef>Flow_0yauk10</bpmn:targetRef>
|
||||||
|
</bpmn:dataOutputAssociation>
|
||||||
|
</bpmn:task>
|
||||||
|
<bpmn:startEvent id="Event_0pwno12" name="user logs in">
|
||||||
|
<bpmn:outgoing>Flow_0opaylx</bpmn:outgoing>
|
||||||
|
</bpmn:startEvent>
|
||||||
|
<bpmn:exclusiveGateway id="Gateway_0m8yvmm" name="Are all users logged in?">
|
||||||
|
<bpmn:incoming>Flow_0opaylx</bpmn:incoming>
|
||||||
|
<bpmn:outgoing>Flow_1l6p48t</bpmn:outgoing>
|
||||||
|
<bpmn:outgoing>Flow_0wtv4e8</bpmn:outgoing>
|
||||||
|
</bpmn:exclusiveGateway>
|
||||||
|
<bpmn:task id="Activity_1l7kym5" name="wait for all users">
|
||||||
|
<bpmn:incoming>Flow_1l6p48t</bpmn:incoming>
|
||||||
|
</bpmn:task>
|
||||||
|
<bpmn:task id="Activity_0g26qnc" name="select starting state of configuration">
|
||||||
|
<bpmn:incoming>Flow_0wtv4e8</bpmn:incoming>
|
||||||
|
<bpmn:outgoing>Flow_0pmix2e</bpmn:outgoing>
|
||||||
|
<bpmn:dataOutputAssociation id="DataOutputAssociation_1cxhkzs">
|
||||||
|
<bpmn:targetRef>Flow_00hy6u9</bpmn:targetRef>
|
||||||
|
</bpmn:dataOutputAssociation>
|
||||||
|
</bpmn:task>
|
||||||
|
<bpmn:intermediateThrowEvent id="Event_08vhdg2" name="user enters preference">
|
||||||
|
<bpmn:outgoing>Flow_1xs1aq5</bpmn:outgoing>
|
||||||
|
</bpmn:intermediateThrowEvent>
|
||||||
|
<bpmn:dataStoreReference id="Flow_0yauk10" name="user preferences" />
|
||||||
|
<bpmn:dataStoreReference id="Flow_00hy6u9" name="current configuration" />
|
||||||
|
<bpmn:dataStoreReference id="Flow_0ug7unw" name="database of finished configurations" />
|
||||||
|
<bpmn:sequenceFlow id="Flow_0opaylx" sourceRef="Event_0pwno12" targetRef="Gateway_0m8yvmm" />
|
||||||
|
<bpmn:sequenceFlow id="Flow_1l6p48t" name="no" sourceRef="Gateway_0m8yvmm" targetRef="Activity_1l7kym5" />
|
||||||
|
<bpmn:sequenceFlow id="Flow_0wtv4e8" name="yes" sourceRef="Gateway_0m8yvmm" targetRef="Activity_0g26qnc" />
|
||||||
|
<bpmn:sequenceFlow id="Flow_0pmix2e" sourceRef="Activity_0g26qnc" targetRef="Gateway_0rs0dwe" />
|
||||||
|
<bpmn:sequenceFlow id="Flow_13jervv" name="no" sourceRef="Gateway_0rs0dwe" targetRef="Activity_12rqerh" />
|
||||||
|
<bpmn:sequenceFlow id="Flow_0sd24xk" name="yes" sourceRef="Gateway_0rs0dwe" targetRef="Activity_1konb1u" />
|
||||||
|
<bpmn:sequenceFlow id="Flow_1xs1aq5" sourceRef="Event_08vhdg2" targetRef="Activity_0707to6" />
|
||||||
|
<bpmn:sequenceFlow id="Flow_183a3gl" sourceRef="Activity_0707to6" targetRef="Gateway_0rs0dwe" />
|
||||||
|
<bpmn:endEvent id="EndEvent_049prfp">
|
||||||
|
<bpmn:incoming>SequenceFlow_14bjmv4</bpmn:incoming>
|
||||||
|
</bpmn:endEvent>
|
||||||
|
<bpmn:sequenceFlow id="SequenceFlow_14bjmv4" sourceRef="Activity_1konb1u" targetRef="EndEvent_049prfp" />
|
||||||
|
</bpmn:process>
|
||||||
|
<bpmndi:BPMNDiagram id="BPMNDiagram_1">
|
||||||
|
<bpmndi:BPMNPlane id="BPMNPlane_1" bpmnElement="Process_0aaqeef">
|
||||||
|
<bpmndi:BPMNEdge id="Flow_0opaylx_di" bpmnElement="Flow_0opaylx">
|
||||||
|
<di:waypoint x="198" y="210" />
|
||||||
|
<di:waypoint x="285" y="210" />
|
||||||
|
</bpmndi:BPMNEdge>
|
||||||
|
<bpmndi:BPMNEdge id="Flow_1l6p48t_di" bpmnElement="Flow_1l6p48t">
|
||||||
|
<di:waypoint x="310" y="235" />
|
||||||
|
<di:waypoint x="310" y="270" />
|
||||||
|
<bpmndi:BPMNLabel>
|
||||||
|
<dc:Bounds x="293" y="258" width="13" height="14" />
|
||||||
|
</bpmndi:BPMNLabel>
|
||||||
|
</bpmndi:BPMNEdge>
|
||||||
|
<bpmndi:BPMNEdge id="Flow_0wtv4e8_di" bpmnElement="Flow_0wtv4e8">
|
||||||
|
<di:waypoint x="335" y="210" />
|
||||||
|
<di:waypoint x="390" y="210" />
|
||||||
|
<bpmndi:BPMNLabel>
|
||||||
|
<dc:Bounds x="353" y="192" width="19" height="14" />
|
||||||
|
</bpmndi:BPMNLabel>
|
||||||
|
</bpmndi:BPMNEdge>
|
||||||
|
<bpmndi:BPMNEdge id="Flow_0pmix2e_di" bpmnElement="Flow_0pmix2e">
|
||||||
|
<di:waypoint x="490" y="210" />
|
||||||
|
<di:waypoint x="625" y="210" />
|
||||||
|
</bpmndi:BPMNEdge>
|
||||||
|
<bpmndi:BPMNEdge id="Flow_13jervv_di" bpmnElement="Flow_13jervv">
|
||||||
|
<di:waypoint x="667" y="202" />
|
||||||
|
<di:waypoint x="751" y="153" />
|
||||||
|
<bpmndi:BPMNLabel>
|
||||||
|
<dc:Bounds x="695" y="163" width="13" height="14" />
|
||||||
|
</bpmndi:BPMNLabel>
|
||||||
|
</bpmndi:BPMNEdge>
|
||||||
|
<bpmndi:BPMNEdge id="Flow_0sd24xk_di" bpmnElement="Flow_0sd24xk">
|
||||||
|
<di:waypoint x="675" y="210" />
|
||||||
|
<di:waypoint x="750" y="210" />
|
||||||
|
<bpmndi:BPMNLabel>
|
||||||
|
<dc:Bounds x="703" y="192" width="19" height="14" />
|
||||||
|
</bpmndi:BPMNLabel>
|
||||||
|
</bpmndi:BPMNEdge>
|
||||||
|
<bpmndi:BPMNEdge id="Flow_1xs1aq5_di" bpmnElement="Flow_1xs1aq5">
|
||||||
|
<di:waypoint x="558" y="310" />
|
||||||
|
<di:waypoint x="600" y="310" />
|
||||||
|
</bpmndi:BPMNEdge>
|
||||||
|
<bpmndi:BPMNEdge id="Flow_183a3gl_di" bpmnElement="Flow_183a3gl">
|
||||||
|
<di:waypoint x="650" y="270" />
|
||||||
|
<di:waypoint x="650" y="235" />
|
||||||
|
</bpmndi:BPMNEdge>
|
||||||
|
<bpmndi:BPMNShape id="Gateway_0rs0dwe_di" bpmnElement="Gateway_0rs0dwe" isMarkerVisible="true">
|
||||||
|
<dc:Bounds x="625" y="185" width="50" height="50" />
|
||||||
|
<bpmndi:BPMNLabel>
|
||||||
|
<dc:Bounds x="613" y="123" width="74" height="53" />
|
||||||
|
</bpmndi:BPMNLabel>
|
||||||
|
</bpmndi:BPMNShape>
|
||||||
|
<bpmndi:BPMNShape id="Activity_1konb1u_di" bpmnElement="Activity_1konb1u">
|
||||||
|
<dc:Bounds x="750" y="170" width="100" height="80" />
|
||||||
|
</bpmndi:BPMNShape>
|
||||||
|
<bpmndi:BPMNShape id="Activity_12rqerh_di" bpmnElement="Activity_12rqerh">
|
||||||
|
<dc:Bounds x="750" y="80" width="100" height="80" />
|
||||||
|
</bpmndi:BPMNShape>
|
||||||
|
<bpmndi:BPMNShape id="Activity_0707to6_di" bpmnElement="Activity_0707to6">
|
||||||
|
<dc:Bounds x="600" y="270" width="100" height="80" />
|
||||||
|
</bpmndi:BPMNShape>
|
||||||
|
<bpmndi:BPMNShape id="Event_0pwno12_di" bpmnElement="Event_0pwno12">
|
||||||
|
<dc:Bounds x="162" y="192" width="36" height="36" />
|
||||||
|
<bpmndi:BPMNLabel>
|
||||||
|
<dc:Bounds x="152" y="235" width="57" height="14" />
|
||||||
|
</bpmndi:BPMNLabel>
|
||||||
|
</bpmndi:BPMNShape>
|
||||||
|
<bpmndi:BPMNShape id="Gateway_1rbl3uy_di" bpmnElement="Gateway_0m8yvmm" isMarkerVisible="true">
|
||||||
|
<dc:Bounds x="285" y="185" width="50" height="50" />
|
||||||
|
<bpmndi:BPMNLabel>
|
||||||
|
<dc:Bounds x="278" y="147.5" width="63" height="27" />
|
||||||
|
</bpmndi:BPMNLabel>
|
||||||
|
</bpmndi:BPMNShape>
|
||||||
|
<bpmndi:BPMNShape id="Activity_1l7kym5_di" bpmnElement="Activity_1l7kym5">
|
||||||
|
<dc:Bounds x="260" y="270" width="100" height="80" />
|
||||||
|
</bpmndi:BPMNShape>
|
||||||
|
<bpmndi:BPMNShape id="Activity_0g26qnc_di" bpmnElement="Activity_0g26qnc">
|
||||||
|
<dc:Bounds x="390" y="170" width="100" height="80" />
|
||||||
|
</bpmndi:BPMNShape>
|
||||||
|
<bpmndi:BPMNShape id="Event_08vhdg2_di" bpmnElement="Event_08vhdg2">
|
||||||
|
<dc:Bounds x="522" y="292" width="36" height="36" />
|
||||||
|
<bpmndi:BPMNLabel>
|
||||||
|
<dc:Bounds x="511" y="254.5" width="57" height="27" />
|
||||||
|
</bpmndi:BPMNLabel>
|
||||||
|
</bpmndi:BPMNShape>
|
||||||
|
<bpmndi:BPMNShape id="Flow_0yauk10_di" bpmnElement="Flow_0yauk10">
|
||||||
|
<dc:Bounds x="725" y="285" width="50" height="50" />
|
||||||
|
<bpmndi:BPMNLabel>
|
||||||
|
<dc:Bounds x="707" y="342" width="86" height="14" />
|
||||||
|
</bpmndi:BPMNLabel>
|
||||||
|
</bpmndi:BPMNShape>
|
||||||
|
<bpmndi:BPMNShape id="Flow_00hy6u9_di" bpmnElement="Flow_00hy6u9">
|
||||||
|
<dc:Bounds x="775" y="395" width="50" height="50" />
|
||||||
|
<bpmndi:BPMNLabel>
|
||||||
|
<dc:Bounds x="768" y="452" width="64" height="27" />
|
||||||
|
</bpmndi:BPMNLabel>
|
||||||
|
</bpmndi:BPMNShape>
|
||||||
|
<bpmndi:BPMNShape id="Flow_0ug7unw_di" bpmnElement="Flow_0ug7unw">
|
||||||
|
<dc:Bounds x="829" y="285" width="50" height="50" />
|
||||||
|
<bpmndi:BPMNLabel>
|
||||||
|
<dc:Bounds x="819" y="342" width="70" height="40" />
|
||||||
|
</bpmndi:BPMNLabel>
|
||||||
|
</bpmndi:BPMNShape>
|
||||||
|
<bpmndi:BPMNEdge id="DataInputAssociation_0oxxzci_di" bpmnElement="DataInputAssociation_0oxxzci">
|
||||||
|
<di:waypoint x="840" y="285" />
|
||||||
|
<di:waypoint x="820" y="250" />
|
||||||
|
</bpmndi:BPMNEdge>
|
||||||
|
<bpmndi:BPMNEdge id="DataInputAssociation_0j2qf1y_di" bpmnElement="DataInputAssociation_0j2qf1y">
|
||||||
|
<di:waypoint x="800" y="395" />
|
||||||
|
<di:waypoint x="800" y="250" />
|
||||||
|
</bpmndi:BPMNEdge>
|
||||||
|
<bpmndi:BPMNEdge id="DataInputAssociation_052ijwq_di" bpmnElement="DataInputAssociation_052ijwq">
|
||||||
|
<di:waypoint x="763" y="285" />
|
||||||
|
<di:waypoint x="780" y="250" />
|
||||||
|
</bpmndi:BPMNEdge>
|
||||||
|
<bpmndi:BPMNEdge id="DataOutputAssociation_1yqt1l6_di" bpmnElement="DataOutputAssociation_1yqt1l6">
|
||||||
|
<di:waypoint x="700" y="310" />
|
||||||
|
<di:waypoint x="725" y="310" />
|
||||||
|
</bpmndi:BPMNEdge>
|
||||||
|
<bpmndi:BPMNEdge id="DataOutputAssociation_1cxhkzs_di" bpmnElement="DataOutputAssociation_1cxhkzs">
|
||||||
|
<di:waypoint x="440" y="250" />
|
||||||
|
<di:waypoint x="440" y="415" />
|
||||||
|
<di:waypoint x="775" y="415" />
|
||||||
|
</bpmndi:BPMNEdge>
|
||||||
|
<bpmndi:BPMNShape id="EndEvent_049prfp_di" bpmnElement="EndEvent_049prfp">
|
||||||
|
<dc:Bounds x="892" y="192" width="36" height="36" />
|
||||||
|
</bpmndi:BPMNShape>
|
||||||
|
<bpmndi:BPMNEdge id="SequenceFlow_14bjmv4_di" bpmnElement="SequenceFlow_14bjmv4">
|
||||||
|
<di:waypoint x="850" y="210" />
|
||||||
|
<di:waypoint x="892" y="210" />
|
||||||
|
</bpmndi:BPMNEdge>
|
||||||
|
</bpmndi:BPMNPlane>
|
||||||
|
</bpmndi:BPMNDiagram>
|
||||||
|
</bpmn:definitions>
|
||||||
@@ -0,0 +1,195 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<bpmn:definitions xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:bpmn="http://www.omg.org/spec/BPMN/20100524/MODEL" xmlns:bpmndi="http://www.omg.org/spec/BPMN/20100524/DI" xmlns:dc="http://www.omg.org/spec/DD/20100524/DC" xmlns:di="http://www.omg.org/spec/DD/20100524/DI" id="Definitions_0hcliey" targetNamespace="http://bpmn.io/schema/bpmn" exporter="bpmn-js (https://demo.bpmn.io)" exporterVersion="6.3.0">
|
||||||
|
<bpmn:process id="Process_0aaqeef" isExecutable="false">
|
||||||
|
<bpmn:exclusiveGateway id="Gateway_0rs0dwe" name="Have all preferences of all users been entered?">
|
||||||
|
<bpmn:incoming>Flow_0pmix2e</bpmn:incoming>
|
||||||
|
<bpmn:incoming>Flow_183a3gl</bpmn:incoming>
|
||||||
|
<bpmn:outgoing>Flow_0sd24xk</bpmn:outgoing>
|
||||||
|
<bpmn:outgoing>SequenceFlow_1ygx377</bpmn:outgoing>
|
||||||
|
</bpmn:exclusiveGateway>
|
||||||
|
<bpmn:task id="Activity_1konb1u" name="generate recommendation">
|
||||||
|
<bpmn:incoming>Flow_0sd24xk</bpmn:incoming>
|
||||||
|
<bpmn:property id="Property_03b25wa" name="__targetRef_placeholder" />
|
||||||
|
<bpmn:dataInputAssociation id="DataInputAssociation_0oxxzci">
|
||||||
|
<bpmn:sourceRef>Flow_0ug7unw</bpmn:sourceRef>
|
||||||
|
<bpmn:targetRef>Property_03b25wa</bpmn:targetRef>
|
||||||
|
</bpmn:dataInputAssociation>
|
||||||
|
<bpmn:dataInputAssociation id="DataInputAssociation_0j2qf1y">
|
||||||
|
<bpmn:sourceRef>Flow_00hy6u9</bpmn:sourceRef>
|
||||||
|
<bpmn:targetRef>Property_03b25wa</bpmn:targetRef>
|
||||||
|
</bpmn:dataInputAssociation>
|
||||||
|
<bpmn:dataInputAssociation id="DataInputAssociation_052ijwq">
|
||||||
|
<bpmn:sourceRef>Flow_0yauk10</bpmn:sourceRef>
|
||||||
|
<bpmn:targetRef>Property_03b25wa</bpmn:targetRef>
|
||||||
|
</bpmn:dataInputAssociation>
|
||||||
|
</bpmn:task>
|
||||||
|
<bpmn:task id="Activity_0707to6" name="save preferences">
|
||||||
|
<bpmn:incoming>Flow_1xs1aq5</bpmn:incoming>
|
||||||
|
<bpmn:outgoing>Flow_183a3gl</bpmn:outgoing>
|
||||||
|
<bpmn:dataOutputAssociation id="DataOutputAssociation_1yqt1l6">
|
||||||
|
<bpmn:targetRef>Flow_0yauk10</bpmn:targetRef>
|
||||||
|
</bpmn:dataOutputAssociation>
|
||||||
|
</bpmn:task>
|
||||||
|
<bpmn:startEvent id="Event_0pwno12" name="user logs in">
|
||||||
|
<bpmn:outgoing>Flow_0opaylx</bpmn:outgoing>
|
||||||
|
</bpmn:startEvent>
|
||||||
|
<bpmn:exclusiveGateway id="Gateway_0m8yvmm" name="Are all users logged in?">
|
||||||
|
<bpmn:incoming>Flow_0opaylx</bpmn:incoming>
|
||||||
|
<bpmn:outgoing>Flow_1l6p48t</bpmn:outgoing>
|
||||||
|
<bpmn:outgoing>Flow_0wtv4e8</bpmn:outgoing>
|
||||||
|
</bpmn:exclusiveGateway>
|
||||||
|
<bpmn:task id="Activity_1l7kym5" name="wait for all users">
|
||||||
|
<bpmn:incoming>Flow_1l6p48t</bpmn:incoming>
|
||||||
|
</bpmn:task>
|
||||||
|
<bpmn:task id="Activity_0g26qnc" name="select starting state of configuration">
|
||||||
|
<bpmn:incoming>Flow_0wtv4e8</bpmn:incoming>
|
||||||
|
<bpmn:outgoing>Flow_0pmix2e</bpmn:outgoing>
|
||||||
|
<bpmn:dataOutputAssociation id="DataOutputAssociation_1cxhkzs">
|
||||||
|
<bpmn:targetRef>Flow_00hy6u9</bpmn:targetRef>
|
||||||
|
</bpmn:dataOutputAssociation>
|
||||||
|
</bpmn:task>
|
||||||
|
<bpmn:intermediateThrowEvent id="Event_08vhdg2" name="user enters preference">
|
||||||
|
<bpmn:outgoing>Flow_1xs1aq5</bpmn:outgoing>
|
||||||
|
</bpmn:intermediateThrowEvent>
|
||||||
|
<bpmn:dataStoreReference id="Flow_0yauk10" name="user preferences" />
|
||||||
|
<bpmn:dataStoreReference id="Flow_00hy6u9" name="current configuration" />
|
||||||
|
<bpmn:dataStoreReference id="Flow_0ug7unw" name="database of finished configurations" />
|
||||||
|
<bpmn:sequenceFlow id="Flow_0opaylx" sourceRef="Event_0pwno12" targetRef="Gateway_0m8yvmm" />
|
||||||
|
<bpmn:sequenceFlow id="Flow_1l6p48t" name="no" sourceRef="Gateway_0m8yvmm" targetRef="Activity_1l7kym5" />
|
||||||
|
<bpmn:sequenceFlow id="Flow_0wtv4e8" name="yes" sourceRef="Gateway_0m8yvmm" targetRef="Activity_0g26qnc" />
|
||||||
|
<bpmn:sequenceFlow id="Flow_0pmix2e" sourceRef="Activity_0g26qnc" targetRef="Gateway_0rs0dwe" />
|
||||||
|
<bpmn:sequenceFlow id="Flow_0sd24xk" name="yes" sourceRef="Gateway_0rs0dwe" targetRef="Activity_1konb1u" />
|
||||||
|
<bpmn:sequenceFlow id="Flow_1xs1aq5" sourceRef="Event_08vhdg2" targetRef="Activity_0707to6" />
|
||||||
|
<bpmn:sequenceFlow id="Flow_183a3gl" sourceRef="Activity_0707to6" targetRef="Gateway_0rs0dwe" />
|
||||||
|
<bpmn:endEvent id="EndEvent_04vuhjz">
|
||||||
|
<bpmn:incoming>SequenceFlow_1ygx377</bpmn:incoming>
|
||||||
|
</bpmn:endEvent>
|
||||||
|
<bpmn:sequenceFlow id="SequenceFlow_1ygx377" name="no" sourceRef="Gateway_0rs0dwe" targetRef="EndEvent_04vuhjz" />
|
||||||
|
</bpmn:process>
|
||||||
|
<bpmndi:BPMNDiagram id="BPMNDiagram_1">
|
||||||
|
<bpmndi:BPMNPlane id="BPMNPlane_1" bpmnElement="Process_0aaqeef">
|
||||||
|
<bpmndi:BPMNEdge id="Flow_0opaylx_di" bpmnElement="Flow_0opaylx">
|
||||||
|
<di:waypoint x="338" y="210" />
|
||||||
|
<di:waypoint x="365" y="210" />
|
||||||
|
</bpmndi:BPMNEdge>
|
||||||
|
<bpmndi:BPMNEdge id="Flow_1l6p48t_di" bpmnElement="Flow_1l6p48t">
|
||||||
|
<di:waypoint x="390" y="235" />
|
||||||
|
<di:waypoint x="390" y="270" />
|
||||||
|
<bpmndi:BPMNLabel>
|
||||||
|
<dc:Bounds x="373" y="236" width="13" height="14" />
|
||||||
|
</bpmndi:BPMNLabel>
|
||||||
|
</bpmndi:BPMNEdge>
|
||||||
|
<bpmndi:BPMNEdge id="Flow_0wtv4e8_di" bpmnElement="Flow_0wtv4e8">
|
||||||
|
<di:waypoint x="415" y="210" />
|
||||||
|
<di:waypoint x="460" y="210" />
|
||||||
|
<bpmndi:BPMNLabel>
|
||||||
|
<dc:Bounds x="429" y="192" width="17" height="14" />
|
||||||
|
</bpmndi:BPMNLabel>
|
||||||
|
</bpmndi:BPMNEdge>
|
||||||
|
<bpmndi:BPMNEdge id="Flow_0pmix2e_di" bpmnElement="Flow_0pmix2e">
|
||||||
|
<di:waypoint x="560" y="210" />
|
||||||
|
<di:waypoint x="625" y="210" />
|
||||||
|
</bpmndi:BPMNEdge>
|
||||||
|
<bpmndi:BPMNEdge id="Flow_0sd24xk_di" bpmnElement="Flow_0sd24xk">
|
||||||
|
<di:waypoint x="675" y="210" />
|
||||||
|
<di:waypoint x="750" y="210" />
|
||||||
|
<bpmndi:BPMNLabel>
|
||||||
|
<dc:Bounds x="704" y="192" width="17" height="14" />
|
||||||
|
</bpmndi:BPMNLabel>
|
||||||
|
</bpmndi:BPMNEdge>
|
||||||
|
<bpmndi:BPMNEdge id="Flow_1xs1aq5_di" bpmnElement="Flow_1xs1aq5">
|
||||||
|
<di:waypoint x="578" y="310" />
|
||||||
|
<di:waypoint x="600" y="310" />
|
||||||
|
</bpmndi:BPMNEdge>
|
||||||
|
<bpmndi:BPMNEdge id="Flow_183a3gl_di" bpmnElement="Flow_183a3gl">
|
||||||
|
<di:waypoint x="650" y="270" />
|
||||||
|
<di:waypoint x="650" y="235" />
|
||||||
|
</bpmndi:BPMNEdge>
|
||||||
|
<bpmndi:BPMNShape id="Gateway_0rs0dwe_di" bpmnElement="Gateway_0rs0dwe" isMarkerVisible="true">
|
||||||
|
<dc:Bounds x="625" y="185" width="50" height="50" />
|
||||||
|
<bpmndi:BPMNLabel>
|
||||||
|
<dc:Bounds x="608" y="123" width="85" height="53" />
|
||||||
|
</bpmndi:BPMNLabel>
|
||||||
|
</bpmndi:BPMNShape>
|
||||||
|
<bpmndi:BPMNShape id="Activity_1konb1u_di" bpmnElement="Activity_1konb1u">
|
||||||
|
<dc:Bounds x="750" y="170" width="100" height="80" />
|
||||||
|
</bpmndi:BPMNShape>
|
||||||
|
<bpmndi:BPMNShape id="Activity_0707to6_di" bpmnElement="Activity_0707to6">
|
||||||
|
<dc:Bounds x="600" y="270" width="100" height="80" />
|
||||||
|
</bpmndi:BPMNShape>
|
||||||
|
<bpmndi:BPMNShape id="Event_0pwno12_di" bpmnElement="Event_0pwno12">
|
||||||
|
<dc:Bounds x="302" y="192" width="36" height="36" />
|
||||||
|
<bpmndi:BPMNLabel>
|
||||||
|
<dc:Bounds x="292" y="235" width="57" height="14" />
|
||||||
|
</bpmndi:BPMNLabel>
|
||||||
|
</bpmndi:BPMNShape>
|
||||||
|
<bpmndi:BPMNShape id="Gateway_1rbl3uy_di" bpmnElement="Gateway_0m8yvmm" isMarkerVisible="true">
|
||||||
|
<dc:Bounds x="365" y="185" width="50" height="50" />
|
||||||
|
<bpmndi:BPMNLabel>
|
||||||
|
<dc:Bounds x="359" y="148" width="61" height="27" />
|
||||||
|
</bpmndi:BPMNLabel>
|
||||||
|
</bpmndi:BPMNShape>
|
||||||
|
<bpmndi:BPMNShape id="Activity_1l7kym5_di" bpmnElement="Activity_1l7kym5">
|
||||||
|
<dc:Bounds x="340" y="270" width="100" height="80" />
|
||||||
|
</bpmndi:BPMNShape>
|
||||||
|
<bpmndi:BPMNShape id="Activity_0g26qnc_di" bpmnElement="Activity_0g26qnc">
|
||||||
|
<dc:Bounds x="460" y="170" width="100" height="80" />
|
||||||
|
</bpmndi:BPMNShape>
|
||||||
|
<bpmndi:BPMNShape id="Event_08vhdg2_di" bpmnElement="Event_08vhdg2">
|
||||||
|
<dc:Bounds x="542" y="292" width="36" height="36" />
|
||||||
|
<bpmndi:BPMNLabel>
|
||||||
|
<dc:Bounds x="532" y="335" width="56" height="27" />
|
||||||
|
</bpmndi:BPMNLabel>
|
||||||
|
</bpmndi:BPMNShape>
|
||||||
|
<bpmndi:BPMNShape id="Flow_0yauk10_di" bpmnElement="Flow_0yauk10">
|
||||||
|
<dc:Bounds x="725" y="285" width="50" height="50" />
|
||||||
|
<bpmndi:BPMNLabel>
|
||||||
|
<dc:Bounds x="707" y="342" width="86" height="14" />
|
||||||
|
</bpmndi:BPMNLabel>
|
||||||
|
</bpmndi:BPMNShape>
|
||||||
|
<bpmndi:BPMNShape id="Flow_00hy6u9_di" bpmnElement="Flow_00hy6u9">
|
||||||
|
<dc:Bounds x="775" y="395" width="50" height="50" />
|
||||||
|
<bpmndi:BPMNLabel>
|
||||||
|
<dc:Bounds x="768" y="452" width="64" height="27" />
|
||||||
|
</bpmndi:BPMNLabel>
|
||||||
|
</bpmndi:BPMNShape>
|
||||||
|
<bpmndi:BPMNShape id="Flow_0ug7unw_di" bpmnElement="Flow_0ug7unw">
|
||||||
|
<dc:Bounds x="829" y="285" width="50" height="50" />
|
||||||
|
<bpmndi:BPMNLabel>
|
||||||
|
<dc:Bounds x="819" y="342" width="70" height="40" />
|
||||||
|
</bpmndi:BPMNLabel>
|
||||||
|
</bpmndi:BPMNShape>
|
||||||
|
<bpmndi:BPMNEdge id="DataInputAssociation_0oxxzci_di" bpmnElement="DataInputAssociation_0oxxzci">
|
||||||
|
<di:waypoint x="840" y="285" />
|
||||||
|
<di:waypoint x="820" y="250" />
|
||||||
|
</bpmndi:BPMNEdge>
|
||||||
|
<bpmndi:BPMNEdge id="DataInputAssociation_0j2qf1y_di" bpmnElement="DataInputAssociation_0j2qf1y">
|
||||||
|
<di:waypoint x="800" y="395" />
|
||||||
|
<di:waypoint x="800" y="250" />
|
||||||
|
</bpmndi:BPMNEdge>
|
||||||
|
<bpmndi:BPMNEdge id="DataInputAssociation_052ijwq_di" bpmnElement="DataInputAssociation_052ijwq">
|
||||||
|
<di:waypoint x="763" y="285" />
|
||||||
|
<di:waypoint x="780" y="250" />
|
||||||
|
</bpmndi:BPMNEdge>
|
||||||
|
<bpmndi:BPMNEdge id="DataOutputAssociation_1yqt1l6_di" bpmnElement="DataOutputAssociation_1yqt1l6">
|
||||||
|
<di:waypoint x="700" y="310" />
|
||||||
|
<di:waypoint x="725" y="310" />
|
||||||
|
</bpmndi:BPMNEdge>
|
||||||
|
<bpmndi:BPMNEdge id="DataOutputAssociation_1cxhkzs_di" bpmnElement="DataOutputAssociation_1cxhkzs">
|
||||||
|
<di:waypoint x="510" y="250" />
|
||||||
|
<di:waypoint x="510" y="415" />
|
||||||
|
<di:waypoint x="775" y="415" />
|
||||||
|
</bpmndi:BPMNEdge>
|
||||||
|
<bpmndi:BPMNShape id="EndEvent_04vuhjz_di" bpmnElement="EndEvent_04vuhjz">
|
||||||
|
<dc:Bounds x="762" y="112" width="36" height="36" />
|
||||||
|
</bpmndi:BPMNShape>
|
||||||
|
<bpmndi:BPMNEdge id="SequenceFlow_1ygx377_di" bpmnElement="SequenceFlow_1ygx377">
|
||||||
|
<di:waypoint x="666" y="201" />
|
||||||
|
<di:waypoint x="765" y="140" />
|
||||||
|
<bpmndi:BPMNLabel>
|
||||||
|
<dc:Bounds x="709" y="154" width="13" height="14" />
|
||||||
|
</bpmndi:BPMNLabel>
|
||||||
|
</bpmndi:BPMNEdge>
|
||||||
|
</bpmndi:BPMNPlane>
|
||||||
|
</bpmndi:BPMNDiagram>
|
||||||
|
</bpmn:definitions>
|
||||||
143
Additional_Notes/bpmn/generating_evaluation_input.bpmn
Normal file
143
Additional_Notes/bpmn/generating_evaluation_input.bpmn
Normal file
@@ -0,0 +1,143 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<bpmn:definitions xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:bpmn="http://www.omg.org/spec/BPMN/20100524/MODEL" xmlns:bpmndi="http://www.omg.org/spec/BPMN/20100524/DI" xmlns:dc="http://www.omg.org/spec/DD/20100524/DC" xmlns:di="http://www.omg.org/spec/DD/20100524/DI" id="Definitions_17iqhxr" targetNamespace="http://bpmn.io/schema/bpmn" exporter="bpmn-js (https://demo.bpmn.io)" exporterVersion="6.3.0">
|
||||||
|
<bpmn:process id="Process_0lzf9jk" isExecutable="false">
|
||||||
|
<bpmn:sequenceFlow id="Flow_18mvlx8" sourceRef="Activity_1tcgmr4" targetRef="Event_17s8nnq" />
|
||||||
|
<bpmn:sequenceFlow id="Flow_0b8m6wa" sourceRef="Activity_0wp44i7" targetRef="Activity_1tcgmr4" />
|
||||||
|
<bpmn:sequenceFlow id="Flow_0y9052u" sourceRef="Activity_0xj4ejn" targetRef="Activity_0wp44i7" />
|
||||||
|
<bpmn:sequenceFlow id="Flow_0gdv3ul" sourceRef="Event_0d8jvwa" targetRef="Activity_0xj4ejn" />
|
||||||
|
<bpmn:endEvent id="Event_17s8nnq">
|
||||||
|
<bpmn:incoming>Flow_18mvlx8</bpmn:incoming>
|
||||||
|
</bpmn:endEvent>
|
||||||
|
<bpmn:startEvent id="Event_0d8jvwa">
|
||||||
|
<bpmn:outgoing>Flow_0gdv3ul</bpmn:outgoing>
|
||||||
|
</bpmn:startEvent>
|
||||||
|
<bpmn:task id="Activity_1tcgmr4" name="Save">
|
||||||
|
<bpmn:incoming>Flow_0b8m6wa</bpmn:incoming>
|
||||||
|
<bpmn:outgoing>Flow_18mvlx8</bpmn:outgoing>
|
||||||
|
<bpmn:property id="Property_1fza8iw" name="__targetRef_placeholder" />
|
||||||
|
<bpmn:dataInputAssociation id="DataInputAssociation_0syollx">
|
||||||
|
<bpmn:sourceRef>Flow_1jss46c</bpmn:sourceRef>
|
||||||
|
<bpmn:targetRef>Property_1fza8iw</bpmn:targetRef>
|
||||||
|
</bpmn:dataInputAssociation>
|
||||||
|
</bpmn:task>
|
||||||
|
<bpmn:dataObjectReference id="Flow_1jss46c" name="Configuration State and Preferences" dataObjectRef="Flow_1be451b" />
|
||||||
|
<bpmn:dataObject id="Flow_1be451b" />
|
||||||
|
<bpmn:dataStoreReference id="Flow_0vog5x8" name="Finished Configuration Database" />
|
||||||
|
<bpmn:task id="Activity_0wp44i7" name="Generate Preference, Configuration Pairs">
|
||||||
|
<bpmn:incoming>Flow_0y9052u</bpmn:incoming>
|
||||||
|
<bpmn:outgoing>Flow_0b8m6wa</bpmn:outgoing>
|
||||||
|
<bpmn:property id="Property_0bni9in" name="__targetRef_placeholder" />
|
||||||
|
<bpmn:dataInputAssociation id="DataInputAssociation_1as2fpu">
|
||||||
|
<bpmn:sourceRef>Flow_1gbqvo5</bpmn:sourceRef>
|
||||||
|
<bpmn:targetRef>Property_0bni9in</bpmn:targetRef>
|
||||||
|
</bpmn:dataInputAssociation>
|
||||||
|
<bpmn:dataInputAssociation id="DataInputAssociation_197tuqn">
|
||||||
|
<bpmn:sourceRef>Flow_0dc8ucf</bpmn:sourceRef>
|
||||||
|
<bpmn:targetRef>Property_0bni9in</bpmn:targetRef>
|
||||||
|
</bpmn:dataInputAssociation>
|
||||||
|
<bpmn:dataOutputAssociation id="DataOutputAssociation_14x0clz">
|
||||||
|
<bpmn:targetRef>Flow_1jss46c</bpmn:targetRef>
|
||||||
|
</bpmn:dataOutputAssociation>
|
||||||
|
</bpmn:task>
|
||||||
|
<bpmn:dataObjectReference id="Flow_1gbqvo5" name="Partial Configurations" dataObjectRef="Flow_1cu24j2" />
|
||||||
|
<bpmn:dataObject id="Flow_1cu24j2" />
|
||||||
|
<bpmn:dataObjectReference id="Flow_0dc8ucf" name="Group Types" dataObjectRef="Flow_0majyqj" />
|
||||||
|
<bpmn:dataObject id="Flow_0majyqj" />
|
||||||
|
<bpmn:task id="Activity_0xj4ejn" name="Generate Partial Configuration">
|
||||||
|
<bpmn:incoming>Flow_0gdv3ul</bpmn:incoming>
|
||||||
|
<bpmn:outgoing>Flow_0y9052u</bpmn:outgoing>
|
||||||
|
<bpmn:property id="Property_0g89kuk" name="__targetRef_placeholder" />
|
||||||
|
<bpmn:dataInputAssociation id="DataInputAssociation_1lr92f2">
|
||||||
|
<bpmn:sourceRef>Flow_0vog5x8</bpmn:sourceRef>
|
||||||
|
<bpmn:targetRef>Property_0g89kuk</bpmn:targetRef>
|
||||||
|
</bpmn:dataInputAssociation>
|
||||||
|
<bpmn:dataOutputAssociation id="DataOutputAssociation_14oxqhj">
|
||||||
|
<bpmn:targetRef>Flow_1gbqvo5</bpmn:targetRef>
|
||||||
|
</bpmn:dataOutputAssociation>
|
||||||
|
</bpmn:task>
|
||||||
|
</bpmn:process>
|
||||||
|
<bpmndi:BPMNDiagram id="BPMNDiagram_1">
|
||||||
|
<bpmndi:BPMNPlane id="BPMNPlane_1" bpmnElement="Process_0lzf9jk">
|
||||||
|
<bpmndi:BPMNShape id="Activity_0xj4ejn_di" bpmnElement="Activity_0xj4ejn">
|
||||||
|
<dc:Bounds x="230" y="220" width="100" height="80" />
|
||||||
|
</bpmndi:BPMNShape>
|
||||||
|
<bpmndi:BPMNShape id="Flow_0dc8ucf_di" bpmnElement="Flow_0dc8ucf">
|
||||||
|
<dc:Bounds x="412" y="95" width="36" height="50" />
|
||||||
|
<bpmndi:BPMNLabel>
|
||||||
|
<dc:Bounds x="399" y="152" width="63" height="14" />
|
||||||
|
</bpmndi:BPMNLabel>
|
||||||
|
</bpmndi:BPMNShape>
|
||||||
|
<bpmndi:BPMNShape id="Flow_1gbqvo5_di" bpmnElement="Flow_1gbqvo5">
|
||||||
|
<dc:Bounds x="412" y="230" width="36" height="50" />
|
||||||
|
<bpmndi:BPMNLabel>
|
||||||
|
<dc:Bounds x="396" y="287" width="71" height="27" />
|
||||||
|
</bpmndi:BPMNLabel>
|
||||||
|
</bpmndi:BPMNShape>
|
||||||
|
<bpmndi:BPMNShape id="Activity_0wp44i7_di" bpmnElement="Activity_0wp44i7">
|
||||||
|
<dc:Bounds x="540" y="150" width="100" height="80" />
|
||||||
|
</bpmndi:BPMNShape>
|
||||||
|
<bpmndi:BPMNShape id="Flow_0vog5x8_di" bpmnElement="Flow_0vog5x8">
|
||||||
|
<dc:Bounds x="255" y="345" width="50" height="50" />
|
||||||
|
<bpmndi:BPMNLabel>
|
||||||
|
<dc:Bounds x="248" y="402" width="65" height="40" />
|
||||||
|
</bpmndi:BPMNLabel>
|
||||||
|
</bpmndi:BPMNShape>
|
||||||
|
<bpmndi:BPMNEdge id="DataInputAssociation_1lr92f2_di" bpmnElement="DataInputAssociation_1lr92f2">
|
||||||
|
<di:waypoint x="280" y="345" />
|
||||||
|
<di:waypoint x="280" y="300" />
|
||||||
|
</bpmndi:BPMNEdge>
|
||||||
|
<bpmndi:BPMNEdge id="DataOutputAssociation_14oxqhj_di" bpmnElement="DataOutputAssociation_14oxqhj">
|
||||||
|
<di:waypoint x="330" y="260" />
|
||||||
|
<di:waypoint x="412" y="260" />
|
||||||
|
</bpmndi:BPMNEdge>
|
||||||
|
<bpmndi:BPMNEdge id="DataInputAssociation_1as2fpu_di" bpmnElement="DataInputAssociation_1as2fpu">
|
||||||
|
<di:waypoint x="448" y="246" />
|
||||||
|
<di:waypoint x="540" y="200" />
|
||||||
|
</bpmndi:BPMNEdge>
|
||||||
|
<bpmndi:BPMNEdge id="DataInputAssociation_197tuqn_di" bpmnElement="DataInputAssociation_197tuqn">
|
||||||
|
<di:waypoint x="448" y="128" />
|
||||||
|
<di:waypoint x="540" y="168" />
|
||||||
|
</bpmndi:BPMNEdge>
|
||||||
|
<bpmndi:BPMNShape id="Flow_1jss46c_di" bpmnElement="Flow_1jss46c">
|
||||||
|
<dc:Bounds x="582" y="275" width="36" height="50" />
|
||||||
|
<bpmndi:BPMNLabel>
|
||||||
|
<dc:Bounds x="568" y="332" width="65" height="40" />
|
||||||
|
</bpmndi:BPMNLabel>
|
||||||
|
</bpmndi:BPMNShape>
|
||||||
|
<bpmndi:BPMNShape id="Activity_1tcgmr4_di" bpmnElement="Activity_1tcgmr4">
|
||||||
|
<dc:Bounds x="700" y="150" width="100" height="80" />
|
||||||
|
</bpmndi:BPMNShape>
|
||||||
|
<bpmndi:BPMNEdge id="Flow_0b8m6wa_di" bpmnElement="Flow_0b8m6wa">
|
||||||
|
<di:waypoint x="640" y="190" />
|
||||||
|
<di:waypoint x="700" y="190" />
|
||||||
|
</bpmndi:BPMNEdge>
|
||||||
|
<bpmndi:BPMNEdge id="DataOutputAssociation_14x0clz_di" bpmnElement="DataOutputAssociation_14x0clz">
|
||||||
|
<di:waypoint x="593" y="230" />
|
||||||
|
<di:waypoint x="596" y="275" />
|
||||||
|
</bpmndi:BPMNEdge>
|
||||||
|
<bpmndi:BPMNEdge id="DataInputAssociation_0syollx_di" bpmnElement="DataInputAssociation_0syollx">
|
||||||
|
<di:waypoint x="618" y="289" />
|
||||||
|
<di:waypoint x="717" y="230" />
|
||||||
|
</bpmndi:BPMNEdge>
|
||||||
|
<bpmndi:BPMNEdge id="Flow_0y9052u_di" bpmnElement="Flow_0y9052u">
|
||||||
|
<di:waypoint x="280" y="220" />
|
||||||
|
<di:waypoint x="280" y="190" />
|
||||||
|
<di:waypoint x="540" y="190" />
|
||||||
|
</bpmndi:BPMNEdge>
|
||||||
|
<bpmndi:BPMNShape id="Event_0d8jvwa_di" bpmnElement="Event_0d8jvwa">
|
||||||
|
<dc:Bounds x="152" y="242" width="36" height="36" />
|
||||||
|
</bpmndi:BPMNShape>
|
||||||
|
<bpmndi:BPMNEdge id="Flow_0gdv3ul_di" bpmnElement="Flow_0gdv3ul">
|
||||||
|
<di:waypoint x="188" y="260" />
|
||||||
|
<di:waypoint x="230" y="260" />
|
||||||
|
</bpmndi:BPMNEdge>
|
||||||
|
<bpmndi:BPMNShape id="Event_17s8nnq_di" bpmnElement="Event_17s8nnq">
|
||||||
|
<dc:Bounds x="732" y="82" width="36" height="36" />
|
||||||
|
</bpmndi:BPMNShape>
|
||||||
|
<bpmndi:BPMNEdge id="Flow_18mvlx8_di" bpmnElement="Flow_18mvlx8">
|
||||||
|
<di:waypoint x="750" y="150" />
|
||||||
|
<di:waypoint x="750" y="118" />
|
||||||
|
</bpmndi:BPMNEdge>
|
||||||
|
</bpmndi:BPMNPlane>
|
||||||
|
</bpmndi:BPMNDiagram>
|
||||||
|
</bpmn:definitions>
|
||||||
23
Additional_Notes/uml/activity_diagram_recommender.plantuml
Normal file
23
Additional_Notes/uml/activity_diagram_recommender.plantuml
Normal file
@@ -0,0 +1,23 @@
|
|||||||
|
@startuml
|
||||||
|
|
||||||
|
|
||||||
|
skinparam activity {
|
||||||
|
BarColor Black
|
||||||
|
BackgroundColor White
|
||||||
|
BorderColor Black
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
(*) --> "Using MAUT create partial configuration based on preferences"
|
||||||
|
--> validate and repair configuration
|
||||||
|
--> "save in db"
|
||||||
|
|
||||||
|
if "has better configruation in db" then
|
||||||
|
-->"use best in db"
|
||||||
|
--> (*)
|
||||||
|
else
|
||||||
|
--> "use generated"
|
||||||
|
--> (*)
|
||||||
|
endif
|
||||||
|
|
||||||
|
@enduml
|
||||||
248
Additional_Notes/uml/class_diagram.plantuml
Normal file
248
Additional_Notes/uml/class_diagram.plantuml
Normal file
@@ -0,0 +1,248 @@
|
|||||||
|
@startuml
|
||||||
|
|
||||||
|
skinparam class {
|
||||||
|
BackgroundColor White
|
||||||
|
ArrowColor Grey
|
||||||
|
BorderColor Black
|
||||||
|
}
|
||||||
|
skinparam shadowing false
|
||||||
|
|
||||||
|
package API {
|
||||||
|
class ConfigurationAPI {
|
||||||
|
+ get() : JSON
|
||||||
|
+ post(configuration : JSON) : JSON
|
||||||
|
}
|
||||||
|
class RecommenderAPI {
|
||||||
|
+ post(preferences : JSON, configuration : JSON) : JSON
|
||||||
|
}
|
||||||
|
class ProductStructureAPI {
|
||||||
|
+ put(productStructure : JSON) : JSON
|
||||||
|
+ get() : JSON
|
||||||
|
}
|
||||||
|
}
|
||||||
|
"/config/" ()-- ConfigurationAPI
|
||||||
|
"/recommender/" ()-- RecommenderAPI
|
||||||
|
"/product_structure/" ()-- ProductStructureAPI
|
||||||
|
|
||||||
|
package Manager {
|
||||||
|
class RecommendationManager {
|
||||||
|
+ getRecommentdation(strategy : String, preferences : Preferences, current_configuration : Configuration) : Configuration
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
package Model{
|
||||||
|
package ConfigurationModel {
|
||||||
|
class Configuration {
|
||||||
|
configuration : List<String>
|
||||||
|
}
|
||||||
|
class ConfigurationVariable {
|
||||||
|
|
||||||
|
}
|
||||||
|
Configuration *-- ConfigurationVariable : variables
|
||||||
|
}
|
||||||
|
package PreferenceModel {
|
||||||
|
class Preferences {
|
||||||
|
+ getAllUserPreferences() : List<UserPreferences>
|
||||||
|
+ getAllRatingsByCode(code : String) : List<Ratings>
|
||||||
|
+ getRatingValue(code : String, user : String) : float
|
||||||
|
}
|
||||||
|
class UserPreference {
|
||||||
|
user : String
|
||||||
|
+ getAllRatings() : List<Rating>
|
||||||
|
}
|
||||||
|
class Rating {
|
||||||
|
code : String
|
||||||
|
value : float
|
||||||
|
}
|
||||||
|
Preferences *-- UserPreference : preferences
|
||||||
|
UserPreference *-- Rating : ratings
|
||||||
|
}
|
||||||
|
|
||||||
|
package ProductStructure {
|
||||||
|
class ProductStructureModel {
|
||||||
|
+ get_list_of_features(self) : List<ProductStructureElementModel>
|
||||||
|
+ get_list_of_characteristics(self) : List<ProductStructureElementModel>
|
||||||
|
+ isCharacteristic(code:String) : bool
|
||||||
|
}
|
||||||
|
class ProductStructureElementModel {
|
||||||
|
elementId : String
|
||||||
|
name : String
|
||||||
|
}
|
||||||
|
enum ProductStructureTypeEnum {
|
||||||
|
CHARACTERISTIC
|
||||||
|
FEATURE
|
||||||
|
CLUSTER
|
||||||
|
VARIABLE
|
||||||
|
}
|
||||||
|
|
||||||
|
ProductStructureModel *-- ProductStructureElementModel
|
||||||
|
ProductStructureElementModel <-- ProductStructureElementModel:children
|
||||||
|
ProductStructureElementModel --> ProductStructureTypeEnum:type
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
package DAO {
|
||||||
|
class ConfigurationDAO {
|
||||||
|
- {static} instance : ConfigurationDAO
|
||||||
|
+ {static} getInstance() : ConfigurationDAO
|
||||||
|
+ getAll_as_objects() : List<Configuration>
|
||||||
|
+ getAll() : JSON
|
||||||
|
+ add(config : JSON)
|
||||||
|
+ exists(config : JSON) : bool
|
||||||
|
}
|
||||||
|
class ProductStructureDAO {
|
||||||
|
- {static} instance : ProductStructureDAO
|
||||||
|
+ {static} getInstance() : ProductStructureDAO
|
||||||
|
+ get_as_objects() : ProductStructureModel
|
||||||
|
+ get() : JSON
|
||||||
|
+ replace(structure : JSON)
|
||||||
|
- get_highest_id() : Integer
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
package Scoring {
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
package List {
|
||||||
|
class ListFunction
|
||||||
|
class ListToListFunction
|
||||||
|
class ListToValueFunction
|
||||||
|
class Average
|
||||||
|
class Product
|
||||||
|
class ForEachValue
|
||||||
|
}
|
||||||
|
|
||||||
|
package Value {
|
||||||
|
class ValueToValueFunction
|
||||||
|
class Threshold
|
||||||
|
}
|
||||||
|
|
||||||
|
package RatingConverter {
|
||||||
|
class PreferenceToListFunction
|
||||||
|
class FlatToListConverter
|
||||||
|
class PerUserToListConverter
|
||||||
|
class PerFeatureToListConverter
|
||||||
|
}
|
||||||
|
class ScoringFunction {
|
||||||
|
+ calc_score(currentConfiguration : Configuration, preferences : Preferences, toRate : ConfigurationModel) : float
|
||||||
|
}
|
||||||
|
class ScoringFunctionFactory{
|
||||||
|
+ build_scoring_function(params : List<String>) : ScoringFunction
|
||||||
|
}
|
||||||
|
ScoringFunctionFactory --> ScoringFunction : builds
|
||||||
|
|
||||||
|
|
||||||
|
PreferenceScoringFunction --> "1" PreferenceToListFunction : preferenceToListFunction
|
||||||
|
PreferenceScoringFunction --> "0..*" ListToListFunction : listToListFunctions
|
||||||
|
PreferenceScoringFunction --> "1" ListToValueFunction : listToValueFunction
|
||||||
|
PreferenceScoringFunction --> "0..*" ValueToValueFunction : valueToValues
|
||||||
|
|
||||||
|
ScoringFunction <|-- PreferenceScoringFunction
|
||||||
|
class PreferenceScoringFunction{
|
||||||
|
+ calc_score(currentConfiguration : Configuration, preferences : Preferences, toRate : ConfigurationModel) : float
|
||||||
|
}
|
||||||
|
ScoringFunction <|-- ConfigurationPenealty
|
||||||
|
abstract class ConfigurationPenealty{
|
||||||
|
+ ConfigurationPenealty(product_Structure : ProductStructure)
|
||||||
|
}
|
||||||
|
ConfigurationPenealty <|-- RatioConfigurationPenalty
|
||||||
|
class RatioConfigurationPenalty {
|
||||||
|
+ calc_score(currentConfiguration : Configuration, preferences : Preferences, toRate : ConfigurationModel) : float
|
||||||
|
}
|
||||||
|
ConfigurationPenealty <|-- PreferenceWeightedConfigurationPenalty
|
||||||
|
ListToValueFunction --* "1" PreferenceWeightedConfigurationPenalty
|
||||||
|
class PreferenceWeightedConfigurationPenalty {
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
ScoringFunction <|-- ReduceScoringFunction
|
||||||
|
ReduceScoringFunction *-- "2..*" ScoringFunction
|
||||||
|
class ReduceScoringFunction{
|
||||||
|
reduce_operator : Operator
|
||||||
|
+ ReduceScoringFunction(scoringFunctions : List<ScoringFunction>, reduceOperator : Operator)
|
||||||
|
+ calc_score(currentConfiguration : Configuration, preferences : Preferences, toRate : ConfigurationModel) : float
|
||||||
|
}
|
||||||
|
|
||||||
|
interface PreferenceToListFunction {
|
||||||
|
+ convertToList(preferences : Preferences, toRate : Configuration) : List<float>:
|
||||||
|
}
|
||||||
|
|
||||||
|
PreferenceToListFunction <|-- PerFeatureToListConverter
|
||||||
|
PerFeatureToListConverter --> ListToValueFunction :uses
|
||||||
|
class PerFeatureToListConverter {
|
||||||
|
+ PerFeatureToListConverter(listToValueFunction : ListToValueFunction)
|
||||||
|
+ convertToList(preferences : Preferences, toRate : Configuration) : List<float>:
|
||||||
|
}
|
||||||
|
PreferenceToListFunction <|-- PerUserToListConverter
|
||||||
|
PerUserToListConverter --> ListToValueFunction :uses
|
||||||
|
class PerUserToListConverter {
|
||||||
|
+ PerUserToListConverter(listToValueFunction : ListToValueFunction)
|
||||||
|
+ convertToList(preferences : Preferences, toRate : Configuration) : List<float>:
|
||||||
|
}
|
||||||
|
PreferenceToListFunction <|-- FlatToListConverter
|
||||||
|
class FlatToListConverter {
|
||||||
|
+ convertToList(preferences : Preferences, toRate : Configuration) : List<float>:
|
||||||
|
}
|
||||||
|
|
||||||
|
interface ListFunction {
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
ListFunction <|-- ListToListFunction
|
||||||
|
abstract class ListToListFunction {
|
||||||
|
+ {abstract} applyToList(list : List[float]) : List[float]
|
||||||
|
}
|
||||||
|
|
||||||
|
ListToListFunction <|-- ForEachValue
|
||||||
|
ForEachValue --> ValueToValueFunction:uses
|
||||||
|
class ForEachValue {
|
||||||
|
+ FoEachValue(valueFunction : ValueToValueFunction)
|
||||||
|
+ applyToList(list : List[float]) : List[float]
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
ListFunction <|-- ListToValueFunction
|
||||||
|
abstract class ListToValueFunction {
|
||||||
|
+ {abstract} convertToFloat(list : List<float>) : float
|
||||||
|
}
|
||||||
|
|
||||||
|
ListToValueFunction <|-- Average
|
||||||
|
class Average {
|
||||||
|
+ convertToFloat(list : List<float>) : float
|
||||||
|
}
|
||||||
|
ListToValueFunction <|-- Product
|
||||||
|
class Product {
|
||||||
|
+ convertToFloat(list : List<float>) : float
|
||||||
|
}
|
||||||
|
|
||||||
|
interface ValueToValueFunction{
|
||||||
|
+ applyToValue(value : float) : float
|
||||||
|
}
|
||||||
|
|
||||||
|
ValueToValueFunction <|-- Threshold
|
||||||
|
class Threshold {
|
||||||
|
- threshold : float
|
||||||
|
+ Threshold(threshold : float)
|
||||||
|
+ applyToValue(value : float) : float
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
RecommendationManager *-- ScoringFunction
|
||||||
|
|
||||||
|
ConfigurationAPI --> ConfigurationDAO
|
||||||
|
ProductStructureAPI --> ProductStructureDAO
|
||||||
|
RecommenderAPI --> RecommendationManager
|
||||||
|
|
||||||
|
RecommendationManager --> ProductStructureDAO
|
||||||
|
RecommendationManager --> ConfigurationDAO
|
||||||
|
RecommendationManager --> ScoringFunctionFactory :uses
|
||||||
|
|
||||||
|
|
||||||
|
ConfigurationDAO --> Configuration
|
||||||
|
ProductStructureDAO --> ProductStructureModel
|
||||||
|
|
||||||
|
Scoring --> Model
|
||||||
|
|
||||||
|
|
||||||
|
@enduml
|
||||||
38
Additional_Notes/uml/sequence_diagram_preference.plantuml
Normal file
38
Additional_Notes/uml/sequence_diagram_preference.plantuml
Normal file
@@ -0,0 +1,38 @@
|
|||||||
|
@startuml
|
||||||
|
skinparam monochrome true
|
||||||
|
skinparam SequenceBoxBackgroundColor #ffffff
|
||||||
|
skinparam ParticipantPadding 5
|
||||||
|
skinparam shadowing false
|
||||||
|
hide footbox
|
||||||
|
|
||||||
|
title Preferences
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
activate M.Customer
|
||||||
|
|
||||||
|
|
||||||
|
M.Customer -> M.Collab: like/dislike
|
||||||
|
note left
|
||||||
|
{
|
||||||
|
"type": "like"|"dislike",
|
||||||
|
"data": //String//
|
||||||
|
}
|
||||||
|
end note
|
||||||
|
activate M.Collab
|
||||||
|
|
||||||
|
M.Collab -> M.Collab : update preferences
|
||||||
|
|
||||||
|
M.Customer <- M.Collab: updated preference state
|
||||||
|
deactivate M.Collab
|
||||||
|
note right
|
||||||
|
{
|
||||||
|
"type": "preferenceUpdate",
|
||||||
|
"data": {
|
||||||
|
"likes": //Array<String>//,
|
||||||
|
"dislikes": //Array<String>//
|
||||||
|
}
|
||||||
|
}
|
||||||
|
end note
|
||||||
|
|
||||||
|
@enduml
|
||||||
Reference in New Issue
Block a user