From e1077418bf357655a3f09b22c349c5080a835179 Mon Sep 17 00:00:00 2001 From: Paul Buetow Date: Sat, 9 Aug 2008 16:14:04 +0000 Subject: jo --- LaTeX/argouml.zargo | Bin 38927 -> 42880 bytes LaTeX/chapters/conclusion.tex | 2 +- LaTeX/chapters/implementierung.tex | 47 +- LaTeX/diplomarbeit.pdf | 6023 ++++++++++++++++++------------------ LaTeX/images/serialize.eps | 737 +++++ 5 files changed, 3821 insertions(+), 2988 deletions(-) create mode 100644 LaTeX/images/serialize.eps diff --git a/LaTeX/argouml.zargo b/LaTeX/argouml.zargo index 5f819ea..e828d4a 100644 Binary files a/LaTeX/argouml.zargo and b/LaTeX/argouml.zargo differ diff --git a/LaTeX/chapters/conclusion.tex b/LaTeX/chapters/conclusion.tex index 6854d44..ce985ac 100644 --- a/LaTeX/chapters/conclusion.tex +++ b/LaTeX/chapters/conclusion.tex @@ -2,7 +2,7 @@ Es wurde erfolgreich ein Simulator f\"{u}r die Simulation verteilter Systeme entwickelt. Der Simulatur hat bereits 10 implementierte Protokolle zur Auswahl eingebaut. Zudem steht dem Gebraucher ein sehr komfortables Protokoll-API zur Verf\"{u}gung, womit der Entwicklung neuer Protokolle quasi keine Grenzen gesetzt sind. -Dar\"{u}ber hinaus verf\"{u}gt der Simulator \"{u}ber eine Vielzahl von sehr flexiblen Einstellungsm\"{o}glichkeiten. F\"{u}r jede Simulation lassen sich somit komplett andere Konfigurationen verwenden. Jeder beteiligte Prozess hat wiederum eingene lokale Einstellungen, wo sich auch jedes Protokoll f\"{u}r jeden Prozess separat einstellen l\"{a}t. Die Anzahl und Flexibilit\"{a}t der M\"{o}glichen Szenarien wird dadurch um einen sehr groen Faktor vergr\"{o}ert. +Dar\"{u}berhinaus verf\"{u}gt der Simulator \"{u}ber eine Vielzahl von sehr flexiblen Einstellungsm\"{o}glichkeiten. F\"{u}r jede Simulation lassen sich somit komplett andere Konfigurationen verwenden. Jeder beteiligte Prozess hat wiederum eingene lokale Einstellungen, wo sich auch jedes Protokoll f\"{u}r jeden Prozess separat einstellen l\"{a}t. Die Anzahl und Flexibilit\"{a}t der M\"{o}glichen Szenarien wird dadurch um einen sehr groen Faktor vergr\"{o}ert. Mit dem Ereigniseditor gibt es eine komfortable M\"{o}glichkeit eigene Szenarien zu programmieren und zu Simulieren. Hierbei kann entweder auf die bereits enthaltenen Protokolle- oder auf selbst implementierte Protokolle zugegriffen werden. Alle Dazugeh\"{o}rigen Einstellungen und programmierten Ereignisse lassen sich vom Gebraucher f\"{u}r eine sp\"{a}tere Wiederverwendung platformunabh\"{a}ngig abspeichern. Somit k\"{o}nnen auch abgespeicherte Szenarien beispielsweise an Komilitonen weitergegeben werden oder f\"{u}r eine sp\"{a}tere Pr\"{a}sentierung zwischengespeichert werden. Mit dem Loggfilter lassen sich mithilfe von regul\"{a}ren Ausdr\"{u}cken nur die relevanten Loggnachrichten anzeigen, was die Analyse einer Simulation erheblich vereinfacht. Weitere Funktionalit\"{a}ten wie Lamport- und Vektor-Zeitstempel sowie Anti-Aliasing ruden den Simulator ab. diff --git a/LaTeX/chapters/implementierung.tex b/LaTeX/chapters/implementierung.tex index dafe28b..6f147e0 100644 --- a/LaTeX/chapters/implementierung.tex +++ b/LaTeX/chapters/implementierung.tex @@ -28,26 +28,6 @@ In diesem Kapitel wird auf die Implementierung des Simulators eingegangen. Der S Da es sonst den Rahmen sprengen w\"{u}rde, soll im Folgenden der komplette Quelltext nicht bis in das letzte Detail behandelt werden. Der Quelltext erstreckt sich n\"{a}mlich, einschlielich Kommentare, auf \"{u}ber 15.000 Zeilen und \"{u}ber 59 Dateien. Zudem ist die generierte Quelltext-Dokumentation (Javadoc) \"{u}ber 2MB gro. Alle folgenden UML-Diagramme stellen aufgrund der \"{U}bersichtlichkeit lediglich die wesentlichen Dinge dar. Alle Details lassen sich im Quelltext und der dazugeh\"{o}rigen Dokumentation einsehen. Die Paketstruktur des Quelltextes ist in Tabelle \ref{tb:Pakete} in alphanumerischer Reihenfolge aufgef\"{u}hrt. -\section{Programmierrichtlinien} - -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 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. - \item Eine Quelltext-Datei hat eine maximale Zeilenl\"{a}nge von 80 Zeichen. Eine Ausnahme stellt die Klasse \textit{prefs.VSDefaultPrefs} dar, denn hier befinden sich auch l\"{a}ngere Texte die in Strings abgespeichert werden, wo manuelle Zeilenumbr\"{u}che wenig Sinn ergeben. - \item Es werden zuerst Klassen aus der Java-Standardbibliothek importiert, bevor Klassen aus dem VS-Simulator selbst importiert werden. - \item F\"{u}r die Einr\"{u}ckung des Quelltextes wird das Tool \textit{astyle} mit den Aufrufparametern \textit{--style=java --mode=java} verwendet. Hierbei wird eine Einr\"{u}ckungsl\"{a}nge von 4 Zeichen verwendet. - \item Namen abstrakter Klassen tragen stets das Prefix \textit{VSAbstract}. - \item Namen aller Klassen und Interfaces tragen als Prefix stets \textit{VS}, was f\"{u}r Verteilte Systeme steht. - \item Namen aller Protokollklassen tragen als Postfix \textit{Protocol}, zum Beispiel \textit{VSPingPongProtocol}. - \item \"{U}berall wo es Sinn ergibt werden Java-Generic-Datentypen verwendet (z.B. \textit{java.util.Vector} anstelle von \textit{java.util.Vector}. -\end{itemize} - - - \section{Einstellungen und Editoren} Eine Simulation ist von einer Vielzahl von Einstellungen abh\"{a}ngig. Da auf diese Einstellungen in den weiteren Teilkapitel sets zur\"{u}ckgegriffen wird, macht es Sinn die dazugeh\"{o}rigen Klassen zuerst zu betrachten. @@ -544,7 +524,14 @@ Die klasse \textit{VSCreateTask} wird vom Ereigniseditor verwendet. Der Ereignis \section{Serialisierung von Simulationen} -Der Anwender kann eine erstellte Simulation im Datei-Men\"{u} speichern und/oder eine bereits abgespeicherte Simulation laden. +Der Anwender kann eine erstellte Simulation im Datei-Men\"{u} speichern und/oder eine bereits abgespeicherte Simulation laden. Hierbei wird auf die von Java angebotene M\"{o}glichkeit Objekte zu Serialisieren gebrauch gemacht. Im Paket \textit{serialize} befinden sich Helferklassen, die bei einer Serialisierung und einer Deserialisierung einer Simulation unter die Arme greifen. + +\begin{figure}[h] + \centering + \includegraphics[width=13cm]{images/serialize} + \caption{Das Paket \textit{serialize}} + \label{fig:PackageSerialize} +\end{figure} \subsubsection{R\"{u}ckw\"{a}rtskompatibel} @@ -579,6 +566,24 @@ Es wurden noch nicht die Klassen der Pakete \textit{utils} (Abbildung \ref{fig:P Im Paket \textit{exceptions} befinden sich lediglich einige eigene Objekte f\"{u}r Ausnahmebehandlungen. \textit{VSNotCopyableException} wird von einem nicht-kopierbaren Ereignis geworfen, wenn versucht wird es zu kopieren. \textit{VSNegatieNumberException} wird geworfen, wenn intern negative Zahlen dort auftreten, wo sie es nicht sollten. Wenn ein Editorobjekt die Benutzereingabe einer Integer-Vektor-Variable nicht parsen kann, so greifen es auf \textit{VSParseIntegerVectorException} zur\"{u}ck. +\section{Programmierrichtlinien} + +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 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. + \item Eine Quelltext-Datei hat eine maximale Zeilenl\"{a}nge von 80 Zeichen. Eine Ausnahme stellt die Klasse \textit{prefs.VSDefaultPrefs} dar, denn hier befinden sich auch l\"{a}ngere Texte die in Strings abgespeichert werden, wo manuelle Zeilenumbr\"{u}che wenig Sinn ergeben. + \item Es werden zuerst Klassen aus der Java-Standardbibliothek importiert, bevor Klassen aus dem VS-Simulator selbst importiert werden. + \item F\"{u}r die Einr\"{u}ckung des Quelltextes wird das Tool \textit{astyle} mit den Aufrufparametern \textit{--style=java --mode=java} verwendet. Hierbei wird eine Einr\"{u}ckungsl\"{a}nge von 4 Zeichen verwendet. + \item Namen abstrakter Klassen tragen stets das Prefix \textit{VSAbstract}. + \item Namen aller Klassen und Interfaces tragen als Prefix stets \textit{VS}, was f\"{u}r Verteilte Systeme steht. + \item Namen aller Protokollklassen tragen als Postfix \textit{Protocol}, zum Beispiel \textit{VSPingPongProtocol}. + \item \"{U}berall wo es Sinn ergibt werden Java-Generic-Datentypen verwendet (z.B. \textit{java.util.Vector} anstelle von \textit{java.util.Vector}. +\end{itemize} + \section{Entwicklungsumgebung} In diesem Teilkapitel soll ein kleiner Einblick in die Umgebung, in der der Simulator entwickelt wurde, gew\"{a}hrt werden. F\"{u}r diese Diplomarbeit wurde ausschlielich Open Source Software verwendet. Die einzige Ausnahme stellt Microsoft Windows XP dar, worauf der Simulator zus\"{a}tzlich getestet wurde. Der Simulator wurde jedoch haupts\"{a}chlich unter dem Betriebssystem FreeBSD 7.0, was ein open source Unix-Derivat ist, programmiert. diff --git a/LaTeX/diplomarbeit.pdf b/LaTeX/diplomarbeit.pdf index 79d68c2..df41049 100644 --- a/LaTeX/diplomarbeit.pdf +++ b/LaTeX/diplomarbeit.pdf @@ -165,103 +165,103 @@ endobj << /S /GoTo /D (section.3.1) >> endobj 116 0 obj -(\376\377\0003\000.\0001\000\040\000P\000r\000o\000g\000r\000a\000m\000m\000i\000e\000r\000r\000i\000c\000h\000t\000l\000i\000n\000i\000e\000n) +(\376\377\0003\000.\0001\000\040\000E\000i\000n\000s\000t\000e\000l\000l\000u\000n\000g\000e\000n\000\040\000u\000n\000d\000\040\000E\000d\000i\000t\000o\000r\000e\000n) endobj 117 0 obj -<< /S /GoTo /D (section.3.2) >> +<< /S /GoTo /D (subsection.3.1.1) >> endobj 120 0 obj -(\376\377\0003\000.\0002\000\040\000E\000i\000n\000s\000t\000e\000l\000l\000u\000n\000g\000e\000n\000\040\000u\000n\000d\000\040\000E\000d\000i\000t\000o\000r\000e\000n) +(\376\377\0003\000.\0001\000.\0001\000\040\000E\000i\000n\000s\000t\000e\000l\000l\000u\000n\000g\000s\000o\000b\000j\000e\000k\000t\000e) endobj 121 0 obj -<< /S /GoTo /D (subsection.3.2.1) >> +<< /S /GoTo /D (subsection.3.1.2) >> endobj 124 0 obj -(\376\377\0003\000.\0002\000.\0001\000\040\000E\000i\000n\000s\000t\000e\000l\000l\000u\000n\000g\000s\000o\000b\000j\000e\000k\000t\000e) +(\376\377\0003\000.\0001\000.\0002\000\040\000E\000d\000i\000t\000o\000r\000o\000b\000j\000e\000k\000t\000e) endobj 125 0 obj -<< /S /GoTo /D (subsection.3.2.2) >> +<< /S /GoTo /D (section.3.2) >> endobj 128 0 obj -(\376\377\0003\000.\0002\000.\0002\000\040\000E\000d\000i\000t\000o\000r\000o\000b\000j\000e\000k\000t\000e) +(\376\377\0003\000.\0002\000\040\000E\000r\000e\000i\000g\000n\000i\000s\000s\000e) endobj 129 0 obj -<< /S /GoTo /D (section.3.3) >> +<< /S /GoTo /D (subsection.3.2.1) >> endobj 132 0 obj -(\376\377\0003\000.\0003\000\040\000E\000r\000e\000i\000g\000n\000i\000s\000s\000e) +(\376\377\0003\000.\0002\000.\0001\000\040\000F\000u\000n\000k\000t\000i\000o\000n\000s\000w\000e\000i\000s\000e\000\040\000v\000o\000n\000\040\000E\000r\000e\000i\000g\000n\000i\000s\000s\000e\000n) endobj 133 0 obj -<< /S /GoTo /D (subsection.3.3.1) >> +<< /S /GoTo /D (subsection.3.2.2) >> endobj 136 0 obj -(\376\377\0003\000.\0003\000.\0001\000\040\000F\000u\000n\000k\000t\000i\000o\000n\000s\000w\000e\000i\000s\000e\000\040\000v\000o\000n\000\040\000E\000r\000e\000i\000g\000n\000i\000s\000s\000e\000n) +(\376\377\0003\000.\0002\000.\0002\000\040\000B\000e\000i\000s\000p\000i\000e\000l\000i\000m\000p\000l\000e\000m\000e\000n\000t\000i\000e\000r\000u\000n\000g\000\040\000e\000i\000n\000e\000s\000\040\000E\000r\000e\000i\000g\000n\000i\000s\000s\000e\000s) endobj 137 0 obj -<< /S /GoTo /D (subsection.3.3.2) >> +<< /S /GoTo /D (section.3.3) >> endobj 140 0 obj -(\376\377\0003\000.\0003\000.\0002\000\040\000B\000e\000i\000s\000p\000i\000e\000l\000i\000m\000p\000l\000e\000m\000e\000n\000t\000i\000e\000r\000u\000n\000g\000\040\000e\000i\000n\000e\000s\000\040\000E\000r\000e\000i\000g\000n\000i\000s\000s\000e\000s) +(\376\377\0003\000.\0003\000\040\000Z\000e\000i\000t\000f\000o\000r\000m\000a\000t\000e\000,\000\040\000P\000r\000o\000z\000e\000s\000s\000e\000,\000\040\000N\000a\000c\000h\000r\000i\000c\000h\000t\000e\000n\000\040\000s\000o\000w\000i\000e\000\040\000T\000a\000s\000k\000-\000M\000a\000n\000a\000g\000e\000r) endobj 141 0 obj -<< /S /GoTo /D (section.3.4) >> +<< /S /GoTo /D (subsection.3.3.1) >> endobj 144 0 obj -(\376\377\0003\000.\0004\000\040\000Z\000e\000i\000t\000f\000o\000r\000m\000a\000t\000e\000,\000\040\000P\000r\000o\000z\000e\000s\000s\000e\000,\000\040\000N\000a\000c\000h\000r\000i\000c\000h\000t\000e\000n\000\040\000s\000o\000w\000i\000e\000\040\000T\000a\000s\000k\000-\000M\000a\000n\000a\000g\000e\000r) +(\376\377\0003\000.\0003\000.\0001\000\040\000F\000u\000n\000k\000t\000i\000o\000n\000s\000w\000e\000i\000s\000e) endobj 145 0 obj -<< /S /GoTo /D (subsection.3.4.1) >> +<< /S /GoTo /D (subsection.3.3.2) >> endobj 148 0 obj -(\376\377\0003\000.\0004\000.\0001\000\040\000F\000u\000n\000k\000t\000i\000o\000n\000s\000w\000e\000i\000s\000e) +(\376\377\0003\000.\0003\000.\0002\000\040\000B\000e\000i\000s\000p\000i\000e\000l\000\040\000f\000\374\000r\000\040\000d\000i\000e\000\040\000E\000r\000s\000t\000e\000l\000l\000u\000n\000g\000\040\000v\000o\000n\000\040\000P\000r\000o\000z\000e\000s\000s\000e\000r\000e\000i\000g\000n\000i\000s\000s\000e\000n) endobj 149 0 obj -<< /S /GoTo /D (subsection.3.4.2) >> +<< /S /GoTo /D (section.3.4) >> endobj 152 0 obj -(\376\377\0003\000.\0004\000.\0002\000\040\000B\000e\000i\000s\000p\000i\000e\000l\000\040\000f\000\374\000r\000\040\000d\000i\000e\000\040\000E\000r\000s\000t\000e\000l\000l\000u\000n\000g\000\040\000v\000o\000n\000\040\000P\000r\000o\000z\000e\000s\000s\000e\000r\000e\000i\000g\000n\000i\000s\000s\000e\000n) +(\376\377\0003\000.\0004\000\040\000P\000r\000o\000t\000o\000k\000o\000l\000l\000e) endobj 153 0 obj -<< /S /GoTo /D (section.3.5) >> +<< /S /GoTo /D (subsection.3.4.1) >> endobj 156 0 obj -(\376\377\0003\000.\0005\000\040\000P\000r\000o\000t\000o\000k\000o\000l\000l\000e) +(\376\377\0003\000.\0004\000.\0001\000\040\000F\000u\000n\000k\000t\000i\000o\000n\000s\000w\000e\000i\000s\000e\000\040\000d\000e\000s\000\040\000P\000r\000o\000t\000o\000k\000o\000l\000l\000-\000A\000P\000I\000s) endobj 157 0 obj -<< /S /GoTo /D (subsection.3.5.1) >> +<< /S /GoTo /D (subsection.3.4.2) >> endobj 160 0 obj -(\376\377\0003\000.\0005\000.\0001\000\040\000F\000u\000n\000k\000t\000i\000o\000n\000s\000w\000e\000i\000s\000e\000\040\000d\000e\000s\000\040\000P\000r\000o\000t\000o\000k\000o\000l\000l\000-\000A\000P\000I\000s) +(\376\377\0003\000.\0004\000.\0002\000\040\000B\000e\000i\000s\000p\000i\000e\000l\000i\000m\000p\000l\000e\000m\000e\000n\000t\000i\000e\000r\000u\000n\000g\000\040\000e\000i\000n\000e\000s\000\040\000P\000r\000o\000t\000o\000k\000o\000l\000l\000s) endobj 161 0 obj -<< /S /GoTo /D (subsection.3.5.2) >> +<< /S /GoTo /D (subsection.3.4.3) >> endobj 164 0 obj -(\376\377\0003\000.\0005\000.\0002\000\040\000B\000e\000i\000s\000p\000i\000e\000l\000i\000m\000p\000l\000e\000m\000e\000n\000t\000i\000e\000r\000u\000n\000g\000\040\000e\000i\000n\000e\000s\000\040\000P\000r\000o\000t\000o\000k\000o\000l\000l\000s) +(\376\377\0003\000.\0004\000.\0003\000\040\000E\000r\000s\000t\000e\000l\000l\000u\000n\000g\000\040\000e\000i\000g\000e\000n\000e\000r\000\040\000P\000r\000o\000t\000o\000k\000o\000l\000l\000e\000\040\000\050\000S\000c\000h\000n\000e\000l\000l\000d\000u\000r\000c\000h\000l\000a\000u\000f\000\051) endobj 165 0 obj -<< /S /GoTo /D (subsection.3.5.3) >> +<< /S /GoTo /D (section.3.5) >> endobj 168 0 obj -(\376\377\0003\000.\0005\000.\0003\000\040\000E\000r\000s\000t\000e\000l\000l\000u\000n\000g\000\040\000e\000i\000g\000e\000n\000e\000r\000\040\000P\000r\000o\000t\000o\000k\000o\000l\000l\000e\000\040\000\050\000S\000c\000h\000n\000e\000l\000l\000d\000u\000r\000c\000h\000l\000a\000u\000f\000\051) +(\376\377\0003\000.\0005\000\040\000G\000U\000I\000\040\000s\000o\000w\000i\000e\000\040\000S\000i\000m\000u\000l\000a\000t\000i\000o\000n\000s\000v\000i\000s\000u\000a\000l\000i\000s\000i\000e\000r\000u\000n\000g) endobj 169 0 obj << /S /GoTo /D (section.3.6) >> endobj 172 0 obj -(\376\377\0003\000.\0006\000\040\000G\000U\000I\000\040\000s\000o\000w\000i\000e\000\040\000S\000i\000m\000u\000l\000a\000t\000i\000o\000n\000s\000v\000i\000s\000u\000a\000l\000i\000s\000i\000e\000r\000u\000n\000g) +(\376\377\0003\000.\0006\000\040\000S\000e\000r\000i\000a\000l\000i\000s\000i\000e\000r\000u\000n\000g\000\040\000v\000o\000n\000\040\000S\000i\000m\000u\000l\000a\000t\000i\000o\000n\000e\000n) endobj 173 0 obj << /S /GoTo /D (section.3.7) >> endobj 176 0 obj -(\376\377\0003\000.\0007\000\040\000S\000e\000r\000i\000a\000l\000i\000s\000i\000e\000r\000u\000n\000g\000\040\000v\000o\000n\000\040\000S\000i\000m\000u\000l\000a\000t\000i\000o\000n\000e\000n) +(\376\377\0003\000.\0007\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 177 0 obj << /S /GoTo /D (section.3.8) >> endobj 180 0 obj -(\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) +(\376\377\0003\000.\0008\000\040\000P\000r\000o\000g\000r\000a\000m\000m\000i\000e\000r\000r\000i\000c\000h\000t\000l\000i\000n\000i\000e\000n) endobj 181 0 obj << /S /GoTo /D (section.3.9) >> @@ -748,14 +748,19 @@ endobj /ProcSet [ /PDF /Text ] >> endobj 255 0 obj << -/Length 1955 +/Length 1958 /Filter /FlateDecode >> stream -xYoF)(v1A64KflUH~Β\r%g(@&0`_;~YQ -#N `>-'봫 ^'WZ,^\s¬âW7-wzբd𣺾=(N՚?))b {$NQ?O1ar٧.|,WZWU\qc϶mmYroceF%(b[AqI1ȜSfV 1)!c+A&b dp1h#;M'iS|_?A#C#OW1Y9a`/i۝%΅+o;Nu/S԰"2 3v̱[,H~#8&k5hο_ȄuB%ɜ !,voٛВKV<2 9rf~/7ѲRa<ʇR(]<7aMπaRR"1uʸҧs䋝l0'x: ->ө4\iIgPt:9]Y5'מ٩0#Srӟ=iE׆ƾY3^q7}Z¥qWf M,S8xx<"yZC\&zecD.Y1S]DS΋\UU+N?;6b@Ez +z^@6׽Eyl߅fz8.B(%ELT]u)ҍwHty"yk*Z{QK50s><v4)JK_'6&Šxҏ#_9j$&j vbuJsѹd wayӫdFi-؝tD9DKN/E*" UZDꕕ\*s$Y 3743pwjB=4*j>*/Y= oL:D˺<Πe_ojxx^s,, Uf#B0"֣|^ .2 b @Z򛉨i!](` +JT} 7յ?Ajem +tSUWqbPENZv*5ׂ?F%K4pj TYf[ŲXgth:Nj؟ˠʸͅ%ǫG%XhLWk`]~zM'a Vrw>ͱFGCK/z/ߔ.) +6ELT'=}>#Нì^ "I3D-sv8im{ȑÛ/R77{|߷1X#^@H[+f*^3S;MK խ[;)/u!RÊ\Zw$c#6HD7YAsyLdœdП~ n2'$~C]Ƨ]pX$hYσ*+n2j~3=-!VCګCHO߳tۘSe\9.~6BX'dXa>e8GeT~ /p:?]4'緞ٹ0#Sr=iE׆ƾY^q7Z¥qO> >> endobj 262 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] -/Rect [86.8628 720.9315 216.6336 731.3075] +/Rect [107.4855 720.9315 215.4148 731.3075] /Subtype /Link -/A << /S /GoTo /D (section.3.2) >> +/A << /S /GoTo /D (subsection.3.1.1) >> >> endobj 263 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] -/Rect [107.4855 703.0042 215.4148 713.3802] +/Rect [107.4855 703.1119 190.4974 713.3802] /Subtype /Link -/A << /S /GoTo /D (subsection.3.2.1) >> +/A << /S /GoTo /D (subsection.3.1.2) >> >> endobj 264 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] -/Rect [107.4855 685.1846 190.4974 695.453] +/Rect [86.8628 685.077 151.3326 695.453] /Subtype /Link -/A << /S /GoTo /D (subsection.3.2.2) >> +/A << /S /GoTo /D (section.3.2) >> >> endobj 265 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] -/Rect [86.8628 667.1498 151.3326 677.5258] +/Rect [107.4855 667.1498 265.653 677.5258] /Subtype /Link -/A << /S /GoTo /D (section.3.3) >> +/A << /S /GoTo /D (subsection.3.2.1) >> >> endobj 266 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] -/Rect [107.4855 649.2225 265.653 659.5985] +/Rect [107.4855 649.2225 308.7178 659.5985] /Subtype /Link -/A << /S /GoTo /D (subsection.3.3.1) >> +/A << /S /GoTo /D (subsection.3.2.2) >> >> endobj 267 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] -/Rect [107.4855 631.2953 308.7178 641.6713] +/Rect [86.8628 631.2953 334.173 641.8776] /Subtype /Link -/A << /S /GoTo /D (subsection.3.3.2) >> +/A << /S /GoTo /D (section.3.3) >> >> endobj 268 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] -/Rect [86.8628 613.3681 334.173 623.9503] +/Rect [107.4855 615.1793 199.5985 623.7441] /Subtype /Link -/A << /S /GoTo /D (section.3.4) >> +/A << /S /GoTo /D (subsection.3.3.1) >> >> endobj 269 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] -/Rect [107.4855 597.252 199.5985 605.8168] +/Rect [107.4855 595.4408 336.6387 606.0231] /Subtype /Link -/A << /S /GoTo /D (subsection.3.4.1) >> +/A << /S /GoTo /D (subsection.3.3.2) >> >> endobj 270 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] -/Rect [107.4855 577.5136 336.6387 588.0958] +/Rect [86.8628 579.3248 149.1627 587.8896] /Subtype /Link -/A << /S /GoTo /D (subsection.3.4.2) >> +/A << /S /GoTo /D (section.3.4) >> >> endobj 271 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] -/Rect [86.8628 561.3976 149.1627 569.9624] +/Rect [107.4855 561.3976 275.6593 569.9624] /Subtype /Link -/A << /S /GoTo /D (section.3.5) >> +/A << /S /GoTo /D (subsection.3.4.1) >> >> endobj 272 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] -/Rect [107.4855 543.4703 275.6593 552.0351] +/Rect [107.4855 541.6591 301.5626 552.0351] /Subtype /Link -/A << /S /GoTo /D (subsection.3.5.1) >> +/A << /S /GoTo /D (subsection.3.4.2) >> >> endobj 273 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] -/Rect [107.4855 523.7319 301.5626 534.1079] +/Rect [107.4855 523.7319 327.3494 534.3141] /Subtype /Link -/A << /S /GoTo /D (subsection.3.5.2) >> +/A << /S /GoTo /D (subsection.3.4.3) >> >> endobj 274 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] -/Rect [107.4855 505.8046 327.3494 516.3869] +/Rect [86.8628 505.8046 253.8798 516.3869] /Subtype /Link -/A << /S /GoTo /D (subsection.3.5.3) >> +/A << /S /GoTo /D (section.3.5) >> >> endobj 275 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] -/Rect [86.8628 487.8774 253.8798 498.4597] +/Rect [86.8628 487.8774 235.0054 498.4597] /Subtype /Link /A << /S /GoTo /D (section.3.6) >> >> endobj 276 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] -/Rect [86.8628 469.9502 235.0054 480.5324] +/Rect [86.8628 469.9502 330.353 480.5324] /Subtype /Link /A << /S /GoTo /D (section.3.7) >> >> endobj 277 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] -/Rect [86.8628 452.0229 330.353 462.6052] +/Rect [86.8628 452.0229 199.1048 462.399] /Subtype /Link /A << /S /GoTo /D (section.3.8) >> >> endobj @@ -1151,22 +1156,24 @@ endobj /ProcSet [ /PDF /Text ] >> endobj 343 0 obj << -/Length 1201 +/Length 1259 /Filter /FlateDecode >> stream -xKoF<㘢z)re%!EO!Kܡ8ׇ}kp}Ӵ*DKK2I 1N8u2+9a^BD@'0a{d2 '059 -q_>yޗ.֟J - k!rX}yk-p̟#.T)wtwINQ9&f6f!x!$777c"{wUXK WK`5?s8c|LlLlT[ v~7GΚ÷ȃCkAgm&Rs{b~ďFOdsdtPo_vOǿKߒGkWtߧS56)b  CTqx*o91 pөzQ I4zGitڇ^NS}6vZUɒ.h$5)jEAAZ/~{&"9ep{Մiw%bY2C됕 p`x\2|٬N~W.: +j[uxY.DKs1Iz':Ӝ0UD!0RKwֽjd* '0a9/~\=^KIO%NM Ӆ |>]g-FN5Q73Pa+Wl4Z ÍejP{Ǜ a c D:pťnPM) sr7Jzj3ԸiiMPYP@ %JPZjjjM`*]aw:z%hFuHHhUJ+C6+dNQ;k%&Œ]т@L u.);./ BC"{U2XK W K9Ea& 6fx6jx;?Ygç^V_!Ii^}̯ز1#Qh-:O6u֖%\`Dl=sy>O~36G9ǝKPMa%ocdnjGK<#}Z~iGա\w&<諷8c߅&xJۼE\VgPMT78ڛֳbEZJ]R,뜉CP +wR(݋> endobj 345 0 obj << /Type /Annot @@ -1241,17 +1248,24 @@ endobj 355 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] -/Rect [86.8628 569.3622 168.9961 577.927] +/Rect [86.8628 569.3622 185.8662 577.927] /Subtype /Link /A << /S /GoTo /D (figure.3.9) >> >> endobj 356 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] -/Rect [86.8628 549.7314 195.644 559.9997] +/Rect [86.8628 551.4349 168.9961 559.9997] /Subtype /Link /A << /S /GoTo /D (figure.3.10) >> >> endobj +357 0 obj << +/Type /Annot +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [86.8628 531.8041 195.644 542.0725] +/Subtype /Link +/A << /S /GoTo /D (figure.3.11) >> +>> endobj 344 0 obj << /D [342 0 R /XYZ 74.4095 793.4011 null] >> endobj @@ -1259,8 +1273,8 @@ endobj /Font << /F61 259 0 R /F28 209 0 R >> /ProcSet [ /PDF /Text ] >> endobj -372 0 obj << -/Length 1852 +374 0 obj << +/Length 1851 /Filter /FlateDecode >> stream @@ -1276,160 +1290,160 @@ U2 :C =i dA׿W((%jŭ55tߡ'$+I䫂/4,řF }﹟mVwf/f #huq7k|:^ՑdCAPnc2[kf1L].VaӘaQ8R9kărCۆJœTY$Ʈ,(ߕMK @C*ҋZ4ЄDhqqtU\NQ}FuĹDNOu/"Z-xbo5/u*$R=iHTǑ:wgUD(* O>#<}ㅿd )P!Vȗ/J?+BjRbg:C=|MO"ZYǣlk#Nh@{xDaP f -ugܟGΨ<g=; L,S(V;ZU4oX-o݇7AjGkgTm{wY_2wZoW{ :Tea'\;  {/Z[ozF.9L:vF51> endobj -375 0 obj << +377 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 -376 0 obj << +378 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 -377 0 obj << +379 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 -378 0 obj << +380 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 -379 0 obj << +381 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 -380 0 obj << +382 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 -381 0 obj << +383 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 -382 0 obj << +384 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 -383 0 obj << +385 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 -384 0 obj << +386 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 -385 0 obj << +387 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 -386 0 obj << +388 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 -387 0 obj << +389 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 -388 0 obj << +390 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 -389 0 obj << +391 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 -390 0 obj << +392 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 -391 0 obj << +393 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 -392 0 obj << +394 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 -393 0 obj << +395 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 -373 0 obj << -/D [371 0 R /XYZ 74.4095 793.4011 null] +375 0 obj << +/D [373 0 R /XYZ 74.4095 793.4011 null] >> endobj -374 0 obj << -/D [371 0 R /XYZ 74.4095 643.0739 null] +376 0 obj << +/D [373 0 R /XYZ 74.4095 643.0739 null] >> endobj -370 0 obj << +372 0 obj << /Font << /F26 206 0 R /F28 209 0 R /F61 259 0 R >> /ProcSet [ /PDF /Text ] >> endobj -415 0 obj << +417 0 obj << /Length 1758 /Filter /FlateDecode >> @@ -1444,35 +1458,35 @@ D /2|ʾGbڠ%"6c]+B?'5y{ %y%S>ZKNCAnȓL)W K4<9s2GNBr{,KqY3R 3_kܸiʵ\yO`6zKiW QبנS2<'G3s96lΕcM|mekYsi, NC {jTI>H;Wqn5chk/}o이,5{zQ$űya bMH =QB3~Gj2iEKN_eK!DqՆ@[Mq\o"ȪuN'+r*8ìvwy煲 ,O~+D巇adT oS";N+/endstream endobj -414 0 obj << +416 0 obj << /Type /Page -/Contents 415 0 R -/Resources 413 0 R +/Contents 417 0 R +/Resources 415 0 R /MediaBox [0 0 595.2757 841.8898] -/Parent 357 0 R -/Annots [ 417 0 R ] +/Parent 358 0 R +/Annots [ 419 0 R ] >> endobj -417 0 obj << +419 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 -416 0 obj << -/D [414 0 R /XYZ 74.4095 793.4011 null] +418 0 obj << +/D [416 0 R /XYZ 74.4095 793.4011 null] >> endobj 6 0 obj << -/D [414 0 R /XYZ 74.4095 771.7323 null] +/D [416 0 R /XYZ 74.4095 771.7323 null] >> endobj 10 0 obj << -/D [414 0 R /XYZ 74.4095 570.9064 null] +/D [416 0 R /XYZ 74.4095 570.9064 null] >> endobj -413 0 obj << +415 0 obj << /Font << /F26 206 0 R /F28 209 0 R /F61 259 0 R >> /ProcSet [ /PDF /Text ] >> endobj -423 0 obj << +425 0 obj << /Length 1854 /Filter /FlateDecode >> @@ -1485,30 +1499,30 @@ c {*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 <c<'e(gg,Ybendstream endobj -422 0 obj << +424 0 obj << /Type /Page -/Contents 423 0 R -/Resources 421 0 R +/Contents 425 0 R +/Resources 423 0 R /MediaBox [0 0 595.2757 841.8898] -/Parent 357 0 R -/Annots [ 426 0 R ] +/Parent 358 0 R +/Annots [ 428 0 R ] >> endobj -419 0 obj << +421 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 429 0 R +/PTEX.InfoDict 431 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 430 0 R ->>/Font << /R8 431 0 R >> +/R7 432 0 R +>>/Font << /R8 433 0 R >> >> -/Length 432 0 R +/Length 434 0 R /Filter /FlateDecode >> stream @@ -1516,60 +1530,60 @@ x (C!R;}tI6?΃ߏbw'> endobj -430 0 obj +432 0 obj << /Type /ExtGState /OPM 1 >> endobj -431 0 obj +433 0 obj << /BaseFont /Helvetica /Type /Font /Subtype /Type1 >> endobj -432 0 obj +434 0 obj 452 endobj -426 0 obj << +428 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 -424 0 obj << -/D [422 0 R /XYZ 74.4095 793.4011 null] +426 0 obj << +/D [424 0 R /XYZ 74.4095 793.4011 null] >> endobj 14 0 obj << -/D [422 0 R /XYZ 74.4095 771.7323 null] +/D [424 0 R /XYZ 74.4095 771.7323 null] >> endobj -425 0 obj << -/D [422 0 R /XYZ 74.4095 659.2541 null] +427 0 obj << +/D [424 0 R /XYZ 74.4095 659.2541 null] >> endobj 314 0 obj << -/D [422 0 R /XYZ 288.3666 523.6815 null] +/D [424 0 R /XYZ 288.3666 523.6815 null] >> endobj -427 0 obj << -/D [422 0 R /XYZ 74.4095 396.6881 null] +429 0 obj << +/D [424 0 R /XYZ 74.4095 396.6881 null] >> endobj -428 0 obj << -/D [422 0 R /XYZ 74.4095 235.3536 null] +430 0 obj << +/D [424 0 R /XYZ 74.4095 235.3536 null] >> endobj -421 0 obj << +423 0 obj << /Font << /F61 259 0 R /F26 206 0 R /F28 209 0 R >> -/XObject << /Im2 419 0 R >> +/XObject << /Im2 421 0 R >> /ProcSet [ /PDF /Text ] >> endobj -435 0 obj << +437 0 obj << /Length 1352 /Filter /FlateDecode >> @@ -1583,29 +1597,29 @@ U  #c-ݻЩ ҂φ0ΗX;$q!Lq˝2:϶:؜*se)])ZLAқLPR$}ɒ')@7Xo{I%/ Ova &/3kl ,M F[~7)׹_3ㅏR2v'Jg}#)aendstream endobj -434 0 obj << +436 0 obj << /Type /Page -/Contents 435 0 R -/Resources 433 0 R +/Contents 437 0 R +/Resources 435 0 R /MediaBox [0 0 595.2757 841.8898] -/Parent 357 0 R +/Parent 358 0 R >> endobj -420 0 obj << +422 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 438 0 R +/PTEX.InfoDict 440 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 439 0 R ->>/Font << /R8 440 0 R >> +/R7 441 0 R +>>/Font << /R8 442 0 R >> >> -/Length 441 0 R +/Length 443 0 R /Filter /FlateDecode >> stream @@ -1615,44 +1629,44 @@ x Y La- 7pD7[:pHp {-q*YA^6@K  B|jZ%Tp'endstream endobj -438 0 obj +440 0 obj << /Producer (GPL Ghostscript 8.61) -/CreationDate (D:20080809115815Z00'00') -/ModDate (D:20080809115815Z00'00') +/CreationDate (D:20080809181324Z00'00') +/ModDate (D:20080809181324Z00'00') >> endobj -439 0 obj +441 0 obj << /Type /ExtGState /OPM 1 >> endobj -440 0 obj +442 0 obj << /BaseFont /Helvetica /Type /Font /Subtype /Type1 >> endobj -441 0 obj +443 0 obj 499 endobj -436 0 obj << -/D [434 0 R /XYZ 74.4095 793.4011 null] +438 0 obj << +/D [436 0 R /XYZ 74.4095 793.4011 null] >> endobj -437 0 obj << -/D [434 0 R /XYZ 74.4095 750.3359 null] +439 0 obj << +/D [436 0 R /XYZ 74.4095 750.3359 null] >> endobj 315 0 obj << -/D [434 0 R /XYZ 281.7271 358.4221 null] +/D [436 0 R /XYZ 281.7271 358.4221 null] >> endobj -433 0 obj << +435 0 obj << /Font << /F61 259 0 R /F26 206 0 R /F28 209 0 R >> -/XObject << /Im3 420 0 R >> +/XObject << /Im3 422 0 R >> /ProcSet [ /PDF /Text ] >> endobj -444 0 obj << +446 0 obj << /Length 1762 /Filter /FlateDecode >> @@ -1664,35 +1678,35 @@ xڍ CG1zPI.A 0vwXuɈ>V+LK/?**Jg5蝷:M^7gÜ3Y\ܼ+=pPGu:25.-oZ014eaį7`6r b|Fz.7>DE`Pendstream endobj -443 0 obj << +445 0 obj << /Type /Page -/Contents 444 0 R -/Resources 442 0 R +/Contents 446 0 R +/Resources 444 0 R /MediaBox [0 0 595.2757 841.8898] -/Parent 357 0 R -/Annots [ 448 0 R ] +/Parent 358 0 R +/Annots [ 450 0 R ] >> endobj -448 0 obj << +450 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 -445 0 obj << -/D [443 0 R /XYZ 74.4095 793.4011 null] +447 0 obj << +/D [445 0 R /XYZ 74.4095 793.4011 null] >> endobj -446 0 obj << -/D [443 0 R /XYZ 74.4095 750.7482 null] +448 0 obj << +/D [445 0 R /XYZ 74.4095 750.7482 null] >> endobj -447 0 obj << -/D [443 0 R /XYZ 74.4095 608.3473 null] +449 0 obj << +/D [445 0 R /XYZ 74.4095 608.3473 null] >> endobj -442 0 obj << +444 0 obj << /Font << /F61 259 0 R /F26 206 0 R /F28 209 0 R >> /ProcSet [ /PDF /Text ] >> endobj -452 0 obj << +454 0 obj << /Length 1160 /Filter /FlateDecode >> @@ -1702,15 +1716,15 @@ xڭWKs 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> endobj -449 0 obj << +451 0 obj << /Type /XObject /Subtype /Image /Width 1024 @@ -1732,45 +1746,45 @@ pz t ?y#rϲP{@Z N>:?}?o2k#9uuѣGkLlĝefqSSMp\8G<'G#s_dS!tN杫5_?|BNwW=z4Fٯ x;O[4^qo>lO3Ʃc&*q[(WY/5886qcߓͺ򝏙'O;ί6lnL++*ZZ]zȑ#]>@hKvI+H8]ˈ#sNBNn|Ny: jꚛ<(\E(>(=X8$5WQz8 X:ԾpSki>Xcձȫ+Ty`)sq7i[#~=3ϘӪSϬӊC(X޽{k`A; 0eWte|A9N\ڣg;k_`Aj5.khKG ZQN#M~~ Rs7?_hi>&? ҔpύT5ue4?R8yeSNo9?w:7+d2L&4[AC{s_?@@{~@?@@?_?@??@@?_?@??@?@??@??@?@?@@?@?@?@?@@?_?@@{~@?@@?_?@??@@?_?@??@?@??@??@?@?@@?@?@?@?@@?_?@@{~@?@@?_?@??@@?_?@??@?@??@??@?@?@@?@?@?@?@@?_?@@{~@?@@?_?@??@@?_?@??@?@??@??@?@?@@?@?@?@?@̏7L&d2Lij`0`6endstream endobj -454 0 obj << +456 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 -455 0 obj << +457 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 -456 0 obj << +458 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 -453 0 obj << -/D [451 0 R /XYZ 74.4095 793.4011 null] +455 0 obj << +/D [453 0 R /XYZ 74.4095 793.4011 null] >> endobj 18 0 obj << -/D [451 0 R /XYZ 74.4095 771.7323 null] +/D [453 0 R /XYZ 74.4095 771.7323 null] >> endobj 22 0 obj << -/D [451 0 R /XYZ 74.4095 581.9662 null] +/D [453 0 R /XYZ 74.4095 581.9662 null] >> endobj 316 0 obj << -/D [451 0 R /XYZ 250.8743 253.9309 null] +/D [453 0 R /XYZ 250.8743 253.9309 null] >> endobj -450 0 obj << +452 0 obj << /Font << /F26 206 0 R /F28 209 0 R /F61 259 0 R >> -/XObject << /Im4 449 0 R >> +/XObject << /Im4 451 0 R >> /ProcSet [ /PDF /Text /ImageC ] >> endobj -463 0 obj << +465 0 obj << /Length 1704 /Filter /FlateDecode >> @@ -1783,15 +1797,15 @@ gG 6d p1nD*},f#վCJw]Xl-hpvG =wa7n2zc6h٘"OiĬ{v\WWO[lp: i{Lxܘl|NTtloG2qcCK$?~i2Cf㮣K>%> endobj -458 0 obj << +460 0 obj << /Type /XObject /Subtype /Image /Width 234 @@ -1830,38 +1844,38 @@ ze 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 -466 0 obj << +468 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 -468 0 obj << +470 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 -464 0 obj << -/D [462 0 R /XYZ 74.4095 793.4011 null] +466 0 obj << +/D [464 0 R /XYZ 74.4095 793.4011 null] >> endobj -465 0 obj << -/D [462 0 R /XYZ 74.4095 752.2837 null] +467 0 obj << +/D [464 0 R /XYZ 74.4095 752.2837 null] >> endobj 317 0 obj << -/D [462 0 R /XYZ 305.5773 401.9113 null] +/D [464 0 R /XYZ 305.5773 401.9113 null] >> endobj -467 0 obj << -/D [462 0 R /XYZ 74.4095 184.2476 null] +469 0 obj << +/D [464 0 R /XYZ 74.4095 184.2476 null] >> endobj -461 0 obj << +463 0 obj << /Font << /F61 259 0 R /F26 206 0 R /F28 209 0 R >> -/XObject << /Im5 458 0 R >> +/XObject << /Im5 460 0 R >> /ProcSet [ /PDF /Text /ImageC ] >> endobj -471 0 obj << +473 0 obj << /Length 1085 /Filter /FlateDecode >> @@ -1871,14 +1885,14 @@ xڭW 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_\PK\Uv\]f᪟5jHߘƧKO`bW Zz%Z*-KY;Z.zߵ3.:aNu C넉uaQ:SUD-> endobj -459 0 obj << +461 0 obj << /Type /XObject /Subtype /Image /Width 1024 @@ -1950,7 +1964,7 @@ Oo9/ q^/jY?P?o#K ~{^{g~$)*0?Jr=7op˜Nn"x[O:_#?w.^>lz31ƻ,]:L7yL2Smz/@_r s kg-vfz=Eu^||ڿ]1r'o/43-NS%$p?,p')b` wBON wH``endstream endobj -460 0 obj << +462 0 obj << /Type /XObject /Subtype /Image /Width 180 @@ -1978,21 +1992,21 @@ SȈoD\ ٘Zl7Z%lL-6Z!7,7>L")dcjb,>߰ߞ{و|t9T,t)T(«8 {endstream endobj -472 0 obj << -/D [470 0 R /XYZ 74.4095 793.4011 null] +474 0 obj << +/D [472 0 R /XYZ 74.4095 793.4011 null] >> endobj 318 0 obj << -/D [470 0 R /XYZ 286.4299 503.2659 null] +/D [472 0 R /XYZ 286.4299 503.2659 null] >> endobj 319 0 obj << -/D [470 0 R /XYZ 266.1839 382.6614 null] +/D [472 0 R /XYZ 266.1839 382.6614 null] >> endobj -469 0 obj << +471 0 obj << /Font << /F61 259 0 R /F28 209 0 R /F35 221 0 R >> -/XObject << /Im6 459 0 R /Im7 460 0 R >> +/XObject << /Im6 461 0 R /Im7 462 0 R >> /ProcSet [ /PDF /Text /ImageC ] >> endobj -477 0 obj << +479 0 obj << /Length 1296 /Filter /FlateDecode >> @@ -2006,15 +2020,15 @@ xڭWYo jq\ԯMz1EF TNѹ-˭'D| ӏ(eD$ETOڃ`&Bn1=L Ra:*@UrD|S `7 :ur5HX WbLנNX|,[m&q i`9WɈ{U>aV?R~0"ςP UeA%<p˾6MFU4<yW-º X=7be= :0Hpi`R~Otd%/< S2endstream endobj -476 0 obj << +478 0 obj << /Type /Page -/Contents 477 0 R -/Resources 475 0 R +/Contents 479 0 R +/Resources 477 0 R /MediaBox [0 0 595.2757 841.8898] -/Parent 457 0 R -/Annots [ 480 0 R ] +/Parent 459 0 R +/Annots [ 482 0 R ] >> endobj -473 0 obj << +475 0 obj << /Type /XObject /Subtype /Image /Width 586 @@ -2029,7 +2043,7 @@ 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 ߞ 37pm -!tۖQr06RUpuMΉ!r:9s"oh'tZ0P""Bvjx:KP^xi^ʋ/KP^xi^*P^xi^ʋ/PW/KP^x!/ x/@ oendstream endobj -480 0 obj << +482 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] /Rect [151.9713 397.9679 166.4269 408.5502] /Subtype /Link /A << /S /GoTo /D (figure.2.5) >> >> endobj -478 0 obj << -/D [476 0 R /XYZ 74.4095 793.4011 null] +480 0 obj << +/D [478 0 R /XYZ 74.4095 793.4011 null] >> endobj -479 0 obj << -/D [476 0 R /XYZ 74.4095 750.7482 null] +481 0 obj << +/D [478 0 R /XYZ 74.4095 750.7482 null] >> endobj 320 0 obj << -/D [476 0 R /XYZ 221.8999 480.5224 null] +/D [478 0 R /XYZ 221.8999 480.5224 null] >> endobj 321 0 obj << -/D [476 0 R /XYZ 255.9892 182.3152 null] +/D [478 0 R /XYZ 255.9892 182.3152 null] >> endobj -475 0 obj << +477 0 obj << /Font << /F61 259 0 R /F26 206 0 R /F28 209 0 R >> -/XObject << /Im8 473 0 R /Im9 474 0 R >> +/XObject << /Im8 475 0 R /Im9 476 0 R >> /ProcSet [ /PDF /Text /ImageC ] >> endobj -483 0 obj << +485 0 obj << /Length 2254 /Filter /FlateDecode >> @@ -2084,42 +2098,42 @@ xڭYYo c> endobj -485 0 obj << +487 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] /Rect [337.1593 481.275 351.6149 491.8573] /Subtype /Link /A << /S /GoTo /D (figure.2.6) >> >> endobj -487 0 obj << +489 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] /Rect [321.3617 311.8411 335.8173 322.4233] /Subtype /Link /A << /S /GoTo /D (table.2.1) >> >> endobj -484 0 obj << -/D [482 0 R /XYZ 74.4095 793.4011 null] +486 0 obj << +/D [484 0 R /XYZ 74.4095 793.4011 null] >> endobj -394 0 obj << -/D [482 0 R /XYZ 208.6475 629.4466 null] +396 0 obj << +/D [484 0 R /XYZ 208.6475 629.4466 null] >> endobj -486 0 obj << -/D [482 0 R /XYZ 74.4095 355.9148 null] +488 0 obj << +/D [484 0 R /XYZ 74.4095 355.9148 null] >> endobj -481 0 obj << +483 0 obj << /Font << /F61 259 0 R /F26 206 0 R /F28 209 0 R >> /ProcSet [ /PDF /Text ] >> endobj -492 0 obj << +494 0 obj << /Length 1303 /Filter /FlateDecode >> @@ -2132,15 +2146,15 @@ O fyZxC8dɹmM۫?c޿XU+p11[u,D e:8"Źi.dff!p Xt!빞e*-dɺu d33y&L6(Ø||I^ؘ0DQn8c`)ƶaK p4Z1׶iՑ{E#l=j/g'{i-<8zNL 2PB> endobj -488 0 obj << +490 0 obj << /Type /XObject /Subtype /Image /Width 318 @@ -2160,7 +2174,7 @@ x sq2s2Ud0'3_y%S8|Rʱ lL2U*v-o޲l+b~qendstream endobj -489 0 obj << +491 0 obj << /Type /XObject /Subtype /Image /Width 318 @@ -2183,31 +2197,31 @@ A aT7*r~ȍNKv-\U4^mdwEkQ+^Jrز~hZnoƖ>yk0sKgo \P_r~`E/_~`E/?zi0"ԗd00Aw 5Zյ%uZ;kkK,󖩺\ זX+-Su!w%rm22UrW"זX+-Su!w%rm 2UrW"ז䫫_HՅܕܶϒZGluCz썚\˿ܬD^ZϛQ~K\+XFsv)SՌ-{y/a.0AqMYa}ێ-ATylsTn"pqMYy}[ύvN!w򘻔6D*/۰ov9AMYfs3 -{ e/Yq~e[ .Լ"3ڒZiK,|U_r~ojaee\-Z1kpf{/k R.L 0䶽Vf#ڌO^V\_neEſnq+C.ڌ%neECrIW"oV=gD|c[endstream endobj -495 0 obj << +497 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] /Rect [419.3512 493.1175 433.8068 503.6997] /Subtype /Link /A << /S /GoTo /D (figure.2.7) >> >> endobj -493 0 obj << -/D [491 0 R /XYZ 74.4095 793.4011 null] +495 0 obj << +/D [493 0 R /XYZ 74.4095 793.4011 null] >> endobj -494 0 obj << -/D [491 0 R /XYZ 74.4095 752.6311 null] +496 0 obj << +/D [493 0 R /XYZ 74.4095 752.6311 null] >> endobj 322 0 obj << -/D [491 0 R /XYZ 254.5056 542.162 null] +/D [493 0 R /XYZ 254.5056 542.162 null] >> endobj 323 0 obj << -/D [491 0 R /XYZ 224.2713 182.8845 null] +/D [493 0 R /XYZ 224.2713 182.8845 null] >> endobj -490 0 obj