From b2e99146eec04e6a92c77e125920111bc4b5e283 Mon Sep 17 00:00:00 2001 From: Paul Buetow Date: Tue, 24 Jun 2008 21:41:49 +0000 Subject: fixes --- LaTeX/chapters/introduction.tex | 16 +- LaTeX/chapters/simulator.tex | 30 +- LaTeX/diplomarbeit.pdf | 2149 ++++++++++++++++++++------------------- 3 files changed, 1110 insertions(+), 1085 deletions(-) diff --git a/LaTeX/chapters/introduction.tex b/LaTeX/chapters/introduction.tex index 8d38089..1dc512b 100644 --- a/LaTeX/chapters/introduction.tex +++ b/LaTeX/chapters/introduction.tex @@ -2,15 +2,9 @@ \section{Definition eines verteilten Systems} -In der Literatur findet man viele verschiedene Definitionen eins verteiltes Systems. Vieler dieser Definitionen unterschieden sich untereinander, so dass es schwerf\"{a}llt eine Definition zu finden, die als Alleinige als die Richtige gilt. Andrew Tanenbaum und Marten van Steen haben f\"{u}r die Beschreibung eins verteilten Systems die Folgende lockere Charakterisierung formuliert:\\ -\\ -\cite{Tanenbaum} \textit{``Ein verteiltes System ist eine Menge voneinander unabh\"{a}ngiger Computer, die dem Benutzer wie ein einzelnes, koh\"{a}rentes System erscheinen''}\\ -\\ -Demnach erscheint dem Benutzer ein aus mehreren Computern bestehendes verteiltes System wie ein System, welches lediglich aus einem einzigen Computer besteht. Der Benutzer muss sich nur mit dem lokalen vor ihm befindenden Computer auseinandersetzen. Die Software des lokalen Computer stellt die reibungslose Kommunikation mit anderen Computern des verteilten Systems sicher und der Benutzer muss sich darum nicht selbst k\"{u}mmern. +In der Literatur findet man viele verschiedene Definitionen eins verteiltes Systems. Vieler dieser Definitionen unterschieden sich untereinander, so dass es schwerf\"{a}llt eine Definition zu finden, die als Alleinige als die Richtige gilt. Andrew Tanenbaum und Marten van Steen haben f\"{u}r die Beschreibung eins verteilten Systems die Folgende lockere Charakterisierung formuliert: -\section{Motivation} - -In dieser Diplomarbeit betrachten wir ein verteiltes System jedoch von einer anderen Perspektive. Wir nehmen nicht die Sichtweise eines Endbenutzers ein, sondern wollen die grundlegenen Funktionsweisen, wie unabh\"{a}ngige Computer in einem verteilten System miteinander agieren, verstehen. Es sollen alle relevanten Ereignisse eines verteilten Systems sichtbar und verst\"{a}ndlich repr\"{a}sentiert werden. +\cite{Tanenbaum} \textit{``Ein verteiltes System ist eine Menge voneinander unabh\"{a}ngiger Computer, die dem Benutzer wie ein einzelnes, koh\"{a}rentes System erscheinen''} \begin{figure}[htbp] \centering @@ -19,5 +13,11 @@ In dieser Diplomarbeit betrachten wir ein verteiltes System jedoch von einer and \label{fig:VerteiltesSystem} \end{figure} +Demnach erscheint dem Benutzer ein aus mehreren Computern bestehendes verteiltes System wie ein System, welches lediglich aus einem einzigen Computer besteht. Der Benutzer muss sich nur mit dem lokalen vor ihm befindenden Computer auseinandersetzen (Abbildung \ref{fig:VerteiltesSystem}). Die Software des lokalen Computer stellt die reibungslose Kommunikation mit anderen Computern des verteilten Systems sicher und der Benutzer muss sich darum nicht selbst k\"{u}mmern. + +\section{Motivation} + +In dieser Diplomarbeit betrachten wir ein verteiltes System jedoch von einer anderen Perspektive. Wir nehmen nicht die Sichtweise eines Endbenutzers ein, sondern wollen die grundlegenen Funktionsweisen, wie unabh\"{a}ngige Computer in einem verteilten System miteinander agieren, verstehen. Es sollen alle relevanten Ereignisse eines verteilten Systems sichtbar und verst\"{a}ndlich repr\"{a}sentiert werden. + Um dieses Ziel zu erreichen wurde ein Simulator entwickelt, der dies erm\"{o}glicht. Der Simulator wurde insbesondere f\"{u}r Lehr- und Lernzwecke entwickelt. Er inspiriert auch die Entwicklung eigener verteilter Systeme. diff --git a/LaTeX/chapters/simulator.tex b/LaTeX/chapters/simulator.tex index d6426c2..7677dc8 100644 --- a/LaTeX/chapters/simulator.tex +++ b/LaTeX/chapters/simulator.tex @@ -9,12 +9,12 @@ \label{fig:NeuesFenster} \end{figure} -Der Simulator pr\"{a}sentiert sich nach dem ersten Starten wie in Abbildung \ref{fig:NeuesFenster}. F\"{u}r die Erstellung einer neuen Simulation wird im Men\"{u} ``Datei'' (Abbildung \ref{fig:DateiMenue}) der Punkt ``Neue Simulation'' ausgew\"{a}hlt, wo anschlieend das Einstellungsfenster f\"{u}r die neu zu erstellende Simulation erscheint. Auf die einzelnen Optionen wird sp\"{a}ter genauer eingegangen und es werden nun nur die Standardeinstellungen \"{u}bernommen. Die GUI mit einer frischen Simulation sieht dann wie in Abbildung \ref{fig:StandardGUI} aus. +Der Simulator pr\"{a}sentiert sich nach dem ersten Starten wie in Abbildung \ref{fig:NeuesFenster}. F\"{u}r die Erstellung einer neuen Simulation wird im Men\"{u} ``Datei'' (Abbildung \ref{fig:DateiMenue}) der Punkt ``Neue Simulation'' ausgew\"{a}hlt, wo anschlieend das Einstellungsfenster f\"{u}r die neu zu erstellende Simulation erscheint. Auf die einzelnen Optionen wird sp\"{a}ter genauer eingegangen und es werden nun nur die Standardeinstellungen \"{u}bernommen. Die GUI mit einer frischen Simulation sieht dann wie in Abbildung \ref{fig:NeuErstellteSimulation} aus. \begin{figure}[htbp] \centering \fbox{\includegraphics[width=14cm]{images/ss-datei-menu}} - \caption{``Datei''-Men\"{u}} + \caption{Datei-Men\"{u}} \label{fig:DateiMenue} \end{figure} @@ -25,17 +25,17 @@ Im Datei-Men\"{u} (Abbildung \ref{fig:DateiMenue}) lassen sich neue Simulationen \begin{figure}[htbp] \centering \fbox{\includegraphics{images/ss-neue-simulation-klein}} - \caption{Standard GUI} - \label{fig:StandardGUI} + \caption{Eine neuerstellte Simulation} + \label{fig:NeuErstellteSimulation} \end{figure} -\"{U}ber das ``Editieren''-Men\"{u} gelangt man zu den Simulationseinstellungen. Es werden auch alle beteiligten Prozesse zum Editieren aufgelistet. Das ``Simulator''-Men\"{u} bietet die selben Optionen wie die Toolbar, welche im n\"{a}chsten Teilkapitel beschrieben wird. +\"{U}ber das Editieren-Men\"{u} gelangt man zu den Simulationseinstellungen, worauf sp\"{a}ter genauer eingegangen wird. Es werden in diesem Men\"{u} auch alle beteiligten Prozesse zum Editieren aufgelistet. Das Simulator-Men\"{u} bietet die selben Optionen wie die Toolbar, welche im n\"{a}chsten Teilkapitel beschrieben wird. Einige Men\"{u}s sind erst erreichbar, wenn im aktuellen Fenster bereits eine Simulation erstellt oder geladen wurde. \subsection{Die Toolbar} -Oben links befindet sich die Toolbar (Abbildung \ref{fig:Toolbar}) des Simulators. Die Toolbar enth\"{a}lt die Funktionen, die vom Benutzer am h\"{a}ufigsten verwendet werden. +Oben links im Simulator befindet sich die Toolbar (Abbildung \ref{fig:Toolbar}). Die Toolbar enth\"{a}lt die Funktionen, die vom Benutzer am h\"{a}ufigsten verwendet werden. \begin{figure}[htbp] \centering @@ -44,7 +44,7 @@ Oben links befindet sich die Toolbar (Abbildung \ref{fig:Toolbar}) des Simulator \label{fig:Toolbar} \end{figure} -Die Toolbar bietet vier verschiedene Aktionen an: +Die Toolbar bietet vier verschiedene Funktionalit\"{a}ten an: \begin{itemize} %\setlength{\itemsep}{-1mm} @@ -65,11 +65,11 @@ Die Toolbar l\"{a}sst sich auch nach Belieben repositionieren (z.B. links, recht \label{fig:Visualisierung} \end{figure} -Mittig rechts (Abbildung \ref{fig:StandardGUI}) befindet sich die grafische Repr\"{a}sentation der Simulation. Die X-Achse repr\"{a}sentiert die Zeit in Millisekunden. Die aktuelle Simulation endet nach genau 15 Sekunden. In Abbildung \ref{fig:Visualisierung} sind 3 Prozesse (mit den PIDs 1, 2 und 3) dargestellt, die jeweils einen eigenen horizontalen schwarzen Balken besitzen. Auf diesen Prozessbalken kann man die jeweilige lokale Prozesszeit ablesen. Die vertikale rote Linie stellt die globale Zeit dar. +Mittig rechts (Abbildung \ref{fig:NeuErstellteSimulation}) befindet sich die grafische Repr\"{a}sentation der Simulation. Die X-Achse repr\"{a}sentiert die Zeit in Millisekunden. Die aktuelle Simulation endet nach genau 15 Sekunden. In Abbildung \ref{fig:Visualisierung} sind 3 Prozesse (mit den PIDs 1, 2 und 3) dargestellt, die jeweils einen eigenen horizontalen schwarzen Balken besitzen. Auf diesen Prozessbalken kann man die jeweilige lokale Prozesszeit ablesen. Die vertikale rote Linie stellt die globale Zeit dar. Die Prozessbalken dienen auch f\"{u}r Start- und Zielpunkte von Nachrichten. Wenn beispielsweise Prozess 1 eine Nachricht zum Prozess 2 verschickt, so wird eine Linie vom einen Prozessbalken zum Anderen gezeichnet. Nachrichten, die ein Prozess an sich selbst schickt, werden nicht visualisiert. -Mit einem Linksklick auf einen Prozessbalken ist es ebenso m\"{o}glich einen Prozess zu editieren. Dies muss also nicht zwingend \"{u}ber das ``Simulator''-Men\"{u} geschehen. Ein Rechtsklick hingegen \"{o}ffnet ein Popup-Fenster mit weiteren Auswahlm\"{o}glichkeiten (Abbildung \ref{fig:RechtsklickProzessbalken}). Ein Prozess kann \"{u}ber das Popup-Men\"{u} nur dann abst\"{u}rzen oder wiederbelebt werden, wenn die Simulation aktuell l\"{a}uft. +Mit einem Linksklick auf einen Prozessbalken ist es ebenso m\"{o}glich einen Prozess zu editieren. Dies muss also nicht zwingend \"{u}ber das Simulator-Men\"{u} geschehen. Ein Rechtsklick hingegen \"{o}ffnet ein Popup-Fenster mit weiteren Auswahlm\"{o}glichkeiten (Abbildung \ref{fig:RechtsklickProzessbalken}). Ein Prozess kann \"{u}ber das Popup-Men\"{u} nur dann abst\"{u}rzen oder wiederbelebt werden, wenn die Simulation aktuell l\"{a}uft. \begin{figure}[htbp] \centering @@ -109,16 +109,16 @@ F\"{u}r Visualisierung einer Simulation spielen Farben eine gro \subsection{Die Sidebar} -Mithilfe der Sidebar (mittig links, Abbildung \ref{fig:StandardGUI}) lassen sich Ereignisse bestimmter Prozesse verwalten. Ganz oben (Abbildung \ref{fig:Sidebar}) ist der zu verwaltende Prozess selektiert (hier mit der PID 1). In dieser Prozessauswahl gibt es auch die M\"{o}glichkeit ``Alle Prozesse'' auszuw\"{a}hlen, womit die Ereignisse aller Prozesse gleichzeitig verwaltet werden k\"{o}nnen. Unter ``Lokale Ereignisse'' versteht man die Ereignisse, die auftreten, wenn die zum jeweiligen Prozess lokale Prozesszeit eingetreten ist. Die darunterliegende Ereignistabelle listet alle programmierten Ereignisse (hier noch keine vorhanden) mitsamt Eintrittszeit sowie PID auf. +Mithilfe der Sidebar (mittig links, Abbildung \ref{fig:NeuErstellteSimulation}) lassen sich Ereignisse bestimmter Prozesse verwalten. Ganz oben in Abbildung \ref{fig:Sidebar} ist der zu verwaltende Prozess selektiert (hier mit der PID 1). In dieser Prozessauswahl gibt es auch die M\"{o}glichkeit ``Alle Prozesse'' auszuw\"{a}hlen, womit die Ereignisse aller Prozesse gleichzeitig verwaltet werden k\"{o}nnen. Unter ``Lokale Ereignisse'' versteht man die Ereignisse, die auftreten, wenn die zum jeweiligen Prozess lokale Prozesszeit eingetreten ist. Die darunterliegende Ereignistabelle listet alle programmierten Ereignisse (hier noch keine vorhanden) mitsamt Eintrittszeit sowie PID auf. \begin{figure}[htbp] \centering \fbox{\includegraphics[width=9cm]{images/ss-sidebar}} - \caption{Die Sidebar} + \caption{Die Sidebar mit noch keinen programmierten Ereignissen} \label{fig:Sidebar} \end{figure} -F\"{u}r die Erstellung eines neuen Ereignisses kann man entweder mit Rechtsklick auf einen Prozessbalken (Abbildung \ref{fig:RechtsklickProzessbalken}) klicken, oder unterhalb der Ereignistabelle ein Ereignis ausw\"{a}hlen (Abbildung \ref{fig:Ereignisauswahl}), im Textfeld die Zeit eintragen und auf ``\"{U}bernehmen'' klicken. Beispielsweise wurden auf Abbildung \ref{fig:SidebarMitEreignissen} drei Ereignisse hinzugef\"{u}gt: Absturz nach 123ms, Wiederbelebung nach 321ms und erneuerter Absturz nach 3000ms des Prozesses mit der ID 1. +F\"{u}r die Erstellung eines neuen Ereignisses kann man entweder mit einem Rechtsklick auf einen Prozessbalken (Abbildung \ref{fig:RechtsklickProzessbalken}) klicken, oder unterhalb der Ereignistabelle ein Ereignis ausw\"{a}hlen (Abbildung \ref{fig:Ereignisauswahl}), im darunterliegendem Textfeld die Zeit eintragen und auf ``\"{U}bernehmen'' klicken. Beispielsweise wurden auf Abbildung \ref{fig:SidebarMitEreignissen} drei Ereignisse hinzugef\"{u}gt: Absturz nach 123ms, Wiederbelebung nach 321ms und erneuerter Absturz nach 3000ms des Prozesses mit der ID 1. \begin{figure}[htbp] \centering @@ -127,9 +127,9 @@ F\"{u}r die Erstellung eines neuen Ereignisses kann man entweder mit Rechtsklick \label{fig:Ereignisauswahl} \end{figure} -Mit Rechtsklick lassen sich alle selektierten Ereignisse entweder kopieren oder l\"{o}schen. Die Spalten f\"{u}r die Zeit und der PID lassen sich nachtr\"{a}glich editieren. Somit besteht eine komfortable M\"{o}glichkeit bereits programmierte Ereignisse auf eine andere Zeit zu verschieben oder einem anderen Prozess zuzuweisen. +Mit einem Rechtsklick auf den Ereigniseditor lassen sich alle selektierten Ereignisse entweder kopieren oder l\"{o}schen. Die Spalten f\"{u}r die Zeit und der PID lassen sich nachtr\"{a}glich editieren. Somit besteht eine komfortable M\"{o}glichkeit bereits programmierte Ereignisse auf eine andere Zeit zu verschieben oder einem anderen Prozess zuzuweisen. -Neben dem ``Ereignis''-Tab gibt es in der Sidebar einen Tab mit dem Namen ``Variablen''. Dort kann man alle Variablen des aktuell ausgew\"{a}hlten Prozesses editieren. Mehr dazu aber sp\"{a}ter. +In der Sidebar gibt es neben dem Ereignis-Tab einen weiteren Tab ``Variablen''. Dort k\"{o}nnen alle Variablen des aktuell ausgew\"{a}hlten Prozesses editiert werden. Mehr dazu aber sp\"{a}ter. \begin{figure}[htbp] \centering @@ -140,7 +140,7 @@ Neben dem ``Ereignis''-Tab gibt es in der Sidebar einen Tab mit dem Namen ``Vari \subsection{Das Loggfenster} -Das Loggfenster (Abbildung \ref{fig:StandardGUI}, unten) protokolliert in chronologischer Reihenfolge alle eingetroffenen Ereignisse. Auf Abbildung \ref{fig:Loggfenster} sieht man das Loggfenster nach Erstellung unserer Simulation, an welcher 3 Prozesse beteiligt sind. Am Anfang eines Loggeintrages wird stets die globale Zeit in Millisekunden protokolliert. Bei jedem Prozess wird ebenso seine lokale Zeit sowie die Lamport- und die Vektor-Zeitstempel aufgef\"{u}hrt. Letztere werden sp\"{a}ter genauer behandelt. +Das Loggfenster (Abbildung \ref{fig:NeuErstellteSimulation}, unten) protokolliert in chronologischer Reihenfolge alle eingetroffenen Ereignisse. Auf Abbildung \ref{fig:Loggfenster} sieht man das Loggfenster nach Erstellung unserer Simulation, an welcher 3 Prozesse beteiligt sind. Am Anfang eines Loggeintrages wird stets die globale Zeit in Millisekunden protokolliert. Bei jedem Prozess wird ebenso seine lokale Zeit sowie die Lamport- und die Vektor-Zeitstempel aufgef\"{u}hrt. Letztere werden sp\"{a}ter genauer behandelt. \begin{figure}[htbp] \centering diff --git a/LaTeX/diplomarbeit.pdf b/LaTeX/diplomarbeit.pdf index 40b871c..2f74f0f 100644 --- a/LaTeX/diplomarbeit.pdf +++ b/LaTeX/diplomarbeit.pdf @@ -559,18 +559,19 @@ endobj /ProcSet [ /PDF /Text ] >> endobj 256 0 obj << -/Length 2120 +/Length 2126 /Filter /FlateDecode >> stream -xMs6R@onAG:nAT_g4$1JܚY8FKieu]II6݇UJb*d"72M$SD GSjtT9©DZ_T5yR-r],Ķ8/?.:)'UQn9tna5R9ͅA"ws~(4(Y6).E49ɕzP+̝3aX -8g;^j w|jM"DJJg귭Pc12A_1X8Dpb18|!JQh+Y -޵EޗMٕq%2?JDwgӧOu%aT/]o u7.vsMYlgut'uy*6F|;zM4la \@_LuެeSvlܽ_mz>VQBxneJ2'TúG*y$KG ]@,1w+Je<՝{@x/{s"D6֝UJG( y<R:tɦ+JZ8uvԻZ2?HX bOu.(+N.3`&1enrʛͪC{Jd~*hȬ/FmfL 0 ^;6mp>z೯?q{l৷U{;۲U)y(l%cdW1SRIf.]eXiw#a.s[ad V 3g~'gREZ){PMg@,xCw rB,1n*E4&Isc -6cpIΙp!*׷QcUx3#NGXa$T)`{F-mD*mĻ58J뤕6%rV/}RY\h#g?o7:~^|קտ/'}JIiaISBK͓zQf 8n 4㤤ӵ1JҚ⼙[#eUusߞIIǂUNbŦ*l"72M$SD GSUjtV%©EP̺TER_ľ:u/?MUyǩ"fj`?wI6jJ +-|x@tx\6"gIjјTB0hba9Y{}hꖫM5" ()UN so[b}@spb9sypb1G8|!JQi+[ʫ]Ӭbv%a\"[ ) ŔsEIEwH 3}|wǮwo]t'>T]B@#׮{֡YpX2SO]Xǫb,xuc1ƈ"zYGo=o+NU \݋6?v*jL\ZKQKoS,v*ry,e\ V\ ? ;^2`'z׷M3PixʩaV r;zM4#2la \@_ucSltٝWp5c,2ܦboeIuOT>v=K @~ Aĭ(#lA +{jGDቊsрkE̤e0H? L3:DȷL,xcw-'4&̥!|vO? \x c_Q*'iL$-2hraaB<~[eh>F2eC.:30C#̙a0{(# <2&bbS]X&<[GԟWc] +*moX0P$ag<P,X:|raaܘ-TAz]Y)op %vQE(!f[X@ g'vC ;ӸyRcUBYܛ + GIendstream endobj 255 0 obj << /Type /Page @@ -597,7 +598,7 @@ endobj 261 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] -/Rect [89.9113 575.6145 167.0466 585.5699] +/Rect [89.9113 575.5155 167.0466 585.5699] /Subtype /Link /A << /S /GoTo /D (section.1.2) >> >> endobj @@ -1036,14 +1037,10 @@ endobj /Filter /FlateDecode >> stream -x[o6)h?5Ya&˺%V"\XvӏD( ,mlsn -JAB@(]dk@R(¼vScL2gUQ*RfU?\ c !Mnxf[]lNSW[RWn~\u&ٔ YI#@P(,9lwa@A#(O@&TR @`rWW\X5fN)\s]qOuwmnrӼN6/oO5blBnraөbC -33i1J $/((g&%=9XŤa ROI4U'qk=\M^Ӕsc/Ncds :ehT3fi iD(,h4'S -htF4vk W=*  tXBrr -\U7W1by+#E@@kJҁwwvd8q~Tfwu`:nۢ~s`jF7W%AJ5uP+#ܞa3Jb9Y[>bL.33ҙ ˏDiHB@ˢSBBi~czB xhƾP hyBu3b62JZ@ͲVnCx>f3Xm<*Tv_H&if*Te*CnϢoxNPI]y]iV/kdF]8U%nNִi MAsSb7w&YqK 3o.`y -3CEwA2NY+mgFߩܶS.YX껇csͫ~V~{BNNKH -Th S(NL|s5N|pb@AbV&A!7TGww3Uv{f۬76* %ͩҡlhFVA8orI[-TnBj2n!F(@N&Zo򙞈A# cSŢA' -I8X 6TRjDnCq +5)W\oK]'_PFt,[Ba0JT+S]:U* 0 Pq YbW 4G恋a3JR9Y k~k3w"4z$D߫R mƱU>c:4IOFLv|aRt874GC0fEks'}եI0Utgًc/^\g/*l'e-{Fֵ݁/Kd&C]v<׺ۏVKdGC1kG3rpiT6Dvc0ZDuBs ncPV _u}^v04]7à +tj/wE= ÐmDH@8&:U*5")`Rqn/,NL<♄vO~۶ެfn+fEtv9U.\**[,nBx kp?苺7B,571]AkbfO6xFu.m#;zW麾5)S ?uTb _kB0k0^#V#'k1Sܷn-vS=1ln%S#2?[9U*f,qЯy˙.VxYBs tQWAGX!KMtVgq} #B0d*ryT/ +h&4H(4לYn#JB@8M _;܅R/nџݣm`EUc7[]xTLRIXomXU=*U ͥ-+ {R>+8s2367endstream endobj 325 0 obj << /Type /Page @@ -1084,14 +1081,14 @@ endobj 333 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] -/Rect [89.9113 522.5604 181.3668 532.8679] +/Rect [89.9113 522.5604 174.0418 532.6149] /Subtype /Link /A << /S /GoTo /D (figure.3.2) >> >> endobj 334 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] -/Rect [89.9113 504.6332 184.4462 514.9406] +/Rect [89.9113 504.6332 253.4073 514.9406] /Subtype /Link /A << /S /GoTo /D (figure.3.3) >> >> endobj @@ -1119,7 +1116,7 @@ endobj 338 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] -/Rect [89.9113 432.9242 174.6576 443.2317] +/Rect [89.9113 430.7025 395.9273 443.2317] /Subtype /Link /A << /S /GoTo /D (figure.3.7) >> >> endobj @@ -1188,125 +1185,133 @@ endobj /Font << /F26 242 0 R /F28 245 0 R >> /ProcSet [ /PDF /Text ] >> endobj -364 0 obj << -/Length 1392 +365 0 obj << +/Length 1090 /Filter /FlateDecode >> stream -xڅWKoFWHO>zkhEl$\Kȥl43;4% vvf8+|TRRꮻ`~AG,U: L 8+t-j@VJۋw"[ Ln'UhFE?&i!4Pxv -<9d*Z%pKT06r bkP9tSь%Wc6c[iqD>iG7tiYZ'gZXqef2By̿C|`&5R%B5xHRN]L2z\ SkHa feHETp# x"׍qW/I.akDy!,^䒌\Or(n17TێAA#)sj/2Q8P:NI c;H`,m=5od[;mM^>W_(Rh]-y@{nv#5=㟺^K@ʈwa_Q7P@kEgmmq $4)__h*i0/իayfnԮg1z|K&apCS ٨~; \åM k[ eD7nD>Bgcw tlT/?j;聁4?qz\C0|΍,\ -~Z8v?OޘDFK:=1hs/h!GyJ2pVM֘E::":8.(,5uHe_7mZ)\5S!o -8D`2m>]2 4GxxnNzYߘORd9СkF"(@j)>.>lMuT.Ēv&`)ɮ|d?~5/fRg`}'}T -dFk{}Gɱ͡=-}.P҇z~'l|؅[D9:{!U 3(v}XKbB)Sy*6zc\eVQs?6.U#q3$37BDƧ]Jj_9H_[H/zjGA8ԽʢAo'7s/fXCq)HAhHX|!jHRqp[#f] -Mp,lew `y,*?;}zuΔS*Vj<,-LoTendstream +xڭVKo8W(çHִ͢ac/IBe#wdYC i‡ZIDX/h_ Hb n4#0fTJ" QR*Y-oypN i 0*N-&ddFXibD>ea-]|X {*фJ̡c.5vK3E0| ^ J !cG}yJK[{V@аy؎}}1$1`> +y&`$c@vOGa$?j DڴH2>Ts[X*U6N P,#t}" +=U}+0M}+d & &¶lXovrLWu)[wsc!eQ4?ǘ N G r9-2y[@p?H~8N*zՒ!v2V>ȡkC串᮱.]MXвčTAn׈#5_}O. BMqؠEvoݯ4P^mi O2Wu"qxB6,DaQ V| +mГ_5ܸN TLa0FLL6 ss^l, +; Qs9S%s<_hOu>rk#e [K;쿵0([8rBD NJ~q~w(pq]ʖM QXB5/!FOa)q4@Ӣ}#,Ix_͡so?!&ZƼ"c9Dq$4|w0X Fb6tc7=hAh\"ZBDk{> h1 j +_^p}]E{1fJA-da ss{˜m_[wt𘶝?.HeZs0`H PNUe <&cv)?$Pb= Bqx&QjO滍endstream endobj -363 0 obj << +364 0 obj << /Type /Page -/Contents 364 0 R -/Resources 362 0 R +/Contents 365 0 R +/Resources 363 0 R /MediaBox [0 0 595.2757 841.8898] -/Parent 367 0 R -/Annots [ 366 0 R ] ->> endobj -366 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[0 1 0] -/Rect [76.4707 394.5389 108.3246 404.5934] -/Subtype /Link -/A << /S /GoTo /D (cite.Tanenbaum) >> ->> endobj -365 0 obj << -/D [363 0 R /XYZ 74.4095 793.4011 null] ->> endobj -6 0 obj << -/D [363 0 R /XYZ 74.4095 771.7323 null] ->> endobj -10 0 obj << -/D [363 0 R /XYZ 74.4095 573.1522 null] ->> endobj -14 0 obj << -/D [363 0 R /XYZ 74.4095 247.0478 null] +/Parent 368 0 R +/Annots [ 367 0 R ] >> endobj 362 0 obj << -/Font << /F26 242 0 R /F28 245 0 R /F61 291 0 R >> -/ProcSet [ /PDF /Text ] ->> endobj -372 0 obj << -/Length 770 -/Filter /FlateDecode ->> -stream -xڭUKs0WhԪ$K h`(\ mI&'zV8K;X^}LEcN@Rp-7Vp1{I1| ]nJ`-qc^T8U2E k3N6 ]m -ؐ%[ZʐJ_ML$b([šA 0SRS`{pEV_mߜ -Uz9 &^ -ܜ h;U S0~噷=f61<͇ b4R;)7=uh,@ - @`J*3r*ʭ\ێlAS -ol/ж7ʋ32f$L\x%Ϛ׽\4V!W1.^5 iٲ^mKg]*youx'NַAy*Y8S cU@ڽhRE - ntJᔚ?KJa3> endobj -369 0 obj << /Type /XObject /Subtype /Form /FormType 1 /PTEX.FileName (/usr/home/buetow/svn/vs/trunk/LaTeX/images/verteiltes-system.pdf) /PTEX.PageNumber 1 -/PTEX.InfoDict 374 0 R +/PTEX.InfoDict 369 0 R /Matrix [1.00000000 0.00000000 0.00000000 1.00000000 0.00000000 0.00000000] /BBox [0.00000000 0.00000000 366.00000000 180.00000000] /Resources << /ProcSet [ /PDF /Text ] /ExtGState << -/R7 375 0 R ->>/Font << /R8 376 0 R >> +/R7 370 0 R +>>/Font << /R8 371 0 R >> >> -/Length 377 0 R +/Length 372 0 R /Filter /FlateDecode >> stream xVMo1 W8N+qҲZ$誴vdHEj]ǟo^s~O=K:u۲) rٗX85&G:ۛdKɡ޲::>k%]p#0i$51%, JP[H{6 $K H4OF@|j./R~'Pʎõӓ t{󇛫{O]HfOv*ǴaJ!XlyK-e*E,K4ҵz/>D4 \^B~L"I/) .Q Ûex㿕PxmC$ [?g~/ Ue`v4A$2Tn^Y␩8FMlT!Yr )tA,((Py'C,U/8UD [Iߖ3Ocz\Da4M&Ri֡d*ԒeP^EXf 7MdIɏ F'C9w: Κ#n;?q7/u~W> endobj -375 0 obj +370 0 obj << /Type /ExtGState /OPM 1 >> endobj -376 0 obj +371 0 obj << /BaseFont /Helvetica /Type /Font /Subtype /Type1 >> endobj -377 0 obj +372 0 obj 714 endobj -373 0 obj << -/D [371 0 R /XYZ 74.4095 793.4011 null] +367 0 obj << +/Type /Annot +/Border[0 0 0]/H/I/C[0 1 0] +/Rect [76.4707 384.3703 108.3246 394.4247] +/Subtype /Link +/A << /S /GoTo /D (cite.Tanenbaum) >> +>> endobj +366 0 obj << +/D [364 0 R /XYZ 74.4095 793.4011 null] +>> endobj +6 0 obj << +/D [364 0 R /XYZ 74.4095 771.7323 null] +>> endobj +10 0 obj << +/D [364 0 R /XYZ 74.4095 564.7986 null] >> endobj 342 0 obj << -/D [371 0 R /XYZ 213.3171 532.2376 null] +/D [364 0 R /XYZ 213.3171 155.4996 null] >> endobj -370 0 obj << -/Font << /F61 291 0 R /F28 245 0 R >> -/XObject << /Im2 369 0 R >> +363 0 obj << +/Font << /F26 242 0 R /F28 245 0 R /F61 291 0 R >> +/XObject << /Im2 362 0 R >> /ProcSet [ /PDF /Text ] >> endobj -381 0 obj << +376 0 obj << +/Length 1178 +/Filter /FlateDecode +>> +stream +xڍVQo6~ϯ URդԦ]w{˯&\BS|<6RaQ'yZ20=Wiߏ.XIU2{x^&sԻS}Vu-/e̒ViӦSڞ~Wy5D6j357. *)˒;j77Uiᠴ)U=?(ai|O&En>O4aT2aOg"FMViDN4JwVX_㖕I=_זutñ< =Yu[6U{HoBvE^RT?}Ŝ`&dU-*. +Ye8AIGE./W XȣLJP͆C~ɇ=cm`h0fiDeY}}^L +"|\y>Pgӆ# ^{=9Dj΀zɮ}V}6")ٺf-Q$"L + )W X,*[L`r&3Yѿ(˄y*s]&OcPmд葜e"OU; AF%ޘO\P1p`ԡw$ I-ڨiېDÝirf5,.uay=:^M]f&p+<#bdi+ +q C VLb ^%N􊜏NG-)mc7k4e%Q)IV7ÕQˑ{BRA,e k~^Ҽ%roY?6endstream +endobj +375 0 obj << +/Type /Page +/Contents 376 0 R +/Resources 374 0 R +/MediaBox [0 0 595.2757 841.8898] +/Parent 368 0 R +/Annots [ 378 0 R ] +>> endobj +378 0 obj << +/Type /Annot +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [73.4132 702.552 90.6937 715.0813] +/Subtype /Link +/A << /S /GoTo /D (figure.1.1) >> +>> endobj +377 0 obj << +/D [375 0 R /XYZ 74.4095 793.4011 null] +>> endobj +14 0 obj << +/D [375 0 R /XYZ 74.4095 649.8815 null] +>> endobj +374 0 obj << +/Font << /F61 291 0 R /F28 245 0 R /F26 242 0 R >> +/ProcSet [ /PDF /Text ] +>> endobj +382 0 obj << /Length 1093 /Filter /FlateDecode >> @@ -1317,30 +1322,30 @@ xڭVKs hhI ŝΈ(S4fJ؄D]%oϰ\,]%-׶KPdI:4+Y"ɳ]Wu$.Mγ"z4t,N%@Y]ĺQj~Զi.2gzf#3="A $4&nKT4m @fAaDui{y?4XE-2;}h*E )4)'ܰǙ \^ԣnAaWNI~3by}}Ӧ\e @WpMH#kD!cII?$臟Fƛhy Q,:^{.ąZ("Eɥ{hlhɥ;O.oj\֮PdNH-<<4P&9I42]:zOa'JO)m/ʯƹXeWҨ0A,&#k q67]<+ A~JP4CaČ:5@?N1chNH)zK358 YqYڈY[14)2ZkZ<)Cˊ7Ri>F|Y(S#X"iF1pBP%\ kOqS2=E2'Kowi5,z,0p@7ƞu5pKr)OOƴa!Msi)Pg",Huendstream endobj -380 0 obj << +381 0 obj << /Type /Page -/Contents 381 0 R -/Resources 379 0 R +/Contents 382 0 R +/Resources 380 0 R /MediaBox [0 0 595.2757 841.8898] -/Parent 367 0 R -/Annots [ 383 0 R ] +/Parent 368 0 R +/Annots [ 384 0 R ] >> endobj -378 0 obj << +379 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 384 0 R +/PTEX.InfoDict 385 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 385 0 R ->>/Font << /R8 386 0 R >> +/R7 386 0 R +>>/Font << /R8 387 0 R >> >> -/Length 387 0 R +/Length 388 0 R /Filter /FlateDecode >> stream @@ -1348,54 +1353,54 @@ x (C!R;}tI6?΃ߏbw'> endobj -385 0 obj +386 0 obj << /Type /ExtGState /OPM 1 >> endobj -386 0 obj +387 0 obj << /BaseFont /Helvetica /Type /Font /Subtype /Type1 >> endobj -387 0 obj +388 0 obj 452 endobj -383 0 obj << +384 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] /Rect [207.1329 335.218 224.4134 347.7473] /Subtype /Link /A << /S /GoTo /D (figure.2.1) >> >> endobj -382 0 obj << -/D [380 0 R /XYZ 74.4095 793.4011 null] +383 0 obj << +/D [381 0 R /XYZ 74.4095 793.4011 null] >> endobj 18 0 obj << -/D [380 0 R /XYZ 74.4095 771.7323 null] +/D [381 0 R /XYZ 74.4095 771.7323 null] >> endobj 22 0 obj << -/D [380 0 R /XYZ 74.4095 469.0618 null] +/D [381 0 R /XYZ 74.4095 469.0618 null] >> endobj 343 0 obj << -/D [380 0 R /XYZ 286.2652 157.2025 null] +/D [381 0 R /XYZ 286.2652 157.2025 null] >> endobj -379 0 obj << +380 0 obj << /Font << /F26 242 0 R /F28 245 0 R >> -/XObject << /Im3 378 0 R >> +/XObject << /Im3 379 0 R >> /ProcSet [ /PDF /Text ] >> endobj -390 0 obj << +391 0 obj << /Length 1737 /Filter /FlateDecode >> @@ -1412,30 +1417,30 @@ G \8KHꞡ_Lda}| d&3cOmQ>7n9ryŤH)$\JrC{I֥I ϱ J悋nҫD$î11׮'fCTUO4=AZl{b&(OlHm5~K}Ycw}"*0sM2+*ޱ|i.]q|ȱ~`la-6f+b~-UEBY1@u8jthݩBJPD [prA:H9qC#֏a;¸W$X}sO_e\LWhTĠpx4[Њ">bqXuE4IAo˄li!%c< yb}'/&1;<\̡6sŒk*5To3$GA ɭġh";]o:4ogH]ǝ'9> endobj -391 0 obj << -/D [389 0 R /XYZ 74.4095 793.4011 null] +392 0 obj << +/D [390 0 R /XYZ 74.4095 793.4011 null] >> endobj 26 0 obj << -/D [389 0 R /XYZ 74.4095 771.7323 null] +/D [390 0 R /XYZ 74.4095 771.7323 null] >> endobj 30 0 obj << -/D [389 0 R /XYZ 74.4095 575.1486 null] +/D [390 0 R /XYZ 74.4095 575.1486 null] >> endobj 34 0 obj << -/D [389 0 R /XYZ 74.4095 368.0374 null] +/D [390 0 R /XYZ 74.4095 368.0374 null] >> endobj -388 0 obj << +389 0 obj << /Font << /F61 291 0 R /F26 242 0 R /F28 245 0 R >> /ProcSet [ /PDF /Text ] >> endobj -395 0 obj << +396 0 obj << /Length 1103 /Filter /FlateDecode >> @@ -1447,29 +1452,29 @@ T wʈMa|94J~o$C&˄VAnUp "%e< ](6qs[ @ux&z/>է8ϗ}v*2h54u>q1&$[^E>es3h$&8 =Ѣ$+ndE >.F@ɞCoIpFuFo"J!*~9 GDW$1} \vTo[rĹcBLiSvqoWB^endstream endobj -394 0 obj << +395 0 obj << /Type /Page -/Contents 395 0 R -/Resources 393 0 R +/Contents 396 0 R +/Resources 394 0 R /MediaBox [0 0 595.2757 841.8898] -/Parent 367 0 R +/Parent 368 0 R >> endobj -392 0 obj << +393 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 397 0 R +/PTEX.InfoDict 398 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 398 0 R ->>/Font << /R8 399 0 R >> +/R7 399 0 R +>>/Font << /R8 400 0 R >> >> -/Length 400 0 R +/Length 401 0 R /Filter /FlateDecode >> stream @@ -1479,47 +1484,47 @@ x Y La- 7pD7[:pHp {-q*YA^6@K  B|jZ%Tp'endstream endobj -397 0 obj +398 0 obj << /Producer (GPL Ghostscript 8.61) /CreationDate (D:20080624223236+02'00') /ModDate (D:20080624223236+02'00') >> endobj -398 0 obj +399 0 obj << /Type /ExtGState /OPM 1 >> endobj -399 0 obj +400 0 obj << /BaseFont /Helvetica /Type /Font /Subtype /Type1 >> endobj -400 0 obj +401 0 obj 499 endobj -396 0 obj << -/D [394 0 R /XYZ 74.4095 793.4011 null] +397 0 obj << +/D [395 0 R /XYZ 74.4095 793.4011 null] >> endobj 38 0 obj << -/D [394 0 R /XYZ 74.4095 771.7323 null] +/D [395 0 R /XYZ 74.4095 771.7323 null] >> endobj 42 0 obj << -/D [394 0 R /XYZ 74.4095 628.326 null] +/D [395 0 R /XYZ 74.4095 628.326 null] >> endobj 344 0 obj << -/D [394 0 R /XYZ 278.1207 239.5758 null] +/D [395 0 R /XYZ 278.1207 239.5758 null] >> endobj -393 0 obj << +394 0 obj << /Font << /F61 291 0 R /F26 242 0 R /F28 245 0 R >> -/XObject << /Im4 392 0 R >> +/XObject << /Im4 393 0 R >> /ProcSet [ /PDF /Text ] >> endobj -403 0 obj << +404 0 obj << /Length 861 /Filter /FlateDecode >> @@ -1529,29 +1534,29 @@ xڍV 1(fǃMy64x.}Dik3lWtwR PA(7"{o0@xFZvOg`hƚ7RJvQWjy> endobj -405 0 obj << +406 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] /Rect [137.0253 713.2563 154.3058 725.5326] /Subtype /Link /A << /S /GoTo /D (figure.2.2) >> >> endobj -404 0 obj << -/D [402 0 R /XYZ 74.4095 793.4011 null] +405 0 obj << +/D [403 0 R /XYZ 74.4095 793.4011 null] >> endobj -401 0 obj << +402 0 obj << /Font << /F61 291 0 R /F28 245 0 R >> /ProcSet [ /PDF /Text ] >> endobj -409 0 obj << +410 0 obj << /Length 905 /Filter /FlateDecode >> @@ -1559,15 +1564,15 @@ stream xڭVKo8W(Kr[E[lVD#VZYF%Yd]В I4" !%%mP1֖kcHA3o=ʜhmH2yAYBÐEBplOM]dvfLUQGM[(&z9d1x )RW0^! ոxM<^EwSWBBc/*:ߋ X4iRMG4ťJÅJsB0U |,GI}b΁9&$Z@ EC:r09uEyL!ޓ;h }w̷v]='6rɏ ¥3;=㪤lҐx0 '3c4G#j8҂+G%3hVVj}EbTEFE-RLr 9 gs q=hkA [ uz\C2!iY@}Q5eD\%O* Z$ $Z3-"ʎq)ZN8@SlXa=ɛdc3x̝w{rSSepEGfG⺬?,s:C?hd80Qe/>#8Vdž5R>Fa{5BG4Q{BL[endstream endobj -408 0 obj << +409 0 obj << /Type /Page -/Contents 409 0 R -/Resources 407 0 R +/Contents 410 0 R +/Resources 408 0 R /MediaBox [0 0 595.2757 841.8898] -/Parent 413 0 R -/Annots [ 411 0 R 412 0 R ] +/Parent 414 0 R +/Annots [ 412 0 R 413 0 R ] >> endobj -406 0 obj << +407 0 obj << /Type /XObject /Subtype /Image /Width 380 @@ -1594,61 +1599,60 @@ CK |깗D"=))s}SIꌎ$'ƆYkp$ kK"*%9uv>r.vL,ֵ*pRcuK\K;D"=IHm˅[6m<1%HG≱d7kv;7ܾy Dz/ܺ~ډ3[4mq5okS.ck|V>:>u .8<$89spe9sp98p8s9sp8p89s98p8pss9sp8p89s98p8ps9sp98p8Õ89s98p8ps9sp98p8s9sp98p8+8ps9sp98p8s9sp98p89s9sp8pWp8s9sp98p89s9sp8ps9s98p 98p89s9sp8ps1猌ќscsδM\}놴C"H<ݺucrr眺'[''H$ңOƏrBǁ͇NH$ҏ*5՟5'{׮]۷dgH$ҏ*dYkːendstream endobj -411 0 obj << +412 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] /Rect [442.677 171.0176 459.9575 183.5468] /Subtype /Link /A << /S /GoTo /D (figure.3.1) >> >> endobj -412 0 obj << +413 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] /Rect [397.7563 153.0904 415.0368 165.6196] /Subtype /Link /A << /S /GoTo /D (figure.3.2) >> >> endobj -410 0 obj << -/D [408 0 R /XYZ 74.4095 793.4011 null] +411 0 obj << +/D [409 0 R /XYZ 74.4095 793.4011 null] >> endobj 46 0 obj << -/D [408 0 R /XYZ 74.4095 771.7323 null] +/D [409 0 R /XYZ 74.4095 771.7323 null] >> endobj 50 0 obj << -/D [408 0 R /XYZ 74.4095 580.9861 null] +/D [409 0 R /XYZ 74.4095 580.9861 null] >> endobj 345 0 obj << -/D [408 0 R /XYZ 240.2747 218.7511 null] +/D [409 0 R /XYZ 240.2747 218.7511 null] >> endobj -407 0 obj << +408 0 obj << /Font << /F26 242 0 R /F28 245 0 R >> -/XObject << /Im5 406 0 R >> +/XObject << /Im5 407 0 R >> /ProcSet [ /PDF /Text /ImageC ] >> endobj 419 0 obj << -/Length 1531 +/Length 1495 /Filter /FlateDecode >> stream -xڭXKs8 W(T,_z;I;7S݃Zf&~eKM:;H@#FD~"5ӼLT0"-xWx$0'cog"eGwHGBOOգMLd^Ċ-pkwKcSݠ8Y&ʁ{j,fgOKtf v(? -864\}^ -6{D!ad5t==abf[~C!Rz\s]i:&ǚ,Em_u[lAH#)å6w;2Z -?uCv' -0OMW|2B桧a]Djz»5J[ۦ/"d\eK*dN@K6 -?Gp$M3p -GS+tΔȋ +.`:p7L>[;T>L4-"p,_>֏ O}B1Q2-4W,i 4k6B8e*L3e4%yTRT"| ̟%oۘo]d^kBS)Kή^݃iSr'ߑiÞdiF9e28^;SA^isUƝQkFClkW遏: U_#pdkN& -zRYٴGlү oc ڊ[)аߝ͍|~eTn$zV;ڹn)$RuP2/+pӡs2at~n>Ly|S&SWrܑRc6pm:'s֮E q [B=Rpjn`ڎlmV˶=`?K^RtM(phCt=Ʋ1Z*VGڂ_vc G1iw r ncM3+/|HŠ7s.gk6tG]84)aتH[OǢR0͉~hEZ{)0Nvv4{A#B ҆8_YPgE-%SpmogmMOxwUK#_2ugF,^]tw J XCEſt2˳0Bq'`{\SƯÃb {Di<^(ueurcti EoH +k+ye'z׶u_j:Kxsڞh"zc7^bڛbe<(:@|u />*c?dJxDpW>E~#ڦ\?PB7m O_sBendstream +xڭ]o8=h,vho{Z`JtG$n7jHQq$,ṎL"o<+j ^M[),3m"2؞0>?r%M+\i+'ĭkLJw姻Qei*OˑRMMsf^͉"n.WJڞRņʵKߺdX=}Pwk$=^7-l?ءNKa +?v_!4:n' o4Em_UG\ہK í2IwMc[FW6Fo &phhթʫOV} 6 HlxW"h}(RIeGF*!  +hxf5=4.QԅaJL0)WsNN +f='Z + yI,>~Qc"e,J= ϑ$L6ϋr)3g!YeTxFa/ ҈_ۛ&v50s):o*RPAXr.]Fb (2_`0NSHΒpWC4B.T%;T[j[LC ˜Y .yݝ$FΩ x^f,w (ȏwIU@p(ʹ +yA/T!=CjEVPǒRR= LQk镧L(;pf5=4ɌB LsTߔ{-Y.Ηb;w@Pkӆa+U *>Rq\ +\puZ*M7G2hR%vuŊ-MW܆ἿB{`Vʸ-qt ~C ڡkKB( }$*ɸ3+z>x# 6`R NLbVАP nA`i;6'ϵ_KpB-4.D + ]#MTkMW]s.j`b 47A_Жj@їmLdaQ>xBS3Dg9.v,cG,:`RzB9LzfPc(Na؟Jۀ_KPL}"ys>Z0&Q=K4@!sS+v#"Iϙč~> QeE}Қ!p]alLyES<iѝN ¿:#XL/ouГJ> endobj -414 0 obj << +415 0 obj << /Type /XObject /Subtype /Image /Width 500 @@ -1681,7 +1685,7 @@ endobj 422 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] -/Rect [205.1356 347.8683 222.4161 360.3976] +/Rect [205.1356 328.5148 222.4161 341.044] /Subtype /Link /A << /S /GoTo /D (figure.3.2) >> >> endobj @@ -1689,41 +1693,35 @@ endobj /D [418 0 R /XYZ 74.4095 793.4011 null] >> endobj 346 0 obj << -/D [418 0 R /XYZ 303.7144 455.7621 null] +/D [418 0 R /XYZ 307.3769 452.2716 null] >> endobj 54 0 obj << -/D [418 0 R /XYZ 74.4095 413.2648 null] +/D [418 0 R /XYZ 74.4095 407.5719 null] >> endobj 417 0 obj << /Font << /F61 291 0 R /F28 245 0 R /F26 242 0 R >> -/XObject << /Im6 414 0 R >> +/XObject << /Im6 415 0 R >> /ProcSet [ /PDF /Text /ImageC ] >> endobj -425 0 obj << -/Length 1229 +426 0 obj << +/Length 1162 /Filter /FlateDecode >> stream -xڭXK6WhkHIQ.z`rw(zXmLQ|3 UD[ n߽my]FeWjM gZUaʊRh3tTo߸w b]Wc%5I"/JJ4Y -NCHG)aGaTZه(~vZAv3iLN1db -tbyE²QT-̑ϤuļiX v|n-1h6_xK -q+4&xP VbbE -ӫ(ȹ|q5ɋTncaJ$kHH FZ0Cs.j]Cx׻Ab(؄:c!crK`@#j$< aD+irカ9)NiVV8qz"m k-V`!;oNSˬj׈梈fOrgN/u!J:^H)q1`CNG1$ߩyTd|5OFC~-M_JOo˿Uk c{ׄ9emϋް⌚RʂJUh2@]H')n0*Q^gF(qw_p(XLj-Sf +.ye"CerLPa ZcWG! úGqͯϚߢ&2Pfm^soZ]~*ÓLTZfX`/+/UY&եo M + L饮93UP.PkvHurzdZt;M/JPz#PH*lq{.ve_*=4|x\-\&lh]]]Z>{\x! +hE8h5M-G0uIW-^2:? $\t( -e\XxJyjeEnXVs) k .X`菕EUe >O²Q+V1^];LyZxE;gSt0@p E I ?ݙ/{;̵g/De< }z7ȩzp5];ukQ}DXZS `V,n\ٌj%B<|w oL7HI ?Lӎ=$q0%4;7KP*pps-Noybz+K LwTwoqU&YweE':p$']|m`u#~e{0GwrΪtm25cv7˪l}Ų~{@Fx9TZO> +_Fi/Z*UA.[MBSwY<6{z$˺QCʍ^*?ӧeBnb &HQ0g9`h +Qu/m" SLô)ϣ$u,Nyendstream endobj -424 0 obj << +425 0 obj << /Type /Page -/Contents 425 0 R -/Resources 423 0 R +/Contents 426 0 R +/Resources 424 0 R /MediaBox [0 0 595.2757 841.8898] -/Parent 413 0 R -/Annots [ 427 0 R ] +/Parent 414 0 R +/Annots [ 428 0 R ] >> endobj -415 0 obj << +416 0 obj << /Type /XObject /Subtype /Image /Width 380 @@ -1862,7 +1860,7 @@ HI M] 0H88' u W#xLDhz2QE"I=oh,G5qHLIJL7EJ'1+8DήT$=-  x|{kc~)ڢ8g1:fMA%4`*M*A/l\i6G,,,GZG}:WSqNNkj,jJ~=ӸjtBʡUjgS)rSkv&ldR]r`LT6̚myc'fofHh4KKf'fMK] 4`Z2.o1.mr޴<#bǸeP1C?IWtrkpF`D /CiiiZ4il/iactvkUh4>ik *Pn/|zzt~w={)W5(60.O [O>˸3h ^k_S + !۝+KJum0䫷Ns~sFZ^9se^JU_J%VMJ}z~3ǝ1GOլ޲:`0B7[#Zs7D?O'Y>s/537<95 Y%ȇ_>$iJzNi]Gҕ)9(+; +(7/,؋~'.Ȝ`oy`KPqzu>>T׍zaݖʾۥ=E,mMɭy0SBNfq;lg6/-fP10p m=p`0գȁ@sjB=-j^דGe7Ď|Z|%Ttj0F`L,ȩx*:len)i6Z#Rq`C(N[#x^ܮ]'Ixv]If׏K6[Nnq,q8EEE7oLK =ދȞ Քqendstream endobj -416 0 obj << +423 0 obj << /Type /XObject /Subtype /Image /Width 180 @@ -1890,47 +1888,51 @@ SȈoD\ ٘Zl7Z%lL-6Z!7,7>L")dcjb,>߰ߞ{و|t9T,t)T(«8 {endstream endobj -427 0 obj << +428 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] -/Rect [307.9041 387.6575 325.1846 400.1867] +/Rect [380.5758 320.6064 397.8563 333.1357] /Subtype /Link /A << /S /GoTo /D (figure.3.4) >> >> endobj -426 0 obj << -/D [424 0 R /XYZ 74.4095 793.4011 null] +427 0 obj << +/D [425 0 R /XYZ 74.4095 793.4011 null] >> endobj 347 0 obj << -/D [424 0 R /XYZ 302.1747 473.3831 null] +/D [425 0 R /XYZ 267.6941 473.3831 null] >> endobj 58 0 obj << -/D [424 0 R /XYZ 74.4095 436.8347 null] +/D [425 0 R /XYZ 74.4095 385.3141 null] >> endobj 348 0 obj << -/D [424 0 R /XYZ 259.0544 298.8162 null] +/D [425 0 R /XYZ 259.0544 231.3789 null] >> endobj -423 0 obj << +424 0 obj << /Font << /F61 291 0 R /F28 245 0 R /F26 242 0 R /F33 253 0 R >> -/XObject << /Im7 415 0 R /Im8 416 0 R >> +/XObject << /Im7 416 0 R /Im8 423 0 R >> /ProcSet [ /PDF /Text /ImageC ] >> endobj -431 0 obj << -/Length 1385 +432 0 obj << +/Length 1447 /Filter /FlateDecode >> stream -xڭWK6W(CI- 7mHEQ$fF._ߡe[hpgF"QVG"_hgL"&#s2羺^=HpfɢH3׻oCѹr@fb։<޸q_]ݬ?]^|=)IS1+Ji%Rs/-˲ &_`VkX&ؼ/7\dFڌ*˻:2]j3hzԩ}s#3uZ}] jHavʢ!*:Æ[Hbџf jTR%%tmP<|xDdBGz7fgxZݻ2?%ؠ+ UӞ1!Tn`_Fm8mq{GWU>\Y-=mBw(eW>7,((CSZQtɸQεa'o#8viQĿ%=8Ӎ݃ iYOdHRІ.b;7rkd~(\9ƃ({7 N@3w;KL0 s[J#!F4 pFx̦"4bϢ Fqt(2K ʙ!˗O↣H(WWheQt 7ę,ɤA K Lt(#{mj[ˌDQ35AHH L' q_.'bW2`ob{#-D~:p2|S\Ʌ)l獙~ÝLrE5pXahwma3Tb3]x&=4B ѣ]ubΞ~(?SƵY:sD0b͎) -1զxF@$0ك"o|vy7M-OO .E5j\b]Mմa1_ґM  endstream +xڭXKo6Q D ٛ 7mRH-kղ;#Zi]hRp3?eHjT Ƣv˼nEct]E\h~˟֖g:d(J+[;qhܕy_߭~+NNS(LTi%B 3^2$2>E1bxÈBG冲8H͙f^+ 2 +gRN~XK]SV.oۅ>׫M퍐-v|][om8KN~mፕhkq drP:z3.<矅KCr :jVac89o&S%Rp4am?adZN)y{A wAorL"?SI2xS,AX0 MYqhjS)QBn8-?3fQ`938cgbM6EuCwn谔!ob/w?`ГIX+o)Mm[RH˾HVa R1('.kw?} mfN0Z$_~hƃ͞ɿqi0)endstream endobj -430 0 obj << +431 0 obj << /Type /Page -/Contents 431 0 R -/Resources 429 0 R +/Contents 432 0 R +/Resources 430 0 R /MediaBox [0 0 595.2757 841.8898] -/Parent 413 0 R -/Annots [ 433 0 R 434 0 R ] +/Parent 414 0 R +/Annots [ 434 0 R 435 0 R ] >> endobj -428 0 obj << +429 0 obj << /Type /XObject /Subtype /Image /Width 586 @@ -1945,62 +1947,56 @@ x 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,bMX,nVbXf5Y,n,R7ucX,ݯbXiյ9,nu[vqkwRQv҅bXkcucX,|u[݋bX,U3qvb[~>^S7b=ngnsX,KJZ)~fݬ&b2V|\X,k](X,˵dX,VӺU~vncLs,mf1u1Ƙm#3u3m{&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,bMX,nVbXf5Y,n,R7ucX,ݯbXiյ9,nu[vqkwRQv҅bXkcucX,|u[݋bX,U3qvb[~>^S7b=ngnsX,KJZ)~fݬ&b2V|\X,k](X,u$b[Glww݌1Ƙ&sU7c1#mwW1ncLhݾҩ1Ƙ~uk6LX,k|NX,nVbXfX,KX,nbX,uS7bdX,YMbbXn,R7ucX,bjX,KRc5Y,5ᵛ1c1c1c1c1yg&뵙onqZL }I^9g/b[RgzK.in=3"Ǹwiøik_tZzk9{ř;[=ҧ|C;q(Uoq'GkrdBu{\d1޻NV3Xfpw#uBImOu蓄4J1tqUI\=0got9MO&#GĞx\瓫&}M;1?&(X}a___ˡ{֊;\݊X\ӌeB~|*y컑J{ӫnF:v[-rtU ߞ 3> >> endobj -434 0 obj << +435 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] -/Rect [212.2141 188.9448 229.4946 201.4741] +/Rect [212.2141 153.0904 229.4946 165.6196] /Subtype /Link /A << /S /GoTo /D (figure.3.5) >> >> endobj -432 0 obj << -/D [430 0 R /XYZ 74.4095 793.4011 null] +433 0 obj << +/D [431 0 R /XYZ 74.4095 793.4011 null] >> endobj 62 0 obj << -/D [430 0 R /XYZ 74.4095 642.2367 null] +/D [431 0 R /XYZ 74.4095 589.0771 null] >> endobj 349 0 obj << -/D [430 0 R /XYZ 204.7328 277.9287 null] +/D [431 0 R /XYZ 204.7328 237.4712 null] >> endobj -429 0 obj << +430 0 obj << /Font << /F61 291 0 R /F33 253 0 R /F28 245 0 R /F26 242 0 R >> -/XObject << /Im9 428 0 R >> +/XObject << /Im9 429 0 R >> /ProcSet [ /PDF /Text /ImageC ] >> endobj -438 0 obj << -/Length 1666 +439 0 obj << +/Length 1747 /Filter /FlateDecode >> stream -xڭXݏ6 pVaco-֭C;l@{}pJ"qv)ʎ8 -44II8A:HskX{7 -zp4F|wm"Ygip -`y$Z<ڃLPE9oLC[[vUq7w ,KcVs3e66s8Yҙyc"RBBд CSRiMMtÆ{ ѷ]]5cWo^ ý{}>lf篅B4})m~3G"e?eO  -[{ĩN=wq( 6M=>٦$QoSz79rDHKܵ!<6t"dԷׄ-]+8932 -ZjLlb@쨽۶]Q,4K4& -`ӎHpV^1nuD^Hb\m/C,V]swd]3_JcJ{f6/f k+BHy!d5aI dK~{/:)!F8A"e6o\d@ș3A#. 1d~*8@|\hG6zKw=8[aug=PX0{_#k'tm皿^ ʮ^Okf N'DA˄ uГFs7Ts%Œ3+\NT3q!ybh"i^mHm*PǼ/ kKQ:vG9).>@zSy3_GRKCQf+EI?\ X0..H9 - -ܟT/2~xKOӴqtXǙ!%Sš1RMi}rMԌ:5t9KT`q %TH0z* ,ýqWtLP48< -ɴauAfIE(#5!M -˟4L@Y ^ҷȍPcwEEBr$xxkpF!YpJ)C= -*{j?;@b "gF,⚦1~jME' ,״udnj'U/)d<2sެ%"IJLcj2;@xƮVL i63EjsyGw. K G?36g&>O1XvO~}3QkJ }WfuY47`0UO/x7[pMC4Rq“ʬg-J -nZH }C`0QM|S4h32 94E~iK[Ƨ7:6ǗI"XUTk):qX?pb|3+|\RzڰsO|*B/4LjԦ+=粶z bI2h?s->LK(6= -?|Gendstream +xڭX_6 OG8,:\X]D\m7ܧ)ʎ88SO$ER$pA<B` +_Q^&"y@,ޗ_Gۙj4 c64ihngv7`-9˒D\MήstjnEm,,L 5+?]6Ey&thږ#&V55#ML xfy7[8 [aتq lҟM\L(Lġ.XAMMK &Z~C軮hb_dM7㎼/kRbyY=hnl\h'-'PмG$~;]QbmhMwM펾O) z}$z{@ԃSMz"MIQ$^ץiٕXצC#Om{MX @ "Ό_hs5R68R=9)Aڛomm'ĉ7NєvSy\\M ٶ;75q*:E}{Li'}Y Cgx\$ARqY +BE'[L]^˒ ^af.g"5{S#VWcփ7,85 +_ѱeY.!phfGtQ!35%,oXWÓ`?p_ϑ mUiyPibdLTY=qT$=xD8gVYrE'i@(sFA"N (V뾰5T)kKC8!vР \'9~vW|蹩̼#p!n.KQ'tRl=ATR%呱KUʒ8y3K|8\> endobj -435 0 obj << +436 0 obj << /Type /XObject /Subtype /Image /Width 310 @@ -2020,56 +2016,63 @@ B{o M>7pm -!tۖQr06RUpuMΉ!r:9s"oh'tZ0P""Bvjx:KP^xi^ʋ/KP^