Somekind of a diagram, still unfinished, but I'm too tired now ...
%!PS-Adobe-3.0 EPSF-3.0
%%Creator: Graphviz version 2.20.2 (Sun Oct 12 21:27:53 UTC 2008)
%%For: (saiam) Atle Kivela,,,
%%Title: G
%%Pages: (atend)
%%BoundingBox: (atend)
%%EndComments
save
%%BeginProlog
/DotDict 200 dict def
DotDict begin
/setupLatin1 {
mark
/EncodingVector 256 array def
EncodingVector 0
ISOLatin1Encoding 0 255 getinterval putinterval
EncodingVector 45 /hyphen put
% Set up ISO Latin 1 character encoding
/starnetISO {
dup dup findfont dup length dict begin
{ 1 index /FID ne { def }{ pop pop } ifelse
} forall
/Encoding EncodingVector def
currentdict end definefont
} def
/Times-Roman starnetISO def
/Times-Italic starnetISO def
/Times-Bold starnetISO def
/Times-BoldItalic starnetISO def
/Helvetica starnetISO def
/Helvetica-Oblique starnetISO def
/Helvetica-Bold starnetISO def
/Helvetica-BoldOblique starnetISO def
/Courier starnetISO def
/Courier-Oblique starnetISO def
/Courier-Bold starnetISO def
/Courier-BoldOblique starnetISO def
cleartomark
} bind def
%%BeginResource: procset graphviz 0 0
/coord-font-family /Times-Roman def
/default-font-family /Times-Roman def
/coordfont coord-font-family findfont 8 scalefont def
/InvScaleFactor 1.0 def
/set_scale {
dup 1 exch div /InvScaleFactor exch def
scale
} bind def
% styles
/solid { [] 0 setdash } bind def
/dashed { [9 InvScaleFactor mul dup ] 0 setdash } bind def
/dotted { [1 InvScaleFactor mul 6 InvScaleFactor mul] 0 setdash } bind def
/invis {/fill {newpath} def /stroke {newpath} def /show {pop newpath} def} bind def
/bold { 2 setlinewidth } bind def
/filled { } bind def
/unfilled { } bind def
/rounded { } bind def
/diagonals { } bind def
% hooks for setting color
/nodecolor { sethsbcolor } bind def
/edgecolor { sethsbcolor } bind def
/graphcolor { sethsbcolor } bind def
/nopcolor {pop pop pop} bind def
/beginpage { % i j npages
/npages exch def
/j exch def
/i exch def
/str 10 string def
npages 1 gt {
gsave
coordfont setfont
0 0 moveto
(\() show i str cvs show (,) show j str cvs show (\)) show
grestore
} if
} bind def
/set_font {
findfont exch
scalefont setfont
} def
% draw text fitted to its expected width
/alignedtext { % width text
/text exch def
/width exch def
gsave
width 0 gt {
[] 0 setdash
text stringwidth pop width exch sub text length div 0 text ashow
} if
grestore
} def
/boxprim { % xcorner ycorner xsize ysize
4 2 roll
moveto
2 copy
exch 0 rlineto
0 exch rlineto
pop neg 0 rlineto
closepath
} bind def
/ellipse_path {
/ry exch def
/rx exch def
/y exch def
/x exch def
matrix currentmatrix
newpath
x y translate
rx ry scale
0 0 1 0 360 arc
setmatrix
} bind def
/endpage { showpage } bind def
/showpage { } def
/layercolorseq
[ % layer color sequence - darkest to lightest
[0 0 0]
[.2 .8 .8]
[.4 .8 .8]
[.6 .8 .8]
[.8 .8 .8]
]
def
/layerlen layercolorseq length def
/setlayer {/maxlayer exch def /curlayer exch def
layercolorseq curlayer 1 sub layerlen mod get
aload pop sethsbcolor
/nodecolor {nopcolor} def
/edgecolor {nopcolor} def
/graphcolor {nopcolor} def
} bind def
/onlayer { curlayer ne {invis} if } def
/onlayers {
/myupper exch def
/mylower exch def
curlayer mylower lt
curlayer myupper gt
or
{invis} if
} def
/curlayer 0 def
%%EndResource
%%EndProlog
%%BeginSetup
14 default-font-family set_font
1 setmiterlimit
% /arrowlength 10 def
% /arrowwidth 5 def
% make sure pdfmark is harmless for PS-interpreters other than Distiller
/pdfmark where {pop} {userdict /pdfmark /cleartomark load put} ifelse
% make '<<' and '>>' safe on PS Level 1 devices
/languagelevel where {pop languagelevel}{1} ifelse
2 lt {
userdict (<<) cvn ([) cvn load put
userdict (>>) cvn ([) cvn load put
} if
%%EndSetup
setupLatin1
%%Page: 1 1
%%PageBoundingBox: 36 36 332 392
%%PageOrientation: Portrait
0 0 1 beginpage
gsave
36 36 296 356 boxprim clip newpath
1 1 set_scale 0 rotate 40 40 translate
% cluster0
gsave
1 setlinewidth
0.000 0.000 0.000 graphcolor
newpath 62 209 moveto
62 340 lineto
148 340 lineto
148 209 lineto
closepath stroke
0.000 0.000 0.000 graphcolor
14 /Times-Roman set_font
81 323.9 moveto 48 (Network) alignedtext
grestore
% cluster1
gsave
1 setlinewidth
0.000 0.000 0.000 graphcolor
newpath 38 16 moveto
38 201 lineto
172 201 lineto
172 16 lineto
closepath stroke
0.000 0.000 0.000 graphcolor
14 /Times-Roman set_font
68 184.9 moveto 74 (Game Engine) alignedtext
grestore
% client
gsave
1 setlinewidth
0.000 0.000 0.000 nodecolor
105 289 30.77 18 ellipse_path stroke
0.000 0.000 0.000 nodecolor
14 /Times-Roman set_font
90.5 284.9 moveto 29 (client) alignedtext
grestore
% server
gsave
1 setlinewidth
0.000 0.000 0.000 nodecolor
105 235 34.24 18 ellipse_path stroke
0.000 0.000 0.000 nodecolor
14 /Times-Roman set_font
88 230.9 moveto 34 (server) alignedtext
grestore
% client->server
gsave
1 setlinewidth
0.000 0.000 0.000 edgecolor
newpath 125 275 moveto
129 269 131 264 130 259 curveto
stroke
0.000 0.000 0.000 edgecolor
newpath 132.92 257.04 moveto
125 250 lineto
126.8 260.44 lineto
closepath fill
1 setlinewidth
solid
0.000 0.000 0.000 edgecolor
newpath 132.92 257.04 moveto
125 250 lineto
126.8 260.44 lineto
closepath stroke
grestore
% server->client
gsave
1 setlinewidth
0.000 0.000 0.000 edgecolor
newpath 84 250 moveto
79 255 78 261 80 266 curveto
stroke
0.000 0.000 0.000 edgecolor
newpath 77.08 267.96 moveto
85 275 lineto
83.2 264.56 lineto
closepath fill
1 setlinewidth
solid
0.000 0.000 0.000 edgecolor
newpath 77.08 267.96 moveto
85 275 lineto
83.2 264.56 lineto
closepath stroke
grestore
% gs
gsave
1 setlinewidth
0.000 0.000 0.000 nodecolor
105 42 27 18 ellipse_path stroke
0.000 0.000 0.000 nodecolor
14 /Times-Roman set_font
98.5 37.9 moveto 13 (gs) alignedtext
grestore
% server->gs
gsave
1 setlinewidth
0.000 0.000 0.000 edgecolor
newpath 72 229 moveto
53 224 31 214 20 196 curveto
7 174 7 101 20 78 curveto
31 62 50 53 68 48 curveto
stroke
0.000 0.000 0.000 edgecolor
newpath 69.43 51.23 moveto
78 45 lineto
67.42 44.52 lineto
closepath fill
1 setlinewidth
solid
0.000 0.000 0.000 edgecolor
newpath 69.43 51.23 moveto
78 45 lineto
67.42 44.52 lineto
closepath stroke
grestore
% gs->client
gsave
1 setlinewidth
0.000 0.000 0.000 edgecolor
newpath 78 45 moveto
58 50 33 59 20 78 curveto
0 112 0 219 20 253 curveto
30 268 48 277 64 282 curveto
stroke
0.000 0.000 0.000 edgecolor
newpath 63.42 285.48 moveto
74 285 lineto
65.43 278.77 lineto
closepath fill
1 setlinewidth
solid
0.000 0.000 0.000 edgecolor
newpath 63.42 285.48 moveto
74 285 lineto
65.43 278.77 lineto
closepath stroke
grestore
% physics
gsave
1 setlinewidth
0.000 0.000 0.000 nodecolor
105 96 41 18 ellipse_path stroke
0.000 0.000 0.000 nodecolor
14 /Times-Roman set_font
83.5 91.9 moveto 43 (physics) alignedtext
grestore
% gs->physics
gsave
1 setlinewidth
0.000 0.000 0.000 edgecolor
newpath 105 60 moveto
105 63 105 65 105 68 curveto
stroke
0.000 0.000 0.000 edgecolor
newpath 101.5 68 moveto
105 78 lineto
108.5 68 lineto
closepath fill
1 setlinewidth
solid
0.000 0.000 0.000 edgecolor
newpath 101.5 68 moveto
105 78 lineto
108.5 68 lineto
closepath stroke
grestore
% interpolation
gsave
1 setlinewidth
0.000 0.000 0.000 nodecolor
105 150 59.06 18 ellipse_path stroke
0.000 0.000 0.000 nodecolor
14 /Times-Roman set_font
70.5 145.9 moveto 69 (interpolation) alignedtext
grestore
% physics->interpolation
gsave
1 setlinewidth
0.000 0.000 0.000 edgecolor
newpath 105 114 moveto
105 117 105 119 105 122 curveto
stroke
0.000 0.000 0.000 edgecolor
newpath 101.5 122 moveto
105 132 lineto
108.5 122 lineto
closepath fill
1 setlinewidth
solid
0.000 0.000 0.000 edgecolor
newpath 101.5 122 moveto
105 132 lineto
108.5 122 lineto
closepath stroke
grestore
% graphics
gsave
1 setlinewidth
0.000 0.000 0.000 nodecolor
244 150 43.78 18 ellipse_path stroke
0.000 0.000 0.000 nodecolor
14 /Times-Roman set_font
220.5 145.9 moveto 47 (graphics) alignedtext
grestore
% interpolation->graphics
gsave
1 setlinewidth
0.000 0.000 0.000 edgecolor
newpath 164 150 moveto
173 150 181 150 190 150 curveto
stroke
0.000 0.000 0.000 edgecolor
newpath 190 153.5 moveto
200 150 lineto
190 146.5 lineto
closepath fill
1 setlinewidth
solid
0.000 0.000 0.000 edgecolor
newpath 190 153.5 moveto
200 150 lineto
190 146.5 lineto
closepath stroke
grestore
% input
gsave
1 setlinewidth
0.000 0.000 0.000 nodecolor
244 246 30.07 18 ellipse_path stroke
0.000 0.000 0.000 nodecolor
14 /Times-Roman set_font
230 241.9 moveto 28 (input) alignedtext
grestore
% input->client
gsave
1 setlinewidth
0.000 0.000 0.000 edgecolor
newpath 217 254 moveto
195 261 166 270 143 277 curveto
stroke
0.000 0.000 0.000 edgecolor
newpath 141.57 273.77 moveto
133 280 lineto
143.58 280.48 lineto
closepath fill
1 setlinewidth
solid
0.000 0.000 0.000 edgecolor
newpath 141.57 273.77 moveto
133 280 lineto
143.58 280.48 lineto
closepath stroke
grestore
% input->interpolation
gsave
1 setlinewidth
0.000 0.000 0.000 edgecolor
newpath 224 232 moveto
201 217 164 191 137 173 curveto
stroke
0.000 0.000 0.000 edgecolor
newpath 139.1 170.2 moveto
129 167 lineto
134.9 175.8 lineto
closepath fill
1 setlinewidth
solid
0.000 0.000 0.000 edgecolor
newpath 139.1 170.2 moveto
129 167 lineto
134.9 175.8 lineto
closepath stroke
grestore
endpage
showpage
grestore
%%PageTrailer
%%EndPage: 1
%%Trailer
%%Pages: 1
%%BoundingBox: 36 36 332 392
end
restore
%%EOF