summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPaul Buetow <paul@buetow.org>2008-08-09 16:14:04 +0000
committerPaul Buetow <paul@buetow.org>2008-08-09 16:14:04 +0000
commite1077418bf357655a3f09b22c349c5080a835179 (patch)
treee03e55caae777b981e4a2792a3e7a8790fefc405
parentfcad21a6f0f95cfc1cfd57a9ad0ee110a65d0e74 (diff)
jo
-rw-r--r--LaTeX/argouml.zargobin38927 -> 42880 bytes
-rw-r--r--LaTeX/chapters/conclusion.tex2
-rw-r--r--LaTeX/chapters/implementierung.tex47
-rw-r--r--LaTeX/diplomarbeit.pdf6021
-rw-r--r--LaTeX/images/serialize.eps737
5 files changed, 3820 insertions, 2987 deletions
diff --git a/LaTeX/argouml.zargo b/LaTeX/argouml.zargo
index 5f819ea..e828d4a 100644
--- a/LaTeX/argouml.zargo
+++ b/LaTeX/argouml.zargo
Binary files 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<Integer>} 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<Integer>} 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|_<n.z`7U]u?g `3^Рq*}gsiS?C /4+M9 /zf gЧU}8 ~oڋ7qO\ '3"cc?Rgrщ6]!Y3%U`?Q(SDZ=Pvy%^8mj1?c ٚ
-}8NJƕu~W)"ZrYNN+n^"#OP+͉2Fͺԩ͞~ ]u٤EQZ:(UƓ~y~y}N"$]SY~J?RAH~}fϟ%#7EN:uw^85vcE~D,Shr$bV/$k_ϑdwGDN fcݩ2 YDYIWY1b=9zЃ+(MdDxcl.uwts_m֧WKp?A̱)A DFzȇ,sX"5̙y0H-XN^7<<yQm}=mMC~]NMuyUX+Tݠx͵ F89՜M܀%tzT# 'N2cD-EYu]:4IxFH"'22nsajhV,h6|6;ݨՋjR2qXv~[nͺ9}hPn]t%Ac֦]hߝ*Q2>?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¥q<P꙾ɝ"L*^Usli:7/=endstream
+xYoH)(޾^L/\K@GO?$lj'
+$0`_]şhQ
+#N xXqF{ۏOi7A/n
+Kֲy[p N{~ΧwkV5C]˳7)Z9% ^l^`% ETq/ßg1:fdZzuW\K}?+3()EJKA2cZ\7X.挆m"N 8kUEi:I2&eUnq*6|}:d+ˆb0נqΈž5WӬ'?uW 4ӕIHO!ɨ%2#"nu,ٰlLQ+Ƕf`Tc6BmZKLa`RȯNA&1. e(_Ac+iy 3jؗw)tS)fuhiZBhMD⡪ڼSJD-WTX6C5c?n<`v` $]_M F^hIɳAKxi-Q^N]4cpO{U-Vz020p/EpE$bJqC 0޿
+ͥ*)nH=}xۇKއc5t==nO33>Wf 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ګCH
endobj
254 0 obj <<
/Type /Page
@@ -775,119 +780,119 @@ endobj
261 0 obj <<
/Type /Annot
/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [86.8628 738.8587 199.1048 749.2347]
+/Rect [86.8628 738.8587 216.6336 749.2347]
/Subtype /Link
/A << /S /GoTo /D (section.3.1) >>
>> 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<pH~Xa$ԩ8-_O.2auϚ8eXp%B_\/]ۇEudQoק׻V}8)ZrBJ /pp~*E8-:br#nr:ި)C\tQ}:B-ӹ=Ua9Xb*`Ih"%9)jIABZ~{&"9ep{ SoJŢ^e8nCV28&{ky>ׇ}kp}Ӵ*DKK2I 1N8u2+9a^BD@'0a{d2 '059
-q_>yޗ.֟J
- k!rX}<Sg-Fjg573Pa+&6*ꭅƢi
-zkwyⱨ N|0ě k-]r uq<ا My 8`5=ܨcong)(EK5:gPJFR;o8]e2 lVq^#7Ⱦ_[ǰF` zk_4 |#9f7XyX?m[C"Nhd&s_eMOOmToT[#Om4,'M wMԼ}L)whiLB80#*G,c*'ZYd$pץ`7YJ-
+xnF~
+.L UY2ŐáFΡf8!VPaDR
+0Vwx~?Y]2VpϚ8eqJ>sdtPo_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_
+wR(݋<vq<?N9eF&i// cX~ O5f*HEk7*lћ)vQq;Dg6ntҍэFkohYt+N4"M
+׈˩ޤp4-rFn;^t'.v8=`G`c'm97r("$s/fnI)rIWT 7^\ҌFk?FJT0yGZ^V0P3n&/d b ^endstream
endobj
342 0 obj <<
/Type /Page
/Contents 343 0 R
/Resources 341 0 R
/MediaBox [0 0 595.2757 841.8898]
-/Parent 357 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 356 0 R ]
+/Parent 358 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 356 0 R 357 0 R ]
>> 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ɢL`?Et(*mv`۱Q-Nv4< Z
:C =i dA׿W((%jŭ55tߡ'$+I䫂/4,řF }﹟mVwf/f
#huq7k|:^ՑdCAPnc2[kf1L]
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_
+ugܟGΨ<g=; L,S(V;ZU4oX-o݇7AjGkgTm{wY_2wZoW{ :Tea'\;  {/Z[ozF.9L:vF51<S[u(~=|صloO|!,d"s Z͋:=ݬu<KXPbM[JtgwjXjco6 )u_0Ik :dA_ |lendstream
endobj
-371 0 obj <<
+373 0 obj <<
/Type /Page
-/Contents 372 0 R
-/Resources 370 0 R
+/Contents 374 0 R
+/Resources 372 0 R
/MediaBox [0 0 595.2757 841.8898]
-/Parent 357 0 R
-/Annots [ 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 392 0 R 393 0 R ]
+/Parent 358 0 R
+/Annots [ 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 392 0 R 393 0 R 394 0 R 395 0 R ]
>> 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|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
-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 @@ 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
-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 @@ xTn0 +xl{p%RE[$F/A,E"N~Ejx0"g槮Ӣ>yTFc5P
(C!R;}tI6<o}/[˿w?K\2x ,

endobj
-429 0 obj
+431 0 obj
<<
/Producer (GPL Ghostscript 8.61)
-/CreationDate (D:20080809115815Z00'00')
-/ModDate (D:20080809115815Z00'00')
+/CreationDate (D:20080809181324Z00'00')
+/ModDate (D:20080809181324Z00'00')
>>
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