summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPaul Buetow <paul@buetow.org>2008-08-07 18:15:08 +0000
committerPaul Buetow <paul@buetow.org>2008-08-07 18:15:08 +0000
commita7fdf8fb6a1f32062161b6e245c6f8bd67da3ec9 (patch)
tree47ea4b9ff3bf092cb3169f4827d48a174b97e4bf
parentfeb6702489243f9c3f0bac7827ab2f477ed7b414 (diff)
mehr geschrieben
-rw-r--r--LaTeX/argouml.zargobin29381 -> 29589 bytes
-rw-r--r--LaTeX/chapters/implementierung.tex33
-rw-r--r--LaTeX/chapters/simulator.tex4
-rw-r--r--LaTeX/diplomarbeit.pdf5755
-rw-r--r--LaTeX/images/events.eps284
-rw-r--r--sources/events/VSRegisteredEvents.java22
6 files changed, 3088 insertions, 3010 deletions
diff --git a/LaTeX/argouml.zargo b/LaTeX/argouml.zargo
index 566ce43..a50a6a9 100644
--- a/LaTeX/argouml.zargo
+++ b/LaTeX/argouml.zargo
Binary files differ
diff --git a/LaTeX/chapters/implementierung.tex b/LaTeX/chapters/implementierung.tex
index f0b8685..64034db 100644
--- a/LaTeX/chapters/implementierung.tex
+++ b/LaTeX/chapters/implementierung.tex
@@ -52,7 +52,7 @@ Eine Simulation ist von einer Vielzahl von Einstellungen abh\"{a}ngig. Da auf di
\subsection{Einstellungsobjekte}
-Auf Abbilung \ref{fig:PackagePrefs} ist der Aufbau des Pakets \textit{prefs} zu sehen. In einer Instanz der Klasse \textit{VSPrefs} lassen sich viele verschiedene Daten als Variablen f\"{u}r eine sp\"{a}tere Verwendung dynamisch ablegen und stellt somit einen Container f\"{u}r diese Daten dar. In einem \textit{VSPrefs}-Objekt speichert der Simulator alle seine Einstellungen ab. Zudem besitzt jedes Prozessobjekt und jedes Protokollobjekt f\"{u}r lokale Einstellungen seine eigene Instanz von \textit{VSPrefs}. Selbst Nachrichtenobjekte besitzt hiervon eine eigene Instanz, wobei hier die zu verschickenden Daten abgelegt werden k\"{o}nnen.
+Auf Abbilung \ref{fig:PackagePrefs} ist der Aufbau des Pakets \textit{prefs} zu sehen. In einer Instanz der Klasse \textit{VSPrefs} lassen sich viele verschiedene Daten als Variablen f\"{u}r eine sp\"{a}tere Verwendung dynamisch ablegen und stellt somit einen Container f\"{u}r diese Daten dar. In einem \textit{VSPrefs}-Objekt speichert der Simulator alle seine Einstellungen ab. Zudem besitzt jedes Prozessobjekt und jedes Ereignisobjekt (und da Protokolle auch Ereignisse sind auch jedes Protokollobjekt) f\"{u}r lokale Einstellungen seine eigene Instanz von \textit{VSPrefs}. Selbst Nachrichtenobjekte besitzt hiervon eine eigene Instanz, wobei hier die zu verschickenden Daten abgelegt werden k\"{o}nnen.
\begin{figure}[h]
\centering
@@ -131,7 +131,7 @@ F\"{u}r Protokolle gibt es keine separate Editor-Klasse, da sie bereits vom Proz
\section{Ereignisse}
-\subsection{Die Funktionsweise von Ereignissen}
+\subsection{Funktionsweise von Ereignissen}
F\"{u}r jedes Ereignis existiert eine dazugeh\"{o}rige Klasse, welche die auszuf\"{u}hrenden Aktionen implementiert. Eine Instanz davon wird, f\"{u}r eine sp\"{a}tere Ausf\"{u}hrung, in einem \textit{VSTask}-Objekt verpackt dem Task-Manager \"{u}bergeben. Auf den Task-Manager wird sp\"{a}ter noch genauer eingegangen.
\begin{figure}[h]
@@ -182,7 +182,7 @@ Des Weiteren werden folgende nicht-abstrakte Methoden von \textit{VSAbstractEven
Jede Ereiginsklasse hat zudem Zugriff auf folgende Attribute, die von \textit{VSAbstractEvent} vererbt werden:
\begin{itemize}
- \item \textit{protected VSPrefs prefs}: Eine Referenz auf das Simulationseinstellungsobjekt. Hier\"{u}ber lassen sich alle Simulationseinstellungen beziehen.
+ \item \textit{protected VSPrefs prefs}: Eine Referenz auf das Simulationseinstellungsobjekt. Hier\"{u}ber lassen sich alle Simulationseinstellungen beziehen. \textit{prefs} ist nicht zu verwechseln mit den TODO
\item \textit{protected VSAbstractProcess process}: Eine Referenz auf das Prozessobjekt des jeweiligen Prozesses, auf welches das Ereignis angewendet wird.
\end{itemize}
@@ -273,16 +273,16 @@ void createCrashAndRecoverExample(VSTaskManager taskManager,
VSAbstractEvent recoverEvent = new VSProcessRecoverEvent();
VSTask globalTask = new VSTask(2000, process,
- recoverEvent, VSTask.GLOBAL);
+ recoverEvent, VSTask.GLOBAL);
taksManager.addTask(globalTask);
}
\end{code}
-In diesem Beispiel wurden zwei Ereignisse (Absturz- und Wiederbelebung eines gegebenen Prozesses) angelegt. Das Absturzereignis tritt bei der aktuellen lokalen Prozesszeit plus \textit{500ms} ein, w\"{a}hrend das Wiederbelebungsereignis bei einer globalen Zeit von \textit{2000ms} stattfindet. F\"{u}r den Fall, dass das Wiederbelebungsereignis vor dem Absturzereignis eintritt, wird es nicht ausgef\"{u}hrt, da der Prozess noch nicht abgest\"{u}rzt ist.
+In diesem Beispiel wurden zwei Ereignisse (Absturz- und Wiederbelebung eines gegebenen Prozesses) angelegt. Das Absturzereignis tritt bei der aktuellen lokalen Prozesszeit plus \textit{500ms} ein, w\"{a}hrend das Wiederbelebungsereignis bei einer globalen Zeit von \textit{2000ms} stattfindet. F\"{u}r den Fall, dass das Wiederbelebungsereignis vor dem Absturzereignis eintritt wird es nicht ausgef\"{u}hrt, da der Prozess noch nicht abgest\"{u}rzt ist.
\section{Protokolle}
-\subsection{Die Funktionsweise des Protokoll-APIs}
+\subsection{Funktionsweise des Protokoll-APIs}
\begin{figure}[h]
\centering
@@ -437,11 +437,28 @@ Der Server benutzt in diesem Beispiel keinen Wecker. Dementsprechend hat die Met
\subsection{Erstellung eigener Protokolle}
-\section{GUI}
+Hier werden alle Schritte zusammegefasst, die f\"{u}r die Erstellung eines eigenen Protokolls \textit{VSMyProtocol} durchgef\"{u}rt werden m\"{u}ssen.
+
+\begin{enumerate}
+ \item VS-Simulator Quelltext beziehen und in das Verzeichnis \textit{vs/sources/protocols/implementations} wechseln.
+ \item Das Template-Protokoll \textit{VSDummyProtocol.java} nach \textit{VSMyProtocol.java} kopieren.
+ \item \textit{VSDummyProtocol.java} editieren und den Klassennamen dort anpassen (\textit{VSDummyProtocol} $\rightarrow$ \textit{VSMyProtocol}).
+ \item In das oberste Verzeichnis \textit{vs/} wechseln
+ \item Die datei \textit{sources/events/VSRegisteredEvents.java} editieren, und in der \textit{init}-Methode folgende Zeile hinzuf\"{u}gen:
+ \begin{code}
+registerEvent("protocols.implementations.VSMyProtocol",
+ "Langer Name des Protokolls", // Langer name
+ "Neues Protokoll"); // Kurzer Name
+ \end{code}
+ \item Mit dem Befehl \textit{ant compile} die \"{A}nderungen \"{u}bernehmen und mit \textit{ant test} testen, ob der Simulator das Protokoll \"{u}bernommen hat. Hierbei wird der Simulator direkt aus dem Quellverzeichnis gestartet. ``Neues Protokoll'' sollte nun im Ereigniseditor programmiert werden k\"{o}nnen.
+ \item Mit dem Befehl \textit{ant dist} das Archiv \textit{dist/lib/VS-Sim-Latest.jar} erstellen und verwenden.
+\end{enumerate}
+
+\section{GUI sowie Simulationsvisualisierung}
\section{Serialisierung von Simulationen}
-\subsection{R\"{u}ckw\"{a}rtskompatibel}
+\subsubsection{R\"{u}ckw\"{a}rtskompatibel}
\section{Weiteres}
diff --git a/LaTeX/chapters/simulator.tex b/LaTeX/chapters/simulator.tex
index a22d71e..076b04a 100644
--- a/LaTeX/chapters/simulator.tex
+++ b/LaTeX/chapters/simulator.tex
@@ -1,6 +1,6 @@
\chapter{Der Simulator}
-\section{Die grafische Benutzeroberfl\"{a}che (GUI)}
+\section{Grafische Benutzeroberfl\"{a}che (GUI)}
\begin{figure}[h]
\centering
@@ -156,7 +156,7 @@ Mit dem Deaktivieren des Logging-Schalters l\"{a}t sich das Loggen von Nachrich
\"{U}ber den Schalter ``Expertenmodus'' wird der Expertenmodus aktiviert beziehungsweise deaktiviert.
-\section{Der Expertenmodus}
+\section{Expertenmodus}
\begin{figure}[h]
\centering
diff --git a/LaTeX/diplomarbeit.pdf b/LaTeX/diplomarbeit.pdf
index 365f0c6..3b2c557 100644
--- a/LaTeX/diplomarbeit.pdf
+++ b/LaTeX/diplomarbeit.pdf
@@ -27,13 +27,13 @@ endobj
<< /S /GoTo /D (section.2.1) >>
endobj
24 0 obj
-(\376\377\0002\000.\0001\000\040\000D\000i\000e\000\040\000g\000r\000a\000f\000i\000s\000c\000h\000e\000\040\000B\000e\000n\000u\000t\000z\000e\000r\000o\000b\000e\000r\000f\000l\000\344\000c\000h\000e\000\040\000\050\000G\000U\000I\000\051)
+(\376\377\0002\000.\0001\000\040\000G\000r\000a\000f\000i\000s\000c\000h\000e\000\040\000B\000e\000n\000u\000t\000z\000e\000r\000o\000b\000e\000r\000f\000l\000\344\000c\000h\000e\000\040\000\050\000G\000U\000I\000\051)
endobj
25 0 obj
<< /S /GoTo /D (section.2.2) >>
endobj
28 0 obj
-(\376\377\0002\000.\0002\000\040\000D\000e\000r\000\040\000E\000x\000p\000e\000r\000t\000e\000n\000m\000o\000d\000u\000s)
+(\376\377\0002\000.\0002\000\040\000E\000x\000p\000e\000r\000t\000e\000n\000m\000o\000d\000u\000s)
endobj
29 0 obj
<< /S /GoTo /D (section.2.3) >>
@@ -189,7 +189,7 @@ endobj
<< /S /GoTo /D (subsection.3.3.1) >>
endobj
132 0 obj
-(\376\377\0003\000.\0003\000.\0001\000\040\000D\000i\000e\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.\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)
endobj
133 0 obj
<< /S /GoTo /D (subsection.3.3.2) >>
@@ -225,7 +225,7 @@ endobj
<< /S /GoTo /D (subsection.3.5.1) >>
endobj
156 0 obj
-(\376\377\0003\000.\0005\000.\0001\000\040\000D\000i\000e\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.\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)
endobj
157 0 obj
<< /S /GoTo /D (subsection.3.5.2) >>
@@ -243,7 +243,7 @@ endobj
<< /S /GoTo /D (section.3.6) >>
endobj
168 0 obj
-(\376\377\0003\000.\0006\000\040\000G\000U\000I)
+(\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)
endobj
169 0 obj
<< /S /GoTo /D (section.3.7) >>
@@ -252,45 +252,39 @@ endobj
(\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)
endobj
173 0 obj
-<< /S /GoTo /D (subsection.3.7.1) >>
-endobj
-176 0 obj
-(\376\377\0003\000.\0007\000.\0001\000\040\000R\000\374\000c\000k\000w\000\344\000r\000t\000s\000k\000o\000m\000p\000a\000t\000i\000b\000e\000l)
-endobj
-177 0 obj
<< /S /GoTo /D (section.3.8) >>
endobj
-180 0 obj
+176 0 obj
(\376\377\0003\000.\0008\000\040\000W\000e\000i\000t\000e\000r\000e\000s)
endobj
-181 0 obj
+177 0 obj
<< /S /GoTo /D (section.3.9) >>
endobj
-184 0 obj
+180 0 obj
(\376\377\0003\000.\0009\000\040\000E\000n\000t\000w\000i\000c\000k\000l\000u\000n\000g\000s\000u\000m\000g\000e\000b\000u\000n\000g)
endobj
-185 0 obj
+181 0 obj
<< /S /GoTo /D (chapter.4) >>
endobj
-188 0 obj
+184 0 obj
(\376\377\0004\000\040\000A\000u\000s\000b\000l\000i\000c\000k)
endobj
-189 0 obj
+185 0 obj
<< /S /GoTo /D (appendix.A) >>
endobj
-192 0 obj
+188 0 obj
(\376\377\000A\000\040\000A\000k\000r\000o\000n\000y\000m\000s)
endobj
-193 0 obj
+189 0 obj
<< /S /GoTo /D (appendix.B) >>
endobj
-196 0 obj
+192 0 obj
(\376\377\000B\000\040\000L\000i\000t\000e\000r\000a\000t\000u\000r\000v\000e\000r\000z\000e\000i\000c\000h\000n\000i\000s)
endobj
-197 0 obj
-<< /S /GoTo /D [198 0 R /Fit ] >>
+193 0 obj
+<< /S /GoTo /D [194 0 R /Fit ] >>
endobj
-201 0 obj <<
+197 0 obj <<
/Length 826
/Filter /FlateDecode
>>
@@ -300,14 +294,14 @@ xڍUKs6W(͔of׊N];ri-A"kL %YI:<
犂b쫑 h<r*r`o2ř֯CC'KsJLΛcD׾k|nZ҅v 6`#ȳEM<%Li$Uu ЉR#?gp3Pbj%=Swi 6"5 F>_㘱FԮCaLp1[CмE?'4!ޮ!M caf ]
%T=ke=)KPJjqT*'8e5Ҋa(Dc8Q+`J_mߦ~s51D G܉endstream
endobj
-198 0 obj <<
+194 0 obj <<
/Type /Page
-/Contents 201 0 R
-/Resources 200 0 R
+/Contents 197 0 R
+/Resources 196 0 R
/MediaBox [0 0 595.2757 841.8898]
-/Parent 210 0 R
+/Parent 206 0 R
>> endobj
-199 0 obj <<
+195 0 obj <<
/Type /XObject
/Subtype /Image
/Width 500
@@ -468,18 +462,18 @@ j'F{E,
5M%jKqizlO<ԕ#C~%(4p<]gʟ~c ]'?Ӹ)E-
sOyGKrm{
endobj
-202 0 obj <<
-/D [198 0 R /XYZ 74.4095 769.8898 null]
+198 0 obj <<
+/D [194 0 R /XYZ 74.4095 769.8898 null]
>> endobj
-203 0 obj <<
-/D [198 0 R /XYZ 74.4095 769.8898 null]
+199 0 obj <<
+/D [194 0 R /XYZ 74.4095 769.8898 null]
>> endobj
-200 0 obj <<
-/Font << /F26 206 0 R /F28 209 0 R >>
-/XObject << /Im1 199 0 R >>
+196 0 obj <<
+/Font << /F26 202 0 R /F28 205 0 R >>
+/XObject << /Im1 195 0 R >>
/ProcSet [ /PDF /Text /ImageC ]
>> endobj
-213 0 obj <<
+209 0 obj <<
/Length 892
/Filter /FlateDecode
>>
@@ -491,21 +485,21 @@ vsqy#oj >qԳDR&ڦ
C1D\q{oJ7. pV1H9<E YJ=ZN~ P#Qm`Wŀ;>:
@endstream
endobj
-212 0 obj <<
+208 0 obj <<
/Type /Page
-/Contents 213 0 R
-/Resources 211 0 R
+/Contents 209 0 R
+/Resources 207 0 R
/MediaBox [0 0 595.2757 841.8898]
-/Parent 210 0 R
+/Parent 206 0 R
>> endobj
-214 0 obj <<
-/D [212 0 R /XYZ 74.4095 793.4011 null]
+210 0 obj <<
+/D [208 0 R /XYZ 74.4095 793.4011 null]
>> endobj
-211 0 obj <<
-/Font << /F26 206 0 R /F28 209 0 R >>
+207 0 obj <<
+/Font << /F26 202 0 R /F28 205 0 R >>
/ProcSet [ /PDF /Text ]
>> endobj
-217 0 obj <<
+213 0 obj <<
/Length 790
/Filter /FlateDecode
>>
@@ -519,419 +513,410 @@ xڕVMs0Wp"[>d2$3A)_ I C֫}ڷJ08$b<zE[
7,
=js+&f
endobj
-216 0 obj <<
+212 0 obj <<
/Type /Page
-/Contents 217 0 R
-/Resources 215 0 R
+/Contents 213 0 R
+/Resources 211 0 R
/MediaBox [0 0 595.2757 841.8898]
-/Parent 210 0 R
+/Parent 206 0 R
>> endobj
-218 0 obj <<
-/D [216 0 R /XYZ 74.4095 793.4011 null]
+214 0 obj <<
+/D [212 0 R /XYZ 74.4095 793.4011 null]
>> endobj
-215 0 obj <<
-/Font << /F26 206 0 R /F28 209 0 R /F35 221 0 R >>
+211 0 obj <<
+/Font << /F26 202 0 R /F28 205 0 R /F35 217 0 R >>
/ProcSet [ /PDF /Text ]
>> endobj
-224 0 obj <<
-/Length 2207
+220 0 obj <<
+/Length 2201
/Filter /FlateDecode
>>
stream
-x]4+|\D[%K 3P.®zH_d[YGiEv:d7::L2lLqq.23~gݫp.R?&] _LcZH9rVh$8Vus⋯G9f!)b9ïo*+Ey4/UY/=$2CL_" ┱INwC";l2I,bZ(To-WRmYm9V.F4ۉHk2GR)0D!,Y~A2|Jhɢ,A%MkIbݔ*H!Rg~0WNpBCj5/~>Ѱg!'JI|HKIᐜ12 Zft
-<>A[-8--H\wW/4Ҝp5l'hŗ*-)^fg3UP~W% ;",v52Es_L\~X`'f/ˢKg[i}qcy4Fq^eXW?~c^ys9JJ*jf&|cJć2`֦!=PY, ,1rSwN[MQ`NK3?^x;Uՙ5,+oW0ak-
-:W R:M+a=Ɣuή0bLk|bvՋ` Cqx]}hm jPYi&
-ak-"N-s5-S: xdv2OKe]}[efм{
-yf8&8:U=J'԰PԙxRSi-Sx:Óxʔtij)
-2?hS%QSЪ<gco׈fF(`C,0BQgˆ4p<dF
-^uձzޘvo0*,݄:U49"v dd4 #A0GakqdZ"H@r
-W9OUx 5"?"qJ82#tx$l-1u(j8AHvEMQOe=-Ŀ<v]/`ʹ3J8:U1Qi#W{M(`Z6IM(L6MIKrxcU</u_YmVoWm.A70QtM42
-:ypO(`6Z<iO(L<DdOva~_Eh2sZF%,-ф f3lEфCad:NhY5MQ\ûʺ,6Sw/2է_lw--kץ0YNw |~rz tբ_3$Sbi
-%'s,)Uy?gDK\HY&Bgd**-;BwS]v9lE.Fɜ(y&d9/[
-SjwW_n7[?v;gQi2!N.fƠǝt.z] [z:=s1Ṉίez:_w9|#kڭ&jlu~EJ x]F v;gdA}//ۇE>Cm3*a{2}5wWy9
-[k!W`yڍJNϯ핷LqֽYiq۔m@Ře {z}6By:q)h0>B΄PI(OlX&O{vۇIr}6\3~|!N0:r5##J0Gak-sID-rT >re>/\xЩ%>|ʻG-5wߖ F92mNjA=mpԆ?|wӾ3)TJɐ2$f*az=12}'y@ [K E==.vj<6؞`j֩q>k<wendstream
+xM۸<J!x̬צ*$uFZ 5%R}$Aِ=سS>h,o76 2
+Xf$4WXvf;+HT&> o`06YT_uʩn;KziatUwkxyzۿzs;8
+4˧0U:-ɅQq?
+NSE: Β\k9[Yo֫7e/T.CbNy>!3JHPLkXB>D* IdP-+d ge5&g6[ F]4 zwh\MyTɜ0msJDskZ2~]~k0bN<rxČDcM8%VkBJ \2,'TY9Cuќ
+et
+(wED-`VoKP arfhr\.5(ިCWzt˪nTMzV !@
+NDI#gxvG]vl_\'/-,O1FRŪJ<wW{<%5Mj<Z
+OB<9r{<]sʺ<TuZ.4.IdMoơ5y.ڞ#0bi `DNF{(z]_כ?UQsU~S
+@MLJ6'mDs"(@Q<Z;vA2D [y
+ +;FC CCGsA~=G䔦z̳g.oja[{t;<>WR< Li6 RwX~YDGk+P dҝLG^"EC~g {Hy(Q<Z |z]!ˡY`[y;px0^ӻ7ۺ;o;훲# ᔊ,3`oaUC,Og<Ecί1 !4.S`6lNSS~ѶwDPC;׀i]`' qʳh*ţ\
+SƝ賿RܢbC
endobj
-223 0 obj <<
+219 0 obj <<
/Type /Page
-/Contents 224 0 R
-/Resources 222 0 R
+/Contents 220 0 R
+/Resources 218 0 R
/MediaBox [0 0 595.2757 841.8898]
-/Parent 210 0 R
-/Annots [ 227 0 R 228 0 R 229 0 R 230 0 R 231 0 R 232 0 R 233 0 R 234 0 R 235 0 R 236 0 R 237 0 R 238 0 R 239 0 R 240 0 R 241 0 R 242 0 R 243 0 R 244 0 R 245 0 R 246 0 R 247 0 R 248 0 R 249 0 R 250 0 R 251 0 R ]
+/Parent 206 0 R
+/Annots [ 223 0 R 224 0 R 225 0 R 226 0 R 227 0 R 228 0 R 229 0 R 230 0 R 231 0 R 232 0 R 233 0 R 234 0 R 235 0 R 236 0 R 237 0 R 238 0 R 239 0 R 240 0 R 241 0 R 242 0 R 243 0 R 244 0 R 245 0 R 246 0 R 247 0 R ]
>> endobj
-227 0 obj <<
+223 0 obj <<
/Type /Annot
/Border[0 0 0]/H/I/C[1 0 0]
/Rect [73.4132 602.7474 132.1982 613.2758]
/Subtype /Link
/A << /S /GoTo /D (chapter.1) >>
>> endobj
-228 0 obj <<
+224 0 obj <<
/Type /Annot
/Border[0 0 0]/H/I/C[1 0 0]
/Rect [86.8628 585.4997 150.1131 594.0645]
/Subtype /Link
/A << /S /GoTo /D (section.1.1) >>
>> endobj
-229 0 obj <<
+225 0 obj <<
/Type /Annot
/Border[0 0 0]/H/I/C[1 0 0]
/Rect [86.8628 564.6297 156.4611 575.212]
/Subtype /Link
/A << /S /GoTo /D (section.1.2) >>
>> endobj
-230 0 obj <<
+226 0 obj <<
/Type /Annot
/Border[0 0 0]/H/I/C[1 0 0]
/Rect [73.4132 537.7331 147.4677 546.3786]
/Subtype /Link
/A << /S /GoTo /D (chapter.2) >>
>> endobj
-231 0 obj <<
+227 0 obj <<
/Type /Annot
/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [86.8628 516.7914 266.0381 527.3736]
+/Rect [86.8628 516.899 252.1763 527.3736]
/Subtype /Link
/A << /S /GoTo /D (section.2.1) >>
>> endobj
-232 0 obj <<
+228 0 obj <<
/Type /Annot
/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [86.8628 497.8402 189.5647 508.1086]
+/Rect [86.8628 497.8402 172.6274 508.1086]
/Subtype /Link
/A << /S /GoTo /D (section.2.2) >>
>> endobj
-233 0 obj <<
+229 0 obj <<
/Type /Annot
/Border[0 0 0]/H/I/C[1 0 0]
/Rect [86.8628 478.6738 151.3326 489.0498]
/Subtype /Link
/A << /S /GoTo /D (section.2.3) >>
>> endobj
-234 0 obj <<
+230 0 obj <<
/Type /Annot
/Border[0 0 0]/H/I/C[1 0 0]
/Rect [86.8628 459.6149 163.3025 469.991]
/Subtype /Link
/A << /S /GoTo /D (section.2.4) >>
>> endobj
-235 0 obj <<
+231 0 obj <<
/Type /Annot
/Border[0 0 0]/H/I/C[1 0 0]
/Rect [107.4855 440.6638 219.7364 450.9322]
/Subtype /Link
/A << /S /GoTo /D (subsection.2.4.1) >>
>> endobj
-236 0 obj <<
+232 0 obj <<
/Type /Annot
/Border[0 0 0]/H/I/C[1 0 0]
/Rect [107.4855 421.4973 237.2476 432.0796]
/Subtype /Link
/A << /S /GoTo /D (subsection.2.4.2) >>
>> endobj
-237 0 obj <<
+233 0 obj <<
/Type /Annot
/Border[0 0 0]/H/I/C[1 0 0]
/Rect [107.4855 402.4385 280.8776 412.8146]
/Subtype /Link
/A << /S /GoTo /D (subsection.2.4.3) >>
>> endobj
-238 0 obj <<
+234 0 obj <<
/Type /Annot
/Border[0 0 0]/H/I/C[1 0 0]
/Rect [107.4855 383.3797 269.5888 393.7557]
/Subtype /Link
/A << /S /GoTo /D (subsection.2.4.4) >>
>> endobj
-239 0 obj <<
+235 0 obj <<
/Type /Annot
/Border[0 0 0]/H/I/C[1 0 0]
/Rect [86.8628 366.1322 149.1627 374.697]
/Subtype /Link
/A << /S /GoTo /D (section.2.5) >>
>> endobj
-240 0 obj <<
+236 0 obj <<
/Type /Annot
/Border[0 0 0]/H/I/C[1 0 0]
/Rect [107.4855 345.3698 245.963 355.8444]
/Subtype /Link
/A << /S /GoTo /D (subsection.2.5.1) >>
>> endobj
-241 0 obj <<
+237 0 obj <<
/Type /Annot
/Border[0 0 0]/H/I/C[1 0 0]
/Rect [107.4855 326.2033 235.2122 336.5793]
/Subtype /Link
/A << /S /GoTo /D (subsection.2.5.2) >>
>> endobj
-242 0 obj <<
+238 0 obj <<
/Type /Annot
/Border[0 0 0]/H/I/C[1 0 0]
/Rect [107.4855 308.9558 234.1633 317.5205]
/Subtype /Link
/A << /S /GoTo /D (subsection.2.5.3) >>
>> endobj
-243 0 obj <<
+239 0 obj <<
/Type /Annot
/Border[0 0 0]/H/I/C[1 0 0]
/Rect [107.4855 288.0857 430.8561 298.668]
/Subtype /Link
/A << /S /GoTo /D (subsection.2.5.4) >>
>> endobj
-244 0 obj <<
+240 0 obj <<
/Type /Annot
/Border[0 0 0]/H/I/C[1 0 0]
/Rect [107.4855 269.0269 339.714 279.6092]
/Subtype /Link
/A << /S /GoTo /D (subsection.2.5.5) >>
>> endobj
-245 0 obj <<
+241 0 obj <<
/Type /Annot
/Border[0 0 0]/H/I/C[1 0 0]
/Rect [107.4855 249.9681 361.5826 260.5504]
/Subtype /Link
/A << /S /GoTo /D (subsection.2.5.6) >>
>> endobj
-246 0 obj <<
+242 0 obj <<
/Type /Annot
/Border[0 0 0]/H/I/C[1 0 0]
/Rect [107.4855 232.7206 273.5162 241.4916]
/Subtype /Link
/A << /S /GoTo /D (subsection.2.5.7) >>
>> endobj
-247 0 obj <<
+243 0 obj <<
/Type /Annot
/Border[0 0 0]/H/I/C[1 0 0]
/Rect [107.4855 213.6618 279.3982 222.4328]
/Subtype /Link
/A << /S /GoTo /D (subsection.2.5.8) >>
>> endobj
-248 0 obj <<
+244 0 obj <<
/Type /Annot
/Border[0 0 0]/H/I/C[1 0 0]
/Rect [107.4855 192.7917 278.1965 203.374]
/Subtype /Link
/A << /S /GoTo /D (subsection.2.5.9) >>
>> endobj
-249 0 obj <<
+245 0 obj <<
/Type /Annot
/Border[0 0 0]/H/I/C[1 0 0]
/Rect [107.4855 173.7329 283.3791 184.3152]
/Subtype /Link
/A << /S /GoTo /D (subsection.2.5.10) >>
>> endobj
-250 0 obj <<
+246 0 obj <<
/Type /Annot
/Border[0 0 0]/H/I/C[1 0 0]
/Rect [86.8628 154.7818 178.9666 165.0501]
/Subtype /Link
/A << /S /GoTo /D (section.2.6) >>
>> endobj
-251 0 obj <<
+247 0 obj <<
/Type /Annot
/Border[0 0 0]/H/I/C[1 0 0]
/Rect [107.4855 135.723 264.7471 145.9913]
/Subtype /Link
/A << /S /GoTo /D (subsection.2.6.1) >>
>> endobj
-225 0 obj <<
-/D [223 0 R /XYZ 74.4095 793.4011 null]
->> endobj
-226 0 obj <<
-/D [223 0 R /XYZ 74.4095 634.2859 null]
+221 0 obj <<
+/D [219 0 R /XYZ 74.4095 793.4011 null]
>> endobj
222 0 obj <<
-/Font << /F26 206 0 R /F28 209 0 R >>
+/D [219 0 R /XYZ 74.4095 634.2859 null]
+>> endobj
+218 0 obj <<
+/Font << /F26 202 0 R /F28 205 0 R >>
/ProcSet [ /PDF /Text ]
>> endobj
-254 0 obj <<
-/Length 1990
+250 0 obj <<
+/Length 1903
/Filter /FlateDecode
>>
stream
-xnFjå&AB$'h$\jY
-818{fvqvf%?VI$u0N ƊZ\^tVE~z8eqf_9{y\\ݿsU6~Ow~jPjx ;KBoQ/]r0u.uAW)|P7vr~U͡*w2R4ʄd)3Ic}ŘӐSĉAg 2xчh[M+iR|mvrVզ*7I%gATǑKwGǷct; cKpg8n>N.O Pjw2XෛųݥrcɊ:U&>ֱa lbDsZ ӄb^%p
-;0
-eH|ʮSwRdӺ:^]Lx*Rf#Xn#0ܦj04Ȁx&`erIh_zP-bH0`0otS`wjMbz='P$Ci
-߶l|ڻZhT9mgAI E9JHļLu()
+x[o6)h31"6k<jeۧߡ$J)q5mP Ux<鐇YA+$:U'j7.x_>f%NkY\-YA/]l-W9WrջMy.XLI! \Xݩ$:m~ *v7Eytc`0Miv *?KA 컪/߫r]nUϕMc*cI1ȜSfI㨽uCb,h؂)DРX|\mdմ&e'M٫fl,kHngaUmrY(L41Np쬾f?F8~;Si4gOzf j-f(W+x\7aK
+&T<kgkVԃ[zm&tL3 &40j+2`2ށu@D_ zP-bوY0n+]31Vc&1E#xm(aK|4}ʦD-h -0{k&n2v^Db7$MEBX_J&lY7,/6j}TYfnƵ'=ݲjIQѝAPe<CN=?r'Y2f,-#D$xld1rUE!uSOCjjSLN5@GkZIJԷ]R\tDHGaQOZ&B9/A&۵:eo A[/a }jmջ)|xsl],o
+w)oy
++85¥4pS96<I'N,X94=\Y' SI6g-E8\x4¨s1f^F-?=U>aJ;gv*?3Htvv;Ѝ:]#B*]1F\./NSXO'TXa>e:+2 *?m:aPϢ>̎}AK#X{3n2 n-[sj P}RO)¤EP,MXǁcendstream
endobj
-253 0 obj <<
+249 0 obj <<
/Type /Page
-/Contents 254 0 R
-/Resources 252 0 R
+/Contents 250 0 R
+/Resources 248 0 R
/MediaBox [0 0 595.2757 841.8898]
-/Parent 210 0 R
-/Annots [ 259 0 R 260 0 R 261 0 R 262 0 R 263 0 R 264 0 R 265 0 R 266 0 R 267 0 R 268 0 R 269 0 R 270 0 R 271 0 R 272 0 R 273 0 R 274 0 R 275 0 R 276 0 R 277 0 R 278 0 R 279 0 R 280 0 R 281 0 R ]
+/Parent 206 0 R
+/Annots [ 255 0 R 256 0 R 257 0 R 258 0 R 259 0 R 260 0 R 261 0 R 262 0 R 263 0 R 264 0 R 265 0 R 266 0 R 267 0 R 268 0 R 269 0 R 270 0 R 271 0 R 272 0 R 273 0 R 274 0 R 275 0 R 276 0 R ]
>> endobj
-259 0 obj <<
+255 0 obj <<
/Type /Annot
/Border[0 0 0]/H/I/C[1 0 0]
/Rect [73.4132 756.786 177.5405 767.3144]
/Subtype /Link
/A << /S /GoTo /D (chapter.3) >>
>> endobj
-260 0 obj <<
+256 0 obj <<
/Type /Annot
/Border[0 0 0]/H/I/C[1 0 0]
/Rect [86.8628 738.8587 199.1048 749.2347]
/Subtype /Link
/A << /S /GoTo /D (section.3.1) >>
>> endobj
-261 0 obj <<
+257 0 obj <<
/Type /Annot
/Border[0 0 0]/H/I/C[1 0 0]
/Rect [86.8628 720.9315 216.6336 731.3075]
/Subtype /Link
/A << /S /GoTo /D (section.3.2) >>
>> endobj
-262 0 obj <<
+258 0 obj <<
/Type /Annot
/Border[0 0 0]/H/I/C[1 0 0]
/Rect [107.4855 703.0042 215.4148 713.3802]
/Subtype /Link
/A << /S /GoTo /D (subsection.3.2.1) >>
>> endobj
-263 0 obj <<
+259 0 obj <<
/Type /Annot
/Border[0 0 0]/H/I/C[1 0 0]
/Rect [107.4855 685.1846 190.4974 695.453]
/Subtype /Link
/A << /S /GoTo /D (subsection.3.2.2) >>
>> endobj
-264 0 obj <<
+260 0 obj <<
/Type /Annot
/Border[0 0 0]/H/I/C[1 0 0]
/Rect [86.8628 667.1498 151.3326 677.5258]
/Subtype /Link
/A << /S /GoTo /D (section.3.3) >>
>> endobj
-265 0 obj <<
+261 0 obj <<
/Type /Annot
/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [107.4855 649.2225 281.595 659.5985]
+/Rect [107.4855 649.2225 265.653 659.5985]
/Subtype /Link
/A << /S /GoTo /D (subsection.3.3.1) >>
>> endobj
-266 0 obj <<
+262 0 obj <<
/Type /Annot
/Border[0 0 0]/H/I/C[1 0 0]
/Rect [107.4855 631.2953 308.7178 641.6713]
/Subtype /Link
/A << /S /GoTo /D (subsection.3.3.2) >>
>> endobj
-267 0 obj <<
+263 0 obj <<
/Type /Annot
/Border[0 0 0]/H/I/C[1 0 0]
/Rect [86.8628 613.3681 334.173 623.9503]
/Subtype /Link
/A << /S /GoTo /D (section.3.4) >>
>> endobj
-268 0 obj <<
+264 0 obj <<
/Type /Annot
/Border[0 0 0]/H/I/C[1 0 0]
/Rect [107.4855 597.252 199.5985 605.8168]
/Subtype /Link
/A << /S /GoTo /D (subsection.3.4.1) >>
>> endobj
-269 0 obj <<
+265 0 obj <<
/Type /Annot
/Border[0 0 0]/H/I/C[1 0 0]
/Rect [107.4855 577.5136 336.6387 588.0958]
/Subtype /Link
/A << /S /GoTo /D (subsection.3.4.2) >>
>> endobj
-270 0 obj <<
+266 0 obj <<
/Type /Annot
/Border[0 0 0]/H/I/C[1 0 0]
/Rect [86.8628 561.3976 149.1627 569.9624]
/Subtype /Link
/A << /S /GoTo /D (section.3.5) >>
>> endobj
-271 0 obj <<
+267 0 obj <<
/Type /Annot
/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [107.4855 543.4703 291.6013 552.0351]
+/Rect [107.4855 543.4703 275.6593 552.0351]
/Subtype /Link
/A << /S /GoTo /D (subsection.3.5.1) >>
>> endobj
-272 0 obj <<
+268 0 obj <<
/Type /Annot
/Border[0 0 0]/H/I/C[1 0 0]
/Rect [107.4855 523.7319 301.5626 534.1079]
/Subtype /Link
/A << /S /GoTo /D (subsection.3.5.2) >>
>> endobj
-273 0 obj <<
+269 0 obj <<
/Type /Annot
/Border[0 0 0]/H/I/C[1 0 0]
/Rect [107.4855 505.8046 252.6067 516.1807]
/Subtype /Link
/A << /S /GoTo /D (subsection.3.5.3) >>
>> endobj
-274 0 obj <<
+270 0 obj <<
/Type /Annot
/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [86.8628 489.6886 125.42 498.4597]
+/Rect [86.8628 487.8774 253.8798 498.4597]
/Subtype /Link
/A << /S /GoTo /D (section.3.6) >>
>> endobj
-275 0 obj <<
+271 0 obj <<
/Type /Annot
/Border[0 0 0]/H/I/C[1 0 0]
/Rect [86.8628 469.9502 235.0054 480.5324]
/Subtype /Link
/A << /S /GoTo /D (section.3.7) >>
>> endobj
-276 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [107.4855 452.1306 223.368 462.399]
-/Subtype /Link
-/A << /S /GoTo /D (subsection.3.7.1) >>
->> endobj
-277 0 obj <<
+272 0 obj <<
/Type /Annot
/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [86.8628 435.9069 144.581 444.4717]
+/Rect [86.8628 453.8342 144.581 462.399]
/Subtype /Link
/A << /S /GoTo /D (section.3.8) >>
>> endobj
-278 0 obj <<
+273 0 obj <<
/Type /Annot
/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [86.8628 416.1685 203.8034 426.5445]
+/Rect [86.8628 434.0957 203.8034 444.4717]
/Subtype /Link
/A << /S /GoTo /D (section.3.9) >>
>> endobj
-279 0 obj <<
+274 0 obj <<
/Type /Annot
/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [73.4132 391.1578 125.6888 399.8033]
+/Rect [73.4132 409.0851 125.6888 417.7306]
/Subtype /Link
/A << /S /GoTo /D (chapter.4) >>
>> endobj
-280 0 obj <<
+275 0 obj <<
/Type /Annot
/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [73.4132 362.5203 132.3418 372.7169]
+/Rect [73.4132 380.4475 132.3418 390.6442]
/Subtype /Link
/A << /S /GoTo /D (appendix.A) >>
>> endobj
-281 0 obj <<
+276 0 obj <<
/Type /Annot
/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [73.4132 337.3706 174.1512 346.0161]
+/Rect [73.4132 355.2979 174.1512 363.9433]
/Subtype /Link
/A << /S /GoTo /D (appendix.B) >>
>> endobj
-255 0 obj <<
-/D [253 0 R /XYZ 74.4095 793.4011 null]
+251 0 obj <<
+/D [249 0 R /XYZ 74.4095 793.4011 null]
>> endobj
-252 0 obj <<
-/Font << /F61 258 0 R /F26 206 0 R /F28 209 0 R >>
+248 0 obj <<
+/Font << /F61 254 0 R /F26 202 0 R /F28 205 0 R >>
/ProcSet [ /PDF /Text ]
>> endobj
-284 0 obj <<
+279 0 obj <<
/Length 2387
/Filter /FlateDecode
>>
@@ -948,214 +933,214 @@ i]hj.(ɒ^-ɧ&JR^guE3s!-IBej 2&J
j
< x< 8 :9`)ۘߡc401U$-35pz*k8tendstream
endobj
-283 0 obj <<
+278 0 obj <<
/Type /Page
-/Contents 284 0 R
-/Resources 282 0 R
+/Contents 279 0 R
+/Resources 277 0 R
/MediaBox [0 0 595.2757 841.8898]
-/Parent 210 0 R
-/Annots [ 287 0 R 288 0 R 289 0 R 290 0 R 291 0 R 292 0 R 293 0 R 294 0 R 295 0 R 296 0 R 297 0 R 298 0 R 299 0 R 300 0 R 301 0 R 302 0 R 303 0 R 304 0 R 305 0 R 306 0 R 307 0 R 308 0 R 309 0 R 310 0 R 311 0 R 312 0 R 313 0 R ]
+/Parent 206 0 R
+/Annots [ 282 0 R 283 0 R 284 0 R 285 0 R 286 0 R 287 0 R 288 0 R 289 0 R 290 0 R 291 0 R 292 0 R 293 0 R 294 0 R 295 0 R 296 0 R 297 0 R 298 0 R 299 0 R 300 0 R 301 0 R 302 0 R 303 0 R 304 0 R 305 0 R 306 0 R 307 0 R 308 0 R ]
>> endobj
-287 0 obj <<
+282 0 obj <<
/Type /Annot
/Border[0 0 0]/H/I/C[1 0 0]
/Rect [86.8628 614.0499 190.237 622.821]
/Subtype /Link
/A << /S /GoTo /D (figure.1.1) >>
>> endobj
-288 0 obj <<
+283 0 obj <<
/Type /Annot
/Border[0 0 0]/H/I/C[1 0 0]
/Rect [86.8628 596.1014 203.516 604.8725]
/Subtype /Link
/A << /S /GoTo /D (figure.1.2) >>
>> endobj
-289 0 obj <<
+284 0 obj <<
/Type /Annot
/Border[0 0 0]/H/I/C[1 0 0]
/Rect [86.8628 568.1903 265.2216 576.9613]
/Subtype /Link
/A << /S /GoTo /D (figure.2.1) >>
>> endobj
-290 0 obj <<
+285 0 obj <<
/Type /Annot
/Border[0 0 0]/H/I/C[1 0 0]
/Rect [86.8628 550.3225 155.8157 558.8066]
/Subtype /Link
/A << /S /GoTo /D (figure.2.2) >>
>> endobj
-291 0 obj <<
+286 0 obj <<
/Type /Annot
/Border[0 0 0]/H/I/C[1 0 0]
/Rect [86.8628 532.2933 194.1104 541.0644]
/Subtype /Link
/A << /S /GoTo /D (figure.2.3) >>
>> endobj
-292 0 obj <<
+287 0 obj <<
/Type /Annot
/Border[0 0 0]/H/I/C[1 0 0]
/Rect [86.8628 514.3448 234.6025 522.9096]
/Subtype /Link
/A << /S /GoTo /D (figure.2.4) >>
>> endobj
-293 0 obj <<
+288 0 obj <<
/Type /Annot
/Border[0 0 0]/H/I/C[1 0 0]
/Rect [86.8628 494.5851 323.1705 505.1674]
/Subtype /Link
/A << /S /GoTo /D (figure.2.5) >>
>> endobj
-294 0 obj <<
+289 0 obj <<
/Type /Annot
/Border[0 0 0]/H/I/C[1 0 0]
/Rect [86.8628 478.4479 254.9919 487.2189]
/Subtype /Link
/A << /S /GoTo /D (figure.2.6) >>
>> endobj
-295 0 obj <<
+290 0 obj <<
/Type /Annot
/Border[0 0 0]/H/I/C[1 0 0]
/Rect [86.8628 458.6881 257.9592 469.2704]
/Subtype /Link
/A << /S /GoTo /D (figure.2.7) >>
>> endobj
-296 0 obj <<
+291 0 obj <<
/Type /Annot
/Border[0 0 0]/H/I/C[1 0 0]
/Rect [86.8628 440.7397 318.4276 451.1157]
/Subtype /Link
/A << /S /GoTo /D (figure.2.8) >>
>> endobj
-297 0 obj <<
+292 0 obj <<
/Type /Annot
/Border[0 0 0]/H/I/C[1 0 0]
/Rect [86.8628 422.7912 237.633 433.3734]
/Subtype /Link
/A << /S /GoTo /D (figure.2.9) >>
>> endobj
-298 0 obj <<
+293 0 obj <<
/Type /Annot
/Border[0 0 0]/H/I/C[1 0 0]
/Rect [86.8628 404.8427 174.9945 415.4249]
/Subtype /Link
/A << /S /GoTo /D (figure.2.10) >>
>> endobj
-299 0 obj <<
+294 0 obj <<
/Type /Annot
/Border[0 0 0]/H/I/C[1 0 0]
/Rect [86.8628 387.0018 241.7841 397.4764]
/Subtype /Link
/A << /S /GoTo /D (figure.2.11) >>
>> endobj
-300 0 obj <<
+295 0 obj <<
/Type /Annot
/Border[0 0 0]/H/I/C[1 0 0]
/Rect [86.8628 369.0533 233.9117 379.528]
/Subtype /Link
/A << /S /GoTo /D (figure.2.12) >>
>> endobj
-301 0 obj <&l