diff options
| author | Paul Buetow <paul@buetow.org> | 2008-08-09 16:14:04 +0000 |
|---|---|---|
| committer | Paul Buetow <paul@buetow.org> | 2008-08-09 16:14:04 +0000 |
| commit | e1077418bf357655a3f09b22c349c5080a835179 (patch) | |
| tree | e03e55caae777b981e4a2792a3e7a8790fefc405 | |
| parent | fcad21a6f0f95cfc1cfd57a9ad0ee110a65d0e74 (diff) | |
jo
| -rw-r--r-- | LaTeX/argouml.zargo | bin | 38927 -> 42880 bytes | |||
| -rw-r--r-- | LaTeX/chapters/conclusion.tex | 2 | ||||
| -rw-r--r-- | LaTeX/chapters/implementierung.tex | 47 | ||||
| -rw-r--r-- | LaTeX/diplomarbeit.pdf | 6021 | ||||
| -rw-r--r-- | LaTeX/images/serialize.eps | 737 |
5 files changed, 3820 insertions, 2987 deletions
diff --git a/LaTeX/argouml.zargo b/LaTeX/argouml.zargo Binary files differindex 5f819ea..e828d4a 100644 --- a/LaTeX/argouml.zargo +++ b/LaTeX/argouml.zargo 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_ϑdwGDNfcݩ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<29rf~/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Ӭ'?uW4ӕ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>WfM,S8xx<"yZC\&zecD.Y1S]DS\UU+N?;6b@Ez +z^@6Eyl߅fz8.B(%ELT]u)ҍwHty"yk*Z{QK50s><v4)JK_'6&Šxҏ#_9j$&j
vbuJsѹdwayӫdFi-؝tD9DKN/E*"
UZDꕕ\*s$Y 3743pwjB=4*j>*/Y=oL:D˺<Πe_ojxx^s,, Uf#B0"֣|^ .2 b
@Zi!](` +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#6HD7YAsyLddП~ 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:gPJFR;o8]e2lVq^#7Ⱦ_[ǰF`zk_4|#9f7XyX?m[C"Nhd&s_eMOOmToT[#Om4,'M wMԼ}L)whiLB80#*G,c*'ZYd$pץ`7YJ- +xnF~ +.LUY2ŐáFΡf8!VPaDR +0Vwx~?Y]2VpϚ8eqJ>sdtPo_vOǿKߒGkWtߧS56)b CTqx*o91
pөzQI4zGitڇ^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%&Œ]т@Lu.);./ BC"{U2XKWK9Ea&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&/db
^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 dAW((%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"sZ͋:=ݬu<KXPbM[JtgwjXjcou_0Ik :dA_d_ +ugܟGΨ<g=;
L,S(V;ZU4oX-o݇7AjGkgTm{wY_2wZoW{ :Tea'\; {/Z[ozF.9L:vF51<S[u(~=|صloO|!,d"sZ͋:=ݬ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,v2YZ)+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:T9s_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 |
