1 \chapter{Milestones und Arbeitsprotokolle}\label{milestones} %\ref doesnt work outside this file ?!?
2 \section{Inhaltliche Voraussetzungen erarbeitet: beendet am 27.09.2010}
4 \item Kenntnis der Grundlagen und Anwendung von CTP: beendet am 03.08.2010
5 \item Charakteristika der Programmsprache Scala: beendet am 27.09.2010
6 \item Scala Actors: beendet am 12.08.2010
8 \begin{tabular}{|p{2cm}|p{8cm}|p{2cm}|}
10 Datum & T\"atigkeit & Einheiten \\ \hline
11 12.07.2010 & Meeting: erste Besprechung und Erkl\"{a}rungen zu Isabelle, Isac und CTPs & 2 \\ \hline
12 15.07.2010 & Recherche \"{u}ber Isabelle und CTPs & 3 \\ \hline
13 20.07.2010 & Meeting: Besprechen der grunds\"{a}tzlichen Vorgangsweise und Ziele & 1 \\ \hline
14 23.07.2010 & Isabelle: Ziele, Techniken (ML) und Zusammenh\"{a}nge mit Isac abkl\"{a}ren & 1 \\ \hline
15 30.07.2010 & Ende der Einarbeitungstage: weitere Vorgensweise \"{u}ber Backs 'structured derivations'; Begriffserkl\"{a}rung & 3 \\ \hline
16 01.08.2010 & Recherche: Buch f\"{u}r Scala & 2 \\ \hline
17 03.08.2010 & Isabelle bestehende Technologie studieren & 4 \\ \hline
18 05.08.2010 & Einarbeiten in Scala: Unterschiede zu Java indentifizieren & 1 \\ \hline
19 06.08.2010 & Einarbeiten in Scala: Unterschiede zu Java indentifizieren, erste Beispielfiles & 4 \\ \hline
20 08.08.2010 & Einarbeiten in Scala: funktionale Seite von Scala & 2 \\ \hline
21 09.08.2010 & Einarbeiten in Scala: Testfiles mit Scala-Swing & 5 \\ \hline
22 12.08.2010 & Studieren von Papers zu Scala Actors & 3 \\ \hline
23 24.09.2010 & Scala: Arbeiten mit Klassen und Schnittstellen & 3 \\ \hline
24 25.09.2010 & Scala: Experimente mit Java in Scala-Source & 6 \\ \hline
25 27.09.2010 & Scala: Testfiles zu "Funktional vs Imperativ" & 4 \\ \hline \hline
26 & Anzahl der Einheiten & 44 \\
31 \section{Technische Voraussetzungen hergestellt: beendet am 02.08.2010}
33 \item Isabelle installiert, Filestruktur bekannt: beendet am 02.08.2010
34 \item Scala in NetBeans eingebunden: beendet am 22.07.2010
35 \item Mercurial installiert und einrichten des Repositories: beendet am 19.07.2010
37 \begin{tabular}{|p{2cm}|p{8cm}|p{2cm}|}
39 Datum & T\"atigkeit & Einheiten \\ \hline
40 19.07.2010 & Beginn der Installationsarbeiten: Repo klonen und testen & 6 \\ \hline
41 20.07.2010 & Installationsarbeiten, Einarbeiten in Filestruktur & 7 \\ \hline
42 21.07.2010 & Einarbeiten in Filestruktur & 6 \\ \hline
43 22.07.2010 & Vorbereitungen: NetBeans, JDK und Scala installieren. Scala in NetBeans integrieren & 8 \\ \hline
44 23.07.2010 & Isabelle-jEdit-Plugin mittels NetBeans ausf\"{u}hren: testen & 5 \\ \hline
45 27.07.2010 & Isabelle-jEdit-Plugin: \"{a}nderungen an der Projektstruktur & 7 \\ \hline
46 28.07.2010 & Experimente mit Isabelle-jEdit-Plugin & 6 \\ \hline
47 29.07.2010 & Identifikations der Parse-Einstiegsstelle & 5 \\ \hline
48 30.07.2010 & Experimente mit Isabelle-jEdit-Plugin, Besprechung \"{u}ber Erfahrungen mit Filestruktur & 4 \\ \hline
49 02.08.2010 & Installationen und einrichten des Repos auf meinen Laptop & 6 \\ \hline \hline
50 & Anzahl der Einheiten & 60 \\
54 \section{NetBeans-Projekt aufgesetzt: beendet am 02.08.2010}
56 \item Grundlegende Projektstruktur f\"ur ISAC hergestellt: beendet am 02.08.2010
57 \item jEdit-Plugin: XML-Files f\"{u}r ISAC vorbereitet: beendet am 22.07.2010
58 \item jEdit-Plugin: Source files geschrieben: beendet am 19.07.2010
60 \begin{tabular}{|p{2cm}|p{8cm}|p{2cm}|}
62 Datum & T\"atigkeit & Einheiten \\ \hline
63 10.08.2010 & Projektstruktur anlegen, build.xml anpassen & 7 \\ \hline
64 11.08.2010 & jEdit-Plugin-Struktur studieren: Howto durcharbeiten & 5 \\ \hline
65 21.08.2010 & bestehende jEdit-Plugins (Java) durcharbeiten & 3 \\ \hline
66 22.08.2010 & Kopieren des Isabelle-jEdit-Plugins, Umarbeiten f\"{u}r ISAC & 3 \\ \hline
67 24.08.2010 & Umarbeiten des Isabelle-Plugins f\"{u}r ISAC & 6 \\ \hline
68 26.08.2010 & Problem mit Isabelle-Umgebungsvariable: Suche nach L\"{o}sungen & 3 \\ \hline
69 28.08.2010 & Recherchen zum Umgebungsvariable-Problem, Arbeiten mit den Isabelle-Shell-Skripts & 2 \\ \hline
70 29.08.2010 & Experimente mit den Path-Varialbe der jvm & 3 \\ \hline
71 30.08.2010 & Isabelle-jEdit-Plugin endlich vollst\"{a}ndig lauff\"{a}hig gebracht & 4 \\ \hline
72 01.09.2010 & Arbeiten an der jEdit-ISAC-Projektstruktur & 3 \\ \hline
73 04.09.2010 & Umarbeiten des Isabelle-Plugins f\"{u}r ISAC & 5 \\ \hline
74 20.09.2010 & Einrichten des Laptops f\"{u}r Isabelle-Isac & 4 \\ \hline
75 22.09.2010 & Meeting: Fortschrittsbericht, kurze Einf\"{u}hrung f\"{u}r Mitstreiter & 3 \\ \hline
77 29.09.2010 & Neue Vorgehensweise: QuickNotepad-Plugin(QN) wird in Scala \"{u}bersetzt und f\"{u}r ISAC entsprechend angepasst: Arbeit an den XML-Files & 4 \\ \hline
78 30.09.2010 & QN: Start mit \"{u}bersetzten der Sourcefiles & 5 \\ \hline
79 02.10.2010 & QN: \"{U}bersetzten der Sourcefiles & 6 \\ \hline
80 04.10.2010 & QN: \"{U}bersetzten der Sourcefiles: Problem bei Interface & 3 \\ \hline
81 05.10.2010 & QN: QN vollst\"andig in Scala \"{u}bersetzt, testen & 2 \\ \hline \hline
82 & Anzahl der Einheiten & 71 \\
86 \section{Experimentelle Parser implementiert: beendet am 04.03.2011}
88 \item Experimente mit dem SideKick-Parser abgeschlossen: beendet am 03.02.2011
89 \item Verbindung zu Isabelle-Pure hergestellt: beendet am 04.03.2011
90 \item Implementierung des Scala-Parsers: aufgeschoben
92 \begin{tabular}{|p{2cm}|p{8cm}|p{2cm}|}
94 Datum & T\"atigkeit & Einheiten \\ \hline
95 28.01.2011 & Testen des SideKick-Parsers im Isabelle-Plugin & 2 \\ \hline
96 29.01.2011 & Leichte Modifikationen des SideKick-Parsers im Isabelle-Plugin & 1 \\ \hline
97 08.02.2011 & Besprechung zum Abschluss der praktischen Arbeiten & 1 \\ \hline
98 16.02.2011 & Erstellen des Isabelle-Pur jar-Files & 1 \\ \hline
99 19.02.2011 & Behebung des Problems mit den Umgebungsvariablen & 1 \\ \hline
100 03.03.2011 & Erzeugung des Pure.jar Package m\"{o}glich & 2 \\ \hline
101 04.04.2011 & Verbindung zwischen Plugin und Isabelle-Pure hergestellt und getestet & 3 \\ \hline
102 08.04.2011 & Besprechung: Implementierung des experimentellen Parsers wird nicht mehr durchgef\"{u}hrt & 1 \\ \hline \hline
103 & Anzahl der Einheiten & 12 \\
107 \section{Verfassen der Dokumentation und abschliesende Arbeiten: beendet am 30.Juni 2011}
109 \item Bacc.-Protokoll fertiggestellt: beendet am 01.03.2011
110 \item Dokumentation: erste Version fertiggestellt: beendet am 28.04.2011
111 \item Dokumentation abgeschlossen: beendet am 30.Juni 2011
113 \begin{tabular}{|p{2cm}|p{8cm}|p{2cm}|}
115 Datum & T\"atigkeit & Einheiten \\ \hline
116 01.03.2011 & Besprechung zum Ablauf der Dokumentationsarbeiten: Protokoll und Dokumentation & 1 \\ \hline
117 01.03.2011 & Erstellen des Protokolls & 2 \\ \hline
118 08.03.2011 & Besprechung zur Doku und zur Schnittstelle zu Isabelle-Pure & 1 \\ \hline
119 17.03.2011 & Dokumentation schreiben & 2 \\ \hline
120 19.03.2011 & Dokumentation schreiben & 3 \\ \hline
121 24.04.2011 & Dokumentation schreiben & 2 \\ \hline
122 25.04.2011 & Dokumentation schreiben & 4 \\ \hline
123 27.04.2011 & Dokumentation schreiben & 2 \\ \hline
124 28.04.2011 & Dokumentation: Fertigstellen der ersten Version & 3 \\ \hline \hline
125 & Anzahl der Einheiten & 20 \\
129 \section{Pr\"asentation der Arbeit im IST-Seminar: beendet am 21.06.2011}
131 \item Pr\"asentation fertiggestellt: beendet am 19.06.2011
132 \item Pr\"asentation: abgehalten am 21.06.2011
134 \begin{tabular}{|p{2cm}|p{8cm}|p{2cm}|}
136 Datum & T\"atigkeit & Einheiten \\ \hline
137 06.06.2011 & Planung der Pr\"asentation & 2 \\ \hline
138 16.06.2011 & Verfassen der Pr\"asentation & 2 \\ \hline
139 18.06.2011 & Verfassen der Pr\"asentation & 3 \\ \hline
140 19.06.2011 & Pr\"asentation: Feinschliff & 2 \\ \hline
141 20.06.2011 & Vorbereiten der Pr\"asentation& 3 \\ \hline
142 21.06.2011 & Abhaltung und nachfolgende Diskussion & 1 \\ \hline \hline
143 & Anzahl der Einheiten & 13 \\
147 \chapter{Filestruktur Isabelle}
148 \section{jar-Packete}
149 \textbf{----- for "isabelle jedit \&"; contained in Isabelle\_bundle} \\
150 ./contrib/jedit-4.3.2\_Isabelle-6d736d983d5c/jedit.jar \\
151 ./contrib/jedit-4.3.2\_Isabelle-6d736d983d5c/jars/LatestVersion.jar \\
152 ./contrib/jedit-4.3.2\_Isabelle-6d736d983d5c/jars/SideKick.jar \\
153 ./contrib/jedit-4.3.2\_Isabelle-6d736d983d5c/jars/Console.jar \\
154 ./contrib/jedit-4.3.2\_Isabelle-6d736d983d5c/jars/Pure.jar \\
155 ./contrib/jedit-4.3.2\_Isabelle-6d736d983d5c/jars/Isac.jar \\
156 ./contrib/jedit-4.3.2\_Isabelle-6d736d983d5c/jars/scala-compiler.jar \\
157 ./contrib/jedit-4.3.2\_Isabelle-6d736d983d5c/jars/Isabelle-jEdit.jar \\
158 ./contrib/jedit-4.3.2\_Isabelle-6d736d983d5c/jars/cobra.jar \\
159 ./contrib/jedit-4.3.2\_Isabelle-6d736d983d5c/jars/js.jar \\
160 ./contrib/jedit-4.3.2\_Isabelle-6d736d983d5c/jars/Hyperlinks.jar \\
161 ./contrib/jedit-4.3.2\_Isabelle-6d736d983d5c/jars/scala-swing.jar \\
162 ./contrib/jedit-4.3.2\_Isabelle-6d736d983d5c/jars/scala-library.jar \\
163 ./contrib/jedit-4.3.2\_Isabelle-6d736d983d5c/jars/QuickNotepad.jar \\
164 ./contrib/jedit-4.3.2\_Isabelle-6d736d983d5c/jars/ErrorList.jar \\
165 \textbf{----- scala system; contained in Isabelle\_bundle} \\
166 ./contrib/scala-2.8.1.final/misc/sbaz/scala-bazaars.jar \\
167 ./contrib/scala-2.8.1.final/misc/sbaz/sbaz-tests.jar \\
168 ./contrib/scala-2.8.1.final/misc/scala-devel/plugins/continuations.jar \\
169 ./contrib/scala-2.8.1.final/lib/scala-compiler.jar \\
170 ./contrib/scala-2.8.1.final/lib/scalap.jar \\
171 ./contrib/scala-2.8.1.final/lib/scala-swing.jar \\
172 ./contrib/scala-2.8.1.final/lib/scala-library.jar \\
173 ./contrib/scala-2.8.1.final/lib/jline.jar \\
174 ./contrib/scala-2.8.1.final/lib/scala-dbc.jar \\
175 ./contrib/scala-2.8.1.final/src/scala-library-src.jar \\
176 ./contrib/scala-2.8.1.final/src/scala-swing-src.jar \\
177 ./contrib/scala-2.8.1.final/src/scala-compiler-src.jar \\
178 ./contrib/scala-2.8.1.final/src/scala-dbc-src.jar \\
179 ./contrib/scala-2.8.1.final/src/sbaz-src.jar \\
180 \textbf{----- Isars entry to SML from Scala-layer; } \\
181 \textit{created according to 4.3.\#3 }\\
182 ./lib/classes/isabelle-scala.jar \\
183 ./lib/classes/Pure.jar \\\\
184 \textit{\textbf{===== all below for NetBeans}} \\\\
185 \textbf{----- standard Isabelle, started by $<RUN>$ in NetBeans} \\
186 \textit{description in 2.2.2} \\
187 ./src/Tools/jEdit/dist/jars/jedit.jar \\
188 ./src/Tools/jEdit/dist/jars/SideKick.jar \\
189 ./src/Tools/jEdit/dist/jars/Console.jar \\
190 ./src/Tools/jEdit/dist/jars/Pure.jar \\
191 ./src/Tools/jEdit/dist/jars/scala-compiler.jar \\
192 ./src/Tools/jEdit/dist/jars/Isabelle-jEdit.jar \\
193 ./src/Tools/jEdit/dist/jars/cobra.jar \\
194 ./src/Tools/jEdit/dist/jars/js.jar \\
195 ./src/Tools/jEdit/dist/jars/Hyperlinks.jar \\
196 ./src/Tools/jEdit/dist/jars/scala-swing.jar \\
197 ./src/Tools/jEdit/dist/jars/scala-library.jar \\
198 ./src/Tools/jEdit/dist/jars/ErrorList.jar \\
199 \textbf{----- source of jEdit, required for $<DEBUG>$ in NetBeans; \\}
200 adapted from NetBeans' webpages, \\
201 \textit{description in 2.2.3.\#5} \\
202 ./src/Tools/jEditC/contrib/jEdit/build/jars/SideKick.jar \\
203 ./src/Tools/jEditC/contrib/jEdit/build/jars/Console.jar \\
204 ./src/Tools/jEditC/contrib/jEdit/build/jars/Pure.jar \\
205 ./src/Tools/jEditC/contrib/jEdit/build/jars/Isac.jar \\
206 ./src/Tools/jEditC/contrib/jEdit/build/jars/QuickNPScala.jar \\
207 ./src/Tools/jEditC/contrib/jEdit/build/jars/scala-compiler.jar \\
208 ./src/Tools/jEditC/contrib/jEdit/build/jars/Isabelle-jEdit.jar \\
209 ./src/Tools/jEditC/contrib/jEdit/build/jars/cobra.jar \\
210 ./src/Tools/jEditC/contrib/jEdit/build/jars/js.jar \\
211 ./src/Tools/jEditC/contrib/jEdit/build/jars/Hyperlinks.jar \\
212 ./src/Tools/jEditC/contrib/jEdit/build/jars/scala-swing.jar \\
213 ./src/Tools/jEditC/contrib/jEdit/build/jars/scala-library.jar \\
214 ./src/Tools/jEditC/contrib/jEdit/build/jars/ErrorList.jar \\
215 ./src/Tools/jEditC/contrib/jEdit/build/jEdit.jar \\
216 \textbf{----- demo plugin, started by $<RUN>$ in NetBeans \\}
217 \textit{description in 2.2.3.\#4} \\
218 ./src/Tools/jEditC/dist/jars/SideKick.jar \\
219 ./src/Tools/jEditC/dist/jars/Console.jar \\
220 ./src/Tools/jEditC/dist/jars/Pure.jar \\
221 ./src/Tools/jEditC/dist/jars/Isac.jar \\
222 ./src/Tools/jEditC/dist/jars/scala-compiler.jar \\
223 ./src/Tools/jEditC/dist/jars/cobra.jar \\
224 ./src/Tools/jEditC/dist/jars/js.jar \\
225 ./src/Tools/jEditC/dist/jars/Hyperlinks.jar \\
226 ./src/Tools/jEditC/dist/jars/scala-swing.jar \\
227 ./src/Tools/jEditC/dist/jars/scala-library.jar \\
228 ./src/Tools/jEditC/dist/jars/ErrorList.jar \\
230 \section{Scala-Files: Isabelle-Pure}
232 ./src/Pure/General/xml.scala\\
233 ./src/Pure/General/linear\_set.scala\\
234 ./src/Pure/General/symbol.scala\\
235 ./src/Pure/General/exn.scala\\
236 ./src/Pure/General/position.scala\\
237 ./src/Pure/General/scan.scala\\
238 ./src/Pure/General/xml\_data.scala\\
239 ./src/Pure/General/yxml.scala\\
240 ./src/Pure/General/markup.scala\\
241 ./src/Pure/General/sha1.scala\\
242 ./src/Pure/General/timing.scala\\
243 ./src/Pure/General/pretty.scala\\
244 \textbf{Concurent:}\\
245 ./src/Pure/Concurrent/volatile.scala\\
246 ./src/Pure/Concurrent/future.scala\\
247 ./src/Pure/Concurrent/simple\_thread.scala\\
249 ./src/Pure/Thy/html.scala\\
250 ./src/Pure/Thy/completion.scala\\
251 ./src/Pure/Thy/thy\_header.scala\\
252 ./src/Pure/Thy/thy\_syntax.scala\\
253 ./src/Pure/Isac/isac.scala\\
254 ./src/Pure/library.scala\\
256 ./src/Pure/Isar/keyword.scala\\
257 ./src/Pure/Isar/outer\_syntax.scala\\
258 ./src/Pure/Isar/token.scala\\
259 ./src/Pure/Isar/parse.scala\\
261 \textit{./src/Pure/Isac/isac.scala}\\
263 ./src/Pure/System/gui\_setup.scala\\
264 ./src/Pure/System/isabelle\_system.scala\\
265 ./src/Pure/System/swing\_thread.scala\\
266 ./src/Pure/System/download.scala\\
267 ./src/Pure/System/session\_manager.scala\\
268 ./src/Pure/System/standard\_system.scala\\
269 ./src/Pure/System/isabelle\_syntax.scala\\
270 ./src/Pure/System/session.scala\\
271 ./src/Pure/System/platform.scala\\
272 ./src/Pure/System/cygwin.scala\\
273 ./src/Pure/System/event\_bus.scala\\
274 ./src/Pure/System/isabelle\_process.scala\\
276 ./src/Pure/PIDE/document.scala\\
277 ./src/Pure/PIDE/markup\_tree.scala\\
278 ./src/Pure/PIDE/text.scala\\
279 ./src/Pure/PIDE/command.scala\\
280 ./src/Pure/PIDE/isar\_document.scala \\
283 \chapter{Das Skript \textit{isac\_jedit}}
286 \#$!$/usr/bin/env bash
288 echo "Building Pure.jar" \\
289 ../../bin/isabelle env ./build-jars \\
290 echo "copying Pure.jar to contrib/jedit" \\
291 cp ../../lib/classes/Pure.jar ../../contrib/jedit-4.3.2\_Isabelle-6d736d983d5c/jars/ \\
292 echo "Building Isac.jar" \\
293 cd /home/gadei/isac/isa/src/Tools/jEditC \\
295 cd /home/gadei/isac/isa/src/Pure/ \\
296 echo "copying Isac.jar to contrib/jedit" \\
297 cp ../Tools/jEditC/contrib/jEdit/build/jars/Isac.jar ../../contrib/jedit-4.3.2\_Isabelle-6d736d983d5c/jars/ \\
301 \chapter{Filestruktur f\"ur die Entwicklung des SD-Plugins}\label{files-SD-plugin}
303 \textbf{src/Tools/jEditC/}build.xml\\
304 \textbf{src/Tools/jEditC/}makedist\\
305 \textbf{src/Tools/jEditC/}manifest.mf\\
306 \textbf{src/Tools/jEditC/}README\_BUILD\\
307 \textbf{src/Tools/jEditC/build/*}\\
308 \textbf{src/Tools/jEditC/contrib/*}\\
309 \textbf{src/Tools/jEditC/dist/*}\\
310 \textbf{src/Tools/jEditC/plugin/}build.xml\\
311 \textbf{src/Tools/jEditC/plugin/}changes40.txt\\
312 \textbf{src/Tools/jEditC/plugin/}changes42.txt\\
313 \textbf{src/Tools/jEditC/plugin/}description.html\\
314 \textbf{src/Tools/jEditC/plugin/}testSDActions.java\\
315 \textbf{src/Tools/jEditC/plugin/}testSD.iml\\
316 \textbf{src/Tools/jEditC/plugin/}testSD.java\\
317 \textbf{src/Tools/jEditC/plugin/}testSDOptionPane.java\\
318 \textbf{src/Tools/jEditC/plugin/}testSDPlugin.java\\
319 \textbf{src/Tools/jEditC/plugin/}testSDTextArea.java\\
320 \textbf{src/Tools/jEditC/plugin/}testSDToolPanel.java\\
321 \textbf{src/Tools/jEditC/plugin/}plugin\\
322 \textbf{src/Tools/jEditC/plugin/}README.txt\\
323 \textbf{src/Tools/jEditC/nbproject/*}\\
324 \textbf{src/Tools/jEditC/src/}actions.xml\\
325 \textbf{src/Tools/jEditC/src/}changes40.txt\\
326 \textbf{src/Tools/jEditC/src/}changes42.txt\\
327 \textbf{src/Tools/jEditC/src/}description.html\\
328 \textbf{src/Tools/jEditC/src/}dockables.xml\\
329 \textbf{src/Tools/jEditC/src/}testSDActions.scala\\
330 \textbf{src/Tools/jEditC/src/}testSD.iml\\
331 \textbf{src/Tools/jEditC/src/}testSDOptionPane.scala\\
332 \textbf{src/Tools/jEditC/src/}testSDPlugin.scala\\
333 \textbf{src/Tools/jEditC/src/}testSD.props\\
334 \textbf{src/Tools/jEditC/src/}testSD.scala\\
335 \textbf{src/Tools/jEditC/src/}testSDTextArea.scala\\
336 \textbf{src/Tools/jEditC/src/}testSDToolPanel.scala\\
337 \textbf{src/Tools/jEditC/src/}manifest.mf\\
338 \textbf{src/Tools/jEditC/src/}README.txt\\
339 \textbf{src/Tools/jEditC/src/}users-guide.xml \\