summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPaul Buetow <paul@buetow.org>2008-08-08 20:09:03 +0000
committerPaul Buetow <paul@buetow.org>2008-08-08 20:09:03 +0000
commit5394e194af61592a9f82ebe4b9bc310ac3dee1c1 (patch)
treeb9512cfcda623036182ebe69b4e4528337375192
parent0776f8af4c9fc131db299c2cf615bce75dcccad7 (diff)
wrote more stuff
-rw-r--r--LaTeX/argouml.zargobin35421 -> 38927 bytes
-rw-r--r--LaTeX/chapters/implementierung.tex27
-rw-r--r--LaTeX/diplomarbeit.pdf5248
-rw-r--r--LaTeX/images/simulator.eps719
4 files changed, 3433 insertions, 2561 deletions
diff --git a/LaTeX/argouml.zargo b/LaTeX/argouml.zargo
index fce51b9..5f819ea 100644
--- a/LaTeX/argouml.zargo
+++ b/LaTeX/argouml.zargo
Binary files differ
diff --git a/LaTeX/chapters/implementierung.tex b/LaTeX/chapters/implementierung.tex
index fc70eeb..8b3b8a8 100644
--- a/LaTeX/chapters/implementierung.tex
+++ b/LaTeX/chapters/implementierung.tex
@@ -33,7 +33,7 @@ Da es sonst den Rahmen sprengen w\"{u}rde, soll im Folgenden der komplette Quell
Die Programmierrichtlinien entsprechen in den meisten F\"{a}llen denen aus der Vorlesung \cite{OOS}. Die Main-Methode befindet sich in der Klasse \textit{simulator.VSMain}.
\begin{itemize}
- \item Alle Klassen- und Interfacenamen beginnen mit groen Buchstaben, w\"{a}hrend alle Variablen-, Methoden- und Attributnamen mit kleinen Buchstaben beginnen. Namen statischer Variablen und Attribute sind komplett in Grobuchstaben gehalten.
+ \item Alle Klassen- und Interfacenamen beginnen mit groen Buchstaben, w\"{a}hrend alle Variablen-, Methoden- und Attributnamen mit kleinen Buchstaben beginnen. Namen finaler Variablen und Attribute sind komplett in Grobuchstaben gehalten.
\item Alle Quelltext-Dateien besitzen einen Header, der Informationen der verwendeten Lizenz angibt.
\item Alle Quelltext-Dateien sind vollst\"{a}ndig mit Javadoc dokumentiert worden.
\item Der komplette Quelltext inklusive Dokumentation wurde in englischer Sprache verfasst.
@@ -446,13 +446,32 @@ registerEvent("protocols.implementations.VSMyProtocol",
\section{GUI sowie Simulationsvisualisierung}
-Vektor-Lamport Paint-Pos
+Das Paket \textit{simulator} (vereinfacht auf Abbildung \ref{fig:PackageProtocols} dargestellt) implementiert die eigentliche graphische Benutzeroberf\"{a}che des Simulators. Ausnahmen sind die Editorklassen in \textit{prefs.editors} sowie \textit{utils.VSFrame}.
+
+\begin{figure}[h]
+ \centering
+ \includegraphics[width=11.0cm]{images/simulator}
+ \caption{Das Paket \textit{simulator}}
+ \label{fig:PackageProtocols}
+\end{figure}
+
+Beim Starten des Simulators wird auf die Main-Methode, welche sich in \textit{VSMain} befindet, aufgerufen. Sie instanziiert ein \textit{VSDefaultPrefs}-Objekt, wo alle Standardeinstellungen des Simulators abgelegt sind. Anschlieend wird ein \textit{VSSimulatorFrame} erzeugt, welches ein Simulatorfenster (wie bereits schon auf Abbildung \ref{fig:NeuesFenster} zu sehen war) implementiert. Das Simulatorfenster erstellt f\"{u}r jede neue Simulation jeweils ein Objekt von \textit{VSSimulator}. Jede Simulation hat im Simulationsfenster einen eigenen Tab. Auf Abbildung \ref{fig:NeuErstellteSimulation} wurde bereits eine neue Simulation erstellt, wo auch unten links der dazugeh\"{o}rige Tab mit der Beschriftung ``Simulator 1'' zu sehen ist. Jede Simulation besitzt eine eigene Simulationsnummer, die bei jeder neuen Simulation um eins inkrementiert wird. Jedes \textit{VSSimulator}-Objekt greift auf \textit{VSSimulatorVisualization} zur\"{u}ck, was die Simulationsvisualisierung (Abbildung \ref{fig:Visualisierung}) implementiert.
+
+\textit{VSSimulatorVisualization} ist bei Weitem die kryptischste Klasse des Simulators. Die greift auf die Java2D-Grafikbibliothek zur\"{u}ck und ist aus Performancegr\"{u}nden mit dem Simulationsverlauf stark verzahnt. Variablen, die stets den selbe Wert haben, wurden stets als finale Variablen angelegt. Variablen, die von Konfigurationen oder Einstellungen abh\"{a}ngig sind, die sich nur nach Konfigurations\"{a}nderung oder Vergr\"{o}ern beziehungsweise Verkleinern des Simulationsfensters \"{a}ndern, werden nur wenn es n\"{o}tig ist neuberechnet.
+
+Die Klasse \textit{VSMenuItemStates} wird f\"{u}r die Synchronisierung des Simulationsstatusses, der Toolbar und des Simulations-Men\"{u}s (beide Letztere auf Abbildung \ref{fig:Toolbar} zu sehen) verwendet. Damit ist gemeint, ob die Simulation bereits gestartet wurde oder nicht oder gegebenenfalls schon abgelaufen ist. Oder ob die Simulation sich in einem pausierten Status befindet. Abh\"{a}ngig davon kann der Benutzer bestimmte Aktionen durchf\"{u}hren oder nicht (beispielsweise kann eine Simulation nur pausiert werden, wenn sie aktuell abgespielt wird). Alle hier m\"{o}glichen Aktionen wurden bereits in Kapitel 2.1 im Abschnitt ``Die Toolbar'' behandelt.
+
+Die klasse \textit{VSCreateTask} wird vom Ereigniseditor verwendet. Der Ereigniseditor (Abbildung \ref{fig:SidebarMitEreignissen}) wird in der Klasse \textit{VSSimulator} implementiert. Hinter jeder Ereignisauswahl verbirgt sich intern ein \textit{VSCreateTask}-Objekt, welches definiert wie das jeweilige Ereignis anzulegen ist und es automatisch in ein \textit{VSTask}-Objekt gekapselt f\"{u}r eine sp\"{a}tere Ausf\"{u}hrung dem Task-Manager \"{u}bergibt.
+
+\textit{VSLogging} kapselt ein \textit{javax.swing.JTextArea}-Objekt, wo alle Nachrichten geloggt werden. Hier werden alle Loggfunktionen (inklusive Loggfilter sowie tempor\"{a}re Deaktivierung des Loggen) implementiert. Die \textit{JTextArea} wird dem \textit{VSSimulator}-Objekt \"{u}bergeben und dort dargestellt.
\section{Serialisierung von Simulationen}
+Der Anwender kann eine erstellte Simulation im Datei-Men\"{u} speichern und/oder eine bereits abgespeicherte Simulation laden.
+
\subsubsection{R\"{u}ckw\"{a}rtskompatibel}
-\section{Helfer- und Ausnahmeklassen}
+\section{Helferklassen und Klassen f\"{u}r Ausnahmebehandlungen}
Es wurden noch nicht die Klassen der Pakete \textit{utils} (Abbildung \ref{fig:PackageUtils}) sowie \textit{exceptions} (Abbildung \ref{fig:PackageExceptions}) vorgestellt. \textit{utils} fasst lediglich einige Helferklassen zusammen, die vom restlichen Quelltext verwendet werden.
@@ -493,7 +512,7 @@ Als Versionierungssystem wurde SVN (Subversion) verwendet. F\"{u}r den Zugriff a
F\"{u}r schreiben von Java-Quelltext wurde GVim (Graphical Vi IMproved) sowie Eclipse verwendet. Eclipse unterst\"{u}tzt bessere Code-Refactoring-Methoden, w\"{a}hrend GVim mit seiner Flexibilit\"{a}t und schnelleren Editierm\"{o}glichkeiten und mit Vim-Script, der eigenen Script-Engine, gl\"{a}nzt. Es wurden ausserdem das JAutoDoc- (f\"{u}r die Erstellung von Javadoc-Kommentate) und das Subversion-Eclipse-Plugin verwendet. Je nach Zweck wurde zwischen diesen beiden Umgebungen gewechselt. F\"{u}r das Verfassen des LaTeX-Dokumentes wurde GVim verwendet.
-S\"{a}mtliche UML-Diagramme wurden mit ArgoUML angefertigt und die Screenshots mit The GIMP (GNU Image Manipulation Program) sowie ImageMagick nachbearbeitet. Mit zip wurden alle VS-Simulator Distributionen eingepackt.
+S\"{a}mtliche UML-Diagramme wurden mit ArgoUML angefertigt und die Screenshots mit The GIMP (GNU Image Manipulation Program) sowie ImageMagick nachbearbeitet. Mit dem zip-Programm wurden alle VS-Simulator Distributionen verpackt.
\subsubsection{Linkliste der verwendeten Software}
diff --git a/LaTeX/diplomarbeit.pdf b/LaTeX/diplomarbeit.pdf
index 9df44da..b51e803 100644
--- a/LaTeX/diplomarbeit.pdf
+++ b/LaTeX/diplomarbeit.pdf
@@ -261,7 +261,7 @@ endobj
<< /S /GoTo /D (section.3.8) >>
endobj
180 0 obj
-(\376\377\0003\000.\0008\000\040\000H\000e\000l\000f\000e\000r\000-\000\040\000u\000n\000d\000\040\000A\000u\000s\000n\000a\000h\000m\000e\000k\000l\000a\000s\000s\000e\000n)
+(\376\377\0003\000.\0008\000\040\000H\000e\000l\000f\000e\000r\000k\000l\000a\000s\000s\000e\000n\000\040\000u\000n\000d\000\040\000K\000l\000a\000s\000s\000e\000n\000\040\000f\000\374\000r\000\040\000A\000u\000s\000n\000a\000h\000m\000e\000b\000e\000h\000a\000n\000d\000l\000u\000n\000g\000e\000n)
endobj
181 0 obj
<< /S /GoTo /D (section.3.9) >>
@@ -748,17 +748,19 @@ endobj
/ProcSet [ /PDF /Text ]
>> endobj
255 0 obj <<
-/Length 1911
+/Length 1933
/Filter /FlateDecode
>>
stream
-x[o6)h31.6k˃_i}JDaZX5yhXa$ԩ8Wg߽쾳VE~~8eqf}v]wsf9oeGqJaRË\h.\T F`6/M.r:Lh]RBk=* nb\CU77seF%(XXR 2zR8joc 2`84h!V9@EYl5II|j3:5l73䰪6UI,aFc O8vVf־Ï1A5Nxq8:^3C7D''|QC(o =6CZ ,7溹8](H Nfԩ28gDXdž lbDsVj ŢJᕒ*0()"-N)]&Nu-u6&u}Wyw(S01_;X#`W0F`MGˁE= Lm-ڊ w`
-+hJ)!(S4Uxd> $  X5l\$UAdk|~sw\{IվmF{n\{-D+EU3dp#}E,chr8bQOQH!HF:z*WUtR746THPC tI}vE,K} *|?ʕKGt89 i"D l]+[_@Tv@7 \v/^^Lo}8ƻ3Ngfy sfƗh)A3ouЙG$3OGIT$bQO+},S:Y1ajy=ĬUWs`A
-.'l%:B-,b#%UefՖH7g^"љG3OGɛ> Br4'.֝NowsXUUZ%̏HbPet~#m5(F_tb7M1)}'Ke~Y !=um/^]$-70El'[Q4{^+$bHDS#z"\C*x $~T= r5Ue #q=,+zhV|V9=a&2z"sC}`)w#D*F4*VX
- OB/_:Z a |T5@v׋ѓ/ebUdB''
-UvFlU\ bC_SXVc9pQOi{I&q,ҴXn9K!# Sp\U6Hbٌ`EzR Ր2qXն~_r8ۙ~]w蛈*,+b)A1[}xbٌDz@_Y[M WW~KyW~}S[),԰"
-D)lzjgIt"UiDBdBdП
-+̧LpY&AMա-~{Jg:T3;30 7K#X{l2 nXsj =&Dv!N&/di:Hendstream
+xYs6)(T(1&izMq_z<(6c$'~.HrDiM.?.
+
+_0HTa ƊZ\?Y]*V?x
+KֲxUp NF/X<o֛͒EwGuySW_?<x|Q5_PRB
+.4.V*$NQNS9b :fdZ/x})e}]}}:Vf4QR"FT9e1)}ucr2b84h!V9@C6
+t6e'Mzb■[H~ qSUY's0
+i SGKni=>=T)5hO-M9<y':pD-#qUfO2<wU{:) - q2^sFulC,Xn#:ܦB<W8)B"2)̓zYഩƤv/.oe
+&T<kgkN i
++w)U~!}1?d FT}LDݩ2b\:eatBCSi,ΠCxԥX;?!UUy陝$30pJ+ʄ67􂌻#Vsj K3&w0xT:uݯendstream
endobj
254 0 obj <<
/Type /Page
@@ -890,7 +892,7 @@ endobj
277 0 obj <<
/Type /Annot
/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [86.8628 453.8342 229.0344 462.6052]
+/Rect [86.8628 452.0229 330.353 462.6052]
/Subtype /Link
/A << /S /GoTo /D (section.3.8) >>
>> endobj
@@ -1154,27 +1156,23 @@ endobj
/ProcSet [ /PDF /Text ]
>> endobj
343 0 obj <<
-/Length 1039
+/Length 1100
/Filter /FlateDecode
>>
stream
-xnF~>rLr
-!`qbHtS$T.f1te_' ^XEX/s1߽Y eiu;ÉEVВ
-#ŏgj<](ު_T|XrvջӂQg-6%%e
-#I8-:Y괇t¹!tΪ^$# AZ,YQ8(?ՇK}Síi;K8Ĥc7s?C8@ޫ&ZkU]YnAul'9j;\vM>ouuKa0/v ޕo:վiaj1LcA#ܩ`^14g9*RKwpοhdr 1DM8R,~^:~-[? KscX~<SS#q@#c[Ot_ +6ZZ Íy3^7
- ՉKnPM ,sjwJzjB֚J:ZjX.9::e*G.Ǩ6TITdnקN~͡Qga$&y+3+A5Q!.7,ن5ZZ"YS0
-w\
-o B͛ñl],3Q+"q`2Tsnd
-<ւQ&)u`
-62_ܐq 6l
+xnF~>}9&$B.dŐ ӧVS-6Y9" Y*Z0*z gx(^Wd8q=ZRa]=lXm^ϧ ߂Kk_w_~\u`#nMII,~&g/Kq:!poLG$5HKk-!RrRnpsβ,h"$1izAA@b~OC"ymw֚k5.,ԋ Y6Hθڀծib)f1\nЛ]y~'}|MP!`; 1N*3yZ%"[j t842 &FIyS)?O_ 
+x7|`PS:ipeNJI-jй҆BzC-5,iCEj! U3e!",:juLBJ99lo^zet{%&J#e!j& V36o)oO\
+o(
+ MXծ̖Z4|[^fF
+<ւ=^gMz4ǷN>ó4D]}_oXZ8٘Y#[(xˉ<fr<ԇa;HOp %
endobj
342 0 obj <<
/Type /Page
/Contents 343 0 R
/Resources 341 0 R
/MediaBox [0 0 595.2757 841.8898]
-/Parent 355 0 R
-/Annots [ 345 0 R 346 0 R 347 0 R 348 0 R 349 0 R 350 0 R 351 0 R 352 0 R 353 0 R 354 0 R ]
+/Parent 356 0 R
+/Annots [ 345 0 R 346 0 R 347 0 R 348 0 R 349 0 R 350 0 R 351 0 R 352 0 R 353 0 R 354 0 R 355 0 R ]
>> endobj
345 0 obj <<
/Type /Annot
@@ -1235,17 +1233,24 @@ endobj
353 0 obj <<
/Type /Annot
/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [86.8628 605.2166 168.9961 613.7814]
+/Rect [86.8628 605.2166 190.0803 613.7814]
/Subtype /Link
/A << /S /GoTo /D (figure.3.7) >>
>> endobj
354 0 obj <<
/Type /Annot
/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [86.8628 585.5858 195.644 595.8542]
+/Rect [86.8628 587.2894 168.9961 595.8542]
/Subtype /Link
/A << /S /GoTo /D (figure.3.8) >>
>> endobj
+355 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [86.8628 567.6586 195.644 577.927]
+/Subtype /Link
+/A << /S /GoTo /D (figure.3.9) >>
+>> endobj
344 0 obj <<
/D [342 0 R /XYZ 74.4095 793.4011 null]
>> endobj
@@ -1253,7 +1258,7 @@ endobj
/Font << /F61 259 0 R /F28 209 0 R >>
/ProcSet [ /PDF /Text ]
>> endobj
-368 0 obj <<
+370 0 obj <<
/Length 1852
/Filter /FlateDecode
>>
@@ -1272,158 +1277,158 @@ U2ɢL`?Et(*mv`۱Q-Nv4< Z
f
ugܟGΨ<g=; L,S(V;ZU4oX-o݇7AjGkgTm{wY_2wZoW{ :Tea'\;  {/Z[ozF.9L:vF51<S[u(~=|صloO|!,d"s Z͋:=ݬu<KXPbM[JtgwjXjco u_0Ik :dA_d_
endobj
-367 0 obj <<
+369 0 obj <<
/Type /Page
-/Contents 368 0 R
-/Resources 366 0 R
+/Contents 370 0 R
+/Resources 368 0 R
/MediaBox [0 0 595.2757 841.8898]
-/Parent 355 0 R
-/Annots [ 371 0 R 372 0 R 373 0 R 374 0 R 375 0 R 376 0 R 377 0 R 378 0 R 379 0 R 380 0 R 381 0 R 382 0 R 383 0 R 384 0 R 385 0 R 386 0 R 387 0 R 388 0 R 389 0 R ]
+/Parent 356 0 R
+/Annots [ 373 0 R 374 0 R 375 0 R 376 0 R 377 0 R 378 0 R 379 0 R 380 0 R 381 0 R 382 0 R 383 0 R 384 0 R 385 0 R 386 0 R 387 0 R 388 0 R 389 0 R 390 0 R 391 0 R ]
>> endobj
-371 0 obj <<
+373 0 obj <<
/Type /Annot
/Border[0 0 0]/H/I/C[1 0 0]
/Rect [86.8628 612.425 338.2165 623.0073]
/Subtype /Link
/A << /S /GoTo /D (table.2.1) >>
>> endobj
-372 0 obj <<
+374 0 obj <<
/Type /Annot
/Border[0 0 0]/H/I/C[1 0 0]
/Rect [86.8628 594.4978 298.9616 605.0801]
/Subtype /Link
/A << /S /GoTo /D (table.2.2) >>
>> endobj
-373 0 obj <<
+375 0 obj <<
/Type /Annot
/Border[0 0 0]/H/I/C[1 0 0]
/Rect [86.8628 576.5706 180.2935 586.9466]
/Subtype /Link
/A << /S /GoTo /D (table.2.3) >>
>> endobj
-374 0 obj <<
+376 0 obj <<
/Type /Annot
/Border[0 0 0]/H/I/C[1 0 0]
/Rect [86.8628 558.6433 257.1971 569.0193]
/Subtype /Link
/A << /S /GoTo /D (table.2.4) >>
>> endobj
-375 0 obj <<
+377 0 obj <<
/Type /Annot
/Border[0 0 0]/H/I/C[1 0 0]
/Rect [86.8628 540.7161 289.7984 551.2984]
/Subtype /Link
/A << /S /GoTo /D (table.2.5) >>
>> endobj
-376 0 obj <<
+378 0 obj <<
/Type /Annot
/Border[0 0 0]/H/I/C[1 0 0]
/Rect [86.8628 522.7889 256.1481 533.1649]
/Subtype /Link
/A << /S /GoTo /D (table.2.6) >>
>> endobj
-377 0 obj <<
+379 0 obj <<
/Type /Annot
/Border[0 0 0]/H/I/C[1 0 0]
/Rect [86.8628 504.8616 335.2394 515.4439]
/Subtype /Link
/A << /S /GoTo /D (table.2.7) >>
>> endobj
-378 0 obj <<
+380 0 obj <<
/Type /Annot
/Border[0 0 0]/H/I/C[1 0 0]
/Rect [86.8628 486.9344 406.6109 497.5167]
/Subtype /Link
/A << /S /GoTo /D (table.2.8) >>
>> endobj
-379 0 obj <<
+381 0 obj <<
/Type /Annot
/Border[0 0 0]/H/I/C[1 0 0]
/Rect [86.8628 469.0072 319.7369 479.3832]
/Subtype /Link
/A << /S /GoTo /D (table.2.9) >>
>> endobj
-380 0 obj <<
+382 0 obj <<
/Type /Annot
/Border[0 0 0]/H/I/C[1 0 0]
/Rect [86.8628 451.0799 295.5011 461.6622]
/Subtype /Link
/A << /S /GoTo /D (table.2.10) >>
>> endobj
-381 0 obj <<
+383 0 obj <<
/Type /Annot
/Border[0 0 0]/H/I/C[1 0 0]
/Rect [86.8628 433.1527 301.3831 443.735]
/Subtype /Link
/A << /S /GoTo /D (table.2.11) >>
>> endobj
-382 0 obj <<
+384 0 obj <<
/Type /Annot
/Border[0 0 0]/H/I/C[1 0 0]
/Rect [86.8628 415.2255 371.7415 425.8077]
/Subtype /Link
/A << /S /GoTo /D (table.2.12) >>
>> endobj
-383 0 obj <<
+385 0 obj <<
/Type /Annot
/Border[0 0 0]/H/I/C[1 0 0]
/Rect [86.8628 397.2982 385.1908 407.8805]
/Subtype /Link
/A << /S /GoTo /D (table.2.13) >>
>> endobj
-384 0 obj <<
+386 0 obj <<
/Type /Annot
/Border[0 0 0]/H/I/C[1 0 0]
/Rect [86.8628 379.371 276.0623 389.747]
/Subtype /Link
/A << /S /GoTo /D (table.2.14) >>
>> endobj
-385 0 obj <<
+387 0 obj <<
/Type /Annot
/Border[0 0 0]/H/I/C[1 0 0]
/Rect [86.8628 361.4438 286.3466 371.8198]
/Subtype /Link
/A << /S /GoTo /D (table.2.15) >>
>> endobj
-386 0 obj <<
+388 0 obj <<
/Type /Annot
/Border[0 0 0]/H/I/C[1 0 0]
/Rect [86.8628 343.5165 356.705 353.8925]
/Subtype /Link
/A << /S /GoTo /D (table.2.16) >>
>> endobj
-387 0 obj <<
+389 0 obj <<
/Type /Annot
/Border[0 0 0]/H/I/C[1 0 0]
/Rect [86.8628 325.5893 370.1543 336.1716]
/Subtype /Link
/A << /S /GoTo /D (table.2.17) >>
>> endobj
-388 0 obj <<
+390 0 obj <<
/Type /Annot
/Border[0 0 0]/H/I/C[1 0 0]
/Rect [86.8628 299.5107 177.8368 308.0754]
/Subtype /Link
/A << /S /GoTo /D (table.3.1) >>
>> endobj
-389 0 obj <<
+391 0 obj <<
/Type /Annot
/Border[0 0 0]/H/I/C[1 0 0]
/Rect [86.8628 281.5834 345.4789 290.3545]
/Subtype /Link
/A << /S /GoTo /D (table.3.2) >>
>> endobj
-369 0 obj <<
-/D [367 0 R /XYZ 74.4095 793.4011 null]
+371 0 obj <<
+/D [369 0 R /XYZ 74.4095 793.4011 null]
>> endobj
-370 0 obj <<
-/D [367 0 R /XYZ 74.4095 643.0739 null]
+372 0 obj <<
+/D [369 0 R /XYZ 74.4095 643.0739 null]
>> endobj
-366 0 obj <<
+368 0 obj <<
/Font << /F26 206 0 R /F28 209 0 R /F61 259 0 R >>
/ProcSet [ /PDF /Text ]
>> endobj
-411 0 obj <<
+413 0 obj <<
/Length 1758
/Filter /FlateDecode
>>
@@ -1438,35 +1443,35 @@ D|R]7yЎŋ" J,Z4,v2Y Z)+EJyC".Ce
/2|ʾGbڠ%"6c]+B?'5y{
K4<9s2GNBr{,KqY3R 3_kܸiʵ\yO`6zKiW QبנS2<'G3s96lΕcM|mekYsi, NC {jTI>H;Wqn5chk/}o이
endobj
-410 0 obj <<
+412 0 obj <<
/Type /Page
-/Contents 411 0 R
-/Resources 409 0 R
+/Contents 413 0 R
+/Resources 411 0 R
/MediaBox [0 0 595.2757 841.8898]
-/Parent 355 0 R
-/Annots [ 413 0 R ]
+/Parent 356 0 R
+/Annots [ 415 0 R ]
>> endobj
-413 0 obj <<
+415 0 obj <<
/Type /Annot
/Border[0 0 0]/H/I/C[0 1 0]
/Rect [75.9058 417.1708 102.2418 425.7356]
/Subtype /Link
/A << /S /GoTo /D (cite.Tanenbaum) >>
>> endobj
-412 0 obj <<
-/D [410 0 R /XYZ 74.4095 793.4011 null]
+414 0 obj <<
+/D [412 0 R /XYZ 74.4095 793.4011 null]
>> endobj
6 0 obj <<
-/D [410 0 R /XYZ 74.4095 771.7323 null]
+/D [412 0 R /XYZ 74.4095 771.7323 null]
>> endobj
10 0 obj <<
-/D [410 0 R /XYZ 74.4095 570.9064 null]
+/D [412 0 R /XYZ 74.4095 570.9064 null]
>> endobj
-409 0 obj <<
+411 0 obj <<
/Font << /F26 206 0 R /F28 209 0 R /F61 259 0 R >>
/ProcSet [ /PDF /Text ]
>> endobj
-419 0 obj <<
+421 0 obj <<
/Length 1854
/Filter /FlateDecode
>>
@@ -1479,30 +1484,30 @@ cu>Nfk yK0<]6|z<s0c 17݇#rX$v;
{*06UMvG}0=ϧz琹ӿuJh3)C@j RӔg:pKr+ʌW={&_ٽ#}1mGD9$=
0:T9 s_S/lkYVim*+(3ZZp7M@4Io)4k蒾2B[Ǯ1b9k %zdC1D6bOS&6βRQ Ky ?lnf2Uu <
endobj
-418 0 obj <<
+420 0 obj <<
/Type /Page
-/Contents 419 0 R
-/Resources 417 0 R
+/Contents 421 0 R
+/Resources 419 0 R
/MediaBox [0 0 595.2757 841.8898]
-/Parent 355 0 R
-/Annots [ 422 0 R ]
+/Parent 356 0 R
+/Annots [ 424 0 R ]
>> endobj
-415 0 obj <<
+417 0 obj <<
/Type /XObject
/Subtype /Form
/FormType 1
/PTEX.FileName (/usr/home/buetow/svn/vs/trunk/LaTeX/images/client-server.pdf)
/PTEX.PageNumber 1
-/PTEX.InfoDict 425 0 R
+/PTEX.InfoDict 427 0 R
/Matrix [1.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000]
/BBox [0.00000000 0.00000000 382.00000000 112.00000000]
/Resources <<
/ProcSet [ /PDF /Text ]
/ExtGState <<
-/R7 426 0 R
->>/Font << /R8 427 0 R >>
+/R7 428 0 R
+>>/Font << /R8 429 0 R >>
>>
-/Length 428 0 R
+/Length 430 0 R
/Filter /FlateDecode
>>
stream
@@ -1510,60 +1515,60 @@ xTn0 +xl{p%RE[$F/A,E"N~Ejx0"g槮Ӣ>yTFc5P
(C!R;}tI6<o}/[˿w?K\2x ,

endobj
-425 0 obj
+427 0 obj
<<
/Producer (GPL Ghostscript 8.61)
-/CreationDate (D:20080808140051Z00'00')
-/ModDate (D:20080808140051Z00'00')
+/CreationDate (D:20080808220147Z00'00')
+/ModDate (D:20080808220147Z00'00')
>>
endobj
-426 0 obj
+428 0 obj
<<
/Type /ExtGState
/OPM 1
>>
endobj
-427 0 obj
+429 0 obj
<<
/BaseFont /Helvetica
/Type /Font
/Subtype /Type1
>>
endobj
-428 0 obj
+430 0 obj
452
endobj
-422 0 obj <<
+424 0 obj <<
/Type /Annot
/Border[0 0 0]/H/I/C[1 0 0]
/Rect [439.9225 458.2842 454.378 468.8664]
/Subtype /Link
/A << /S /GoTo /D (figure.1.1) >>
>> endobj
-420 0 obj <<
-/D [418 0 R /XYZ 74.4095 793.4011 null]
+422 0 obj <<
+/D [420 0 R /XYZ 74.4095 793.4011 null]
>> endobj
14 0 obj <<
-/D [418 0 R /XYZ 74.4095 771.7323 null]
+/D [420 0 R /XYZ 74.4095 771.7323 null]
>> endobj
-421 0 obj <<
-/D [418 0 R /XYZ 74.4095 659.2541 null]
+423 0 obj <<
+/D [420 0 R /XYZ 74.4095 659.2541 null]
>> endobj
314 0 obj <<
-/D [418 0 R /XYZ 288.3666 523.6815 null]
+/D [420 0 R /XYZ 288.3666 523.6815 null]
>> endobj
-423 0 obj <<
-/D [418 0 R /XYZ 74.4095 396.6881 null]
+425 0 obj <<
+/D [420 0 R /XYZ 74.4095 396.6881 null]
>> endobj
-424 0 obj <<
-/D [418 0 R /XYZ 74.4095 235.3536 null]
+426 0 obj <<
+/D [420 0 R /XYZ 74.4095 235.3536 null]
>> endobj
-417 0 obj <<
+419 0 obj <<
/Font << /F61 259 0 R /F26 206 0 R /F28 209 0 R >>
-/XObject << /Im2 415 0 R >>
+/XObject << /Im2 417 0 R >>
/ProcSet [ /PDF /Text ]
>> endobj
-431 0 obj <<
+433 0 obj <<
/Length 1352
/Filter /FlateDecode
>>
@@ -1577,29 +1582,29 @@ UԂWM鎞xT5bOOPCRraLsu:KȠ§Jpto
 #c-ݻЩ ҂φ0ΗX;$q!Lq˝2:϶:؜*se)])ZLAқLPR$}ɒ')@7Xo{I<gpN6DϾf 8ow믃~lhY2 3YdTz0O>%/
Ova &/3kl ,M F[~7)׹_3ㅏR2v'Jg}#)aendstream
endobj
-430 0 obj <<
+432 0 obj <<
/Type /Page
-/Contents 431 0 R
-/Resources 429 0 R
+/Contents 433 0 R
+/Resources 431 0 R
/MediaBox [0 0 595.2757 841.8898]
-/Parent 355 0 R
+/Parent 356 0 R
>> endobj
-416 0 obj <<
+418 0 obj <<
/Type /XObject
/Subtype /Form
/FormType 1
/PTEX.FileName (/usr/home/buetow/svn/vs/trunk/LaTeX/images/client-server-protokolle.pdf)
/PTEX.PageNumber 1
-/PTEX.InfoDict 434 0 R
+/PTEX.InfoDict 436 0 R
/Matrix [1.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000]
/BBox [0.00000000 0.00000000 376.00000000 320.00000000]
/Resources <<
/ProcSet [ /PDF /Text ]
/ExtGState <<
-/R7 435 0 R
->>/Font << /R8 436 0 R >>
+/R7 437 0 R
+>>/Font << /R8 438 0 R >>
>>
-/Length 437 0 R
+/Length 439 0 R
/Filter /FlateDecode
>>
stream
@@ -1609,44 +1614,44 @@ xMo0 <;l"îkP6AbGJGb:,P/E '+Oz?}  l
Y La- 7pD7[:
B|jZ%Tp'endstream
endobj
-434 0 obj
+436 0 obj
<<
/Producer (GPL Ghostscript 8.61)
-/CreationDate (D:20080808140051Z00'00')
-/ModDate (D:20080808140051Z00'00')
+/CreationDate (D:20080808220147Z00'00')
+/ModDate (D:20080808220147Z00'00')
>>
endobj
-435 0 obj
+437 0 obj
<<
/Type /ExtGState
/OPM 1
>>
endobj
-436 0 obj
+438 0 obj
<<
/BaseFont /Helvetica
/Type /Font
/Subtype /Type1
>>
endobj
-437 0 obj
+439 0 obj
499
endobj
-432 0 obj <<
-/D [430 0 R /XYZ 74.4095 793.4011 null]
+434 0 obj <<
+/D [432 0 R /XYZ 74.4095 793.4011 null]
>> endobj
-433 0 obj <<
-/D [430 0 R /XYZ 74.4095 750.3359 null]
+435 0 obj <<
+/D [432 0 R /XYZ 74.4095 750.3359 null]
>> endobj
315 0 obj <<
-/D [430 0 R /XYZ 281.7271 358.4221 null]
+/D [432 0 R /XYZ 281.7271 358.4221 null]
>> endobj
-429 0 obj <<
+431 0 obj <<
/Font << /F61 259 0 R /F26 206 0 R /F28 209 0 R >>
-/XObject << /Im3 416 0 R >>
+/XObject << /Im3 418 0 R >>
/ProcSet [ /PDF /Text ]
>> endobj
-440 0 obj <<
+442 0 obj <<
/Length 1762
/Filter /FlateDecode
>>
@@ -1658,35 +1663,35 @@ xڍn8ޯQbV$%J:&tw[`hrdY˴G wCɒ%7Eh839//B$bQŋ$
CG1zPI.A
0
endobj
-439 0 obj <<
+441 0 obj <<
/Type /Page
-/Contents 440 0 R
-/Resources 438 0 R
+/Contents 442 0 R
+/Resources 440 0 R
/MediaBox [0 0 595.2757 841.8898]
-/Parent 355 0 R
-/Annots [ 444 0 R ]
+/Parent 356 0 R
+/Annots [ 446 0 R ]
>> endobj
-444 0 obj <<
+446 0 obj <<
/Type /Annot
/Border[0 0 0]/H/I/C[1 0 0]
/Rect [126.1829 465.5316 140.6385 476.1138]
/Subtype /Link
/A << /S /GoTo /D (figure.1.2) >>
>> endobj
-441 0 obj <<
-/D [439 0 R /XYZ 74.4095 793.4011 null]
+443 0 obj <<
+/D [441 0 R /XYZ 74.4095 793.4011 null]
>> endobj
-442 0 obj <<
-/D [439 0 R /XYZ 74.4095 750.7482 null]
+444 0 obj <<
+/D [441 0 R /XYZ 74.4095 750.7482 null]
>> endobj
-443 0 obj <<
-/D [439 0 R /XYZ 74.4095 608.3473 null]
+445 0 obj <<
+/D [441 0 R /XYZ 74.4095 608.3473 null]
>> endobj
-438 0 obj <<
+440 0 obj <<
/Font << /F61 259 0 R /F26 206 0 R /F28 209 0 R >>
/ProcSet [ /PDF /Text ]
>> endobj
-448 0 obj <<
+450 0 obj <<
/Length 1160
/Filter /FlateDecode
>>
@@ -1696,15 +1701,15 @@ xڭWKs6WH͔0ޏⱝI:m%ʁ6!)E9"Uw iJ鴣
l0.JRCvF';%ZhS.ʳµRX+ﱬ} +J"+2pamlhUOH~ kZ((i;GK9e/)-!I!3NlA%0F>*7* !LM|jSv[y r.`+tNq k9Wiy ,!88bPq."C_x=(.@>~*<30l7T[%= eghFVCc gzC uIHLiXU|YC.S#K+i;?U&o} D7悝˅pPM.z72AnD)1pujR._k~ǃP+&…O97+T!6y<$u"omY崀tSF`OkDwr L}W]>H?٢1|EP<m`'|#jRUq oF=t|O,:`3P9F0=I$
:t-/b|.r _Mq'X 45_wP0,#qqa$rڿ/_/N;6?6_[J0<sJ/1x@ks^6qUqx? Cendstream
endobj
-447 0 obj <<
+449 0 obj <<
/Type /Page
-/Contents 448 0 R
-/Resources 446 0 R
+/Contents 450 0 R
+/Resources 448 0 R
/MediaBox [0 0 595.2757 841.8898]
-/Parent 453 0 R
-/Annots [ 450 0 R 451 0 R 452 0 R ]
+/Parent 455 0 R
+/Annots [ 452 0 R 453 0 R 454 0 R ]
>> endobj
-445 0 obj <<
+447 0 obj <<
/Type /XObject
/Subtype /Image
/Width 1024
@@ -1726,45 +1731,45 @@ pz폎6?
t ?y#rϲP{@Z
PZ8
endobj
-450 0 obj <<
+452 0 obj <<
/Type /Annot
/Border[0 0 0]/H/I/C[1 0 0]
/Rect [73.4132 189.397 87.8688 199.9793]
/Subtype /Link
/A << /S /GoTo /D (figure.2.1) >>
>> endobj
-451 0 obj <<
+453 0 obj <<
/Type /Annot
/Border[0 0 0]/H/I/C[1 0 0]
/Rect [389.0928 189.397 403.5483 199.9793]
/Subtype /Link
/A << /S /GoTo /D (figure.2.2) >>
>> endobj
-452 0 obj <<
+454 0 obj <<
/Type /Annot
/Border[0 0 0]/H/I/C[1 0 0]
/Rect [300.1067 135.6153 314.5622 146.1976]
/Subtype /Link
/A << /S /GoTo /D (figure.2.3) >>
>> endobj
-449 0 obj <<
-/D [447 0 R /XYZ 74.4095 793.4011 null]
+451 0 obj <<
+/D [449 0 R /XYZ 74.4095 793.4011 null]
>> endobj
18 0 obj <<
-/D [447 0 R /XYZ 74.4095 771.7323 null]
+/D [449 0 R /XYZ 74.4095 771.7323 null]
>> endobj
22 0 obj <<
-/D [447 0 R /XYZ 74.4095 581.9662 null]
+/D [449 0 R /XYZ 74.4095 581.9662 null]
>> endobj
316 0 obj <<
-/D [447 0 R /XYZ 250.8743 253.9309 null]
+/D [449 0 R /XYZ 250.8743 253.9309 null]
>> endobj
-446 0 obj <<
+448 0 obj <<
/Font << /F26 206 0 R /F28 209 0 R /F61 259 0 R >>
-/XObject << /Im4 445 0 R >>
+/XObject << /Im4 447 0 R >>
/ProcSet [ /PDF /Text /ImageC ]
>> endobj
-459 0 obj <<
+461 0 obj <<
/Length 1704
/Filter /FlateDecode
>>
@@ -1777,15 +1782,15 @@ gGK_7p 6"T(PMoWȂw1} 0bZ*4J<A
6d p1nD*},f#վCJw]Xl-hpvG
=wa7n2zc6h٘"OiĬ{v\WWO[lp: i{Lxܘl|NTtloG2qcCK$?~i2Cf㮣K>%<!E:g=ݴMOd &?17bkjO cFaxxg/B+wxBY\9xKo] &<o~ uYL9i&~Z4V)B$zADendstream
endobj
-458 0 obj <<
+460 0 obj <<
/Type /Page
-/Contents 459 0 R
-/Resources 457 0 R
+/Contents 461 0 R
+/Resources 459 0 R
/MediaBox [0 0 595.2757 841.8898]
-/Parent 453 0 R
-/Annots [ 462 0 R 464 0 R ]
+/Parent 455 0 R
+/Annots [ 464 0 R 466 0 R ]
>> endobj
-454 0 obj <<
+456 0 obj <<
/Type /XObject
/Subtype /Image
/Width 234
@@ -1824,38 +1829,38 @@ ze+*zq& 3~qsPV"v|r9ʠus1W>M/..N]"nN#
TzZz`QE^^^RRRH/EzI/EzWl֬Y˗/WFF:wqyK'snڰaٳ.]*_5bwhhhh͚5p7nT sNl߮o޼ِ)jطo [۷
;;;Uz"ndAhY\Ct-7T Ez vޝ"竮fm2.+Hw"_.Q k3Cd+ K~@P >OsL':TYT EzĽxXBW.QYf:ٗ.]Zds=W]]t%(K^K^K^" /LLL*Dz)KQH/Ez)R(K^"Ez)KQH/E^R(K^K^"Ez)KQH/E^R(K^"5}#endstream
endobj
-462 0 obj <<
+464 0 obj <<
/Type /Annot
/Border[0 0 0]/H/I/C[1 0 0]
/Rect [183.9175 721.5786 198.3731 732.1608]
/Subtype /Link
/A << /S /GoTo /D (figure.2.2) >>
>> endobj
-464 0 obj <<
+466 0 obj <<
/Type /Annot
/Border[0 0 0]/H/I/C[1 0 0]
/Rect [323.2532 153.5425 337.7088 164.1248]
/Subtype /Link
/A << /S /GoTo /D (figure.2.4) >>
>> endobj
-460 0 obj <<
-/D [458 0 R /XYZ 74.4095 793.4011 null]
+462 0 obj <<
+/D [460 0 R /XYZ 74.4095 793.4011 null]
>> endobj
-461 0 obj <<
-/D [458 0 R /XYZ 74.4095 752.2837 null]
+463 0 obj <<
+/D [460 0 R /XYZ 74.4095 752.2837 null]
>> endobj
317 0 obj <<
-/D [458 0 R /XYZ 305.5773 401.9113 null]
+/D [460 0 R /XYZ 305.5773 401.9113 null]
>> endobj
-463 0 obj <<
-/D [458 0 R /XYZ 74.4095 184.2476 null]
+465 0 obj <<
+/D [460 0 R /XYZ 74.4095 184.2476 null]
>> endobj
-457 0 obj <<
+459 0 obj <<
/Font << /F61 259 0 R /F26 206 0 R /F28 209 0 R >>
-/XObject << /Im5 454 0 R >>
+/XObject << /Im5 456 0 R >>
/ProcSet [ /PDF /Text /ImageC ]
>> endobj
-467 0 obj <<
+469 0 obj <<
/Length 1085
/Filter /FlateDecode
>>
@@ -1865,14 +1870,14 @@ xڭWn6}WQ*}jSh:/#DgliRX4C(K{eQJ-h
6&\$ΒfiG3&0&=gyXݜ?o]m|_Тxى@o1kډJZLҁ&xO^U:Fv,.HzuYdP[ (09]{@ )eM2vӈ{eZ,H[dλ,ݧa4-Ц` ۩Pja_Ӕn$
\:mufŠ[䭍w764'n=7k'׋{ %F1&bA5 fip>8+jFUf-&ԭd\K@]em ?koLAYfs^3 =]R?S*Dm͒p5Sdm%UJe jan X 6Ce qS _i!YNw19-pE3#7O~yS8QQl۴|B١&CI.ʅ/lnW QWA(?<1pDQ-g!7cI|5;xX\&qZ]kŬm N 9=gMzk8=5րt71 KQq=2si!ܖaR3_
endobj
-466 0 obj <<
+468 0 obj <<
/Type /Page
-/Contents 467 0 R
-/Resources 465 0 R
+/Contents 469 0 R
+/Resources 467 0 R
/MediaBox [0 0 595.2757 841.8898]
-/Parent 453 0 R
+/Parent 455 0 R
>> endobj
-455 0 obj <<
+457 0 obj <<
/Type /XObject
/Subtype /Image
/Width 1024
@@ -1944,7 +1949,7 @@ Oo9/s\2~pk׮J(%[۷ʒ%KG?q<L no?~|РAeرc<o
q^/jY
s kg-vfz=Eu^||ڿ]1r'o/43-NS%$
endobj
-456 0 obj <<
+458 0 obj <<
/Type /XObject
/Subtype /Image
/Width 180
@@ -1972,21 +1977,21 @@ SȈoD\`tZǓ!:#tcoheX+X
٘Zl7Z%lL-6Z!7,7>L")dcjb,>߰ߞ{و|t9T,t)T(«8

endobj
-468 0 obj <<
-/D [466 0 R /XYZ 74.4095 793.4011 null]
+470 0 obj <<
+/D [468 0 R /XYZ 74.4095 793.4011 null]
>> endobj
318 0 obj <<
-/D [466 0 R /XYZ 286.4299 503.2659 null]
+/D [468 0 R /XYZ 286.4299 503.2659 null]
>> endobj
319 0 obj <<
-/D [466 0 R /XYZ 266.1839 382.6614 null]
+/D [468 0 R /XYZ 266.1839 382.6614 null]
>> endobj
-465 0 obj <<
+467 0 obj <<
/Font << /F61 259 0 R /F28 209 0 R /F35 221 0 R >>
-/XObject << /Im6 455 0 R /Im7 456 0 R >>
+/XObject << /Im6 457 0 R /Im7 458 0 R >>
/ProcSet [ /PDF /Text /ImageC ]
>> endobj
-473 0 obj <<
+475 0 obj <<
/Length 1296
/Filter /FlateDecode
>>
@@ -2000,15 +2005,15 @@ xڭWYoF~ׯ#9p[$m$6z$%h2,wIQ XٹwI0Dqı2 B '
jq\ԯMz1EF T
Ra:*@UrD|S `7 :ur5HX WbLנNX|,[m&q i`9WɈ{U>aV?R~0"ς
endobj
-472 0 obj <<
+474 0 obj <<
/Type /Page
-/Contents 473 0 R
-/Resources 471 0 R
+/Contents 475 0 R
+/Resources 473 0 R
/MediaBox [0 0 595.2757 841.8898]
-/Parent 453 0 R
-/Annots [ 476 0 R ]
+/Parent 455 0 R
+/Annots [ 478 0 R ]
>> endobj
-469 0 obj <<
+471 0 obj <<
/Type /XObject
/Subtype /Image
/Width 586
@@ -2023,7 +2028,7 @@ xvQQt՝ɢA(`tϺ?;d>YzϚ29k33Yܴ9^C_+nZ
7-XW
[r7g7U~Zz?ކ[1g bǗsI9ۮ㥧 '&7Wjo_E3/jcOL˺=.cuQ݌1]uUKc-usg1uzJݦY,Ց;[aaX,uV7bX,usX,n,R7ucX,bMX,nVbXfX,bMX,nbX,u,R7;bMX,nbX,uS7bdX,YMbbXn,RFu[c5Y,5Mݾ8;b-n"n`{M[bX6Jݎ_гsX,KݞvVyn,Śn{QRv"aX,u˯kbXm= vb[BQDnbX]Vyn,Śnů\X,kvcX,(uܼqncLsncM݌1ƨ1ӷnߞ{&1Ƙ.uLX,kXNX,nVbXfX,KX,nbX,uS7bdX,YMbbXn,R7ucX,bjX,KR7ucX,bMX,nVbXf5Y,n,R7ucX,bMX,nVbXfX,bMX,nbX,u,R7;bMX,nbX,uS7bdX,YMbbXn,R7ucX,bjX,KR7ucX,bMX,nVbXfX,KX,nbX,uS7bdX,YMbbXn,R7ucX,bjX,KR7ucX,bMX,nVbXf5Y,n,R7ucX,bMX,nVbXfX,bMX,nbX,u,R7;bMX,nbX,uS7bdX,YMbbXn,R7ucX,bjX,KR7ucX,bMX,nVbXfX,KX,nbX,uS7bdX,YMbbXn,R7ucX,bjX,KR7ucX,bMX,nVbXf5Y,n,R7ucX,bMX,nVbXfX,bMX,nbX,u,R7;bMX,nbX,uS7bdX,YMbbXn,R7ucX,bjX,KR7ucX,bMX,nVbXfX,KX,nbX,uS7bdX,YMbbXn,R7ucX,bjX,KR7ucX,