\chapter{Milestones und Arbeitsprotokolle}\label{milestones} %\ref doesnt work outside this file ?!?
\section{Inhaltliche Voraussetzungen erarbeitet: beendet am 27.09.2010} 
\begin{itemize}
\item Kenntnis der Grundlagen und Anwendung von CTP: beendet am 03.08.2010 
\item Charakteristika der Programmsprache Scala: beendet am 27.09.2010
\item Scala Actors: beendet am 12.08.2010
\end{itemize}
\begin{tabular}{|p{2cm}|p{8cm}|p{2cm}|}
\hline
Datum & T\"atigkeit & Einheiten \\ \hline
12.07.2010 & Meeting: erste Besprechung und Erkl\"{a}rungen zu Isabelle, Isac und CTPs & 2 \\ \hline
15.07.2010 & Recherche \"{u}ber Isabelle und CTPs & 3 \\ \hline
20.07.2010 & Meeting: Besprechen der grunds\"{a}tzlichen Vorgangsweise und Ziele & 1 \\ \hline
23.07.2010 & Isabelle: Ziele, Techniken (ML) und Zusammenh\"{a}nge mit Isac abkl\"{a}ren & 1 \\ \hline 
30.07.2010 & Ende der Einarbeitungstage: weitere Vorgensweise \"{u}ber Backs 'structured derivations'; Begriffserkl\"{a}rung & 3 \\ \hline
01.08.2010 & Recherche: Buch f\"{u}r Scala & 2 \\ \hline
03.08.2010 & Isabelle bestehende Technologie studieren & 4 \\ \hline
05.08.2010 & Einarbeiten in Scala: Unterschiede zu Java indentifizieren & 1  \\ \hline
06.08.2010 & Einarbeiten in Scala: Unterschiede zu Java indentifizieren, erste Beispielfiles & 4 \\ \hline
08.08.2010 & Einarbeiten in Scala: funktionale Seite von Scala & 2 \\ \hline
09.08.2010 & Einarbeiten in Scala: Testfiles mit Scala-Swing & 5 \\ \hline
12.08.2010 & Studieren von Papers zu Scala Actors & 3 \\ \hline
24.09.2010 & Scala: Arbeiten mit Klassen und Schnittstellen & 3 \\ \hline
25.09.2010 & Scala: Experimente mit Java in Scala-Source & 6 \\ \hline
27.09.2010 & Scala: Testfiles zu "Funktional vs Imperativ" & 4 \\ \hline \hline
 & Anzahl der Einheiten & 44 \\
\hline
\end{tabular}


\section{Technische Voraussetzungen hergestellt: beendet am 02.08.2010}
\begin{itemize}
\item Isabelle installiert, Filestruktur bekannt: beendet am 02.08.2010
\item Scala in NetBeans eingebunden: beendet am 22.07.2010
\item Mercurial installiert und einrichten des Repositories: beendet am 19.07.2010 
\end{itemize}
\begin{tabular}{|p{2cm}|p{8cm}|p{2cm}|}
\hline
Datum & T\"atigkeit & Einheiten \\ \hline
19.07.2010 & Beginn der Installationsarbeiten: Repo klonen und testen & 6 \\ \hline
20.07.2010 & Installationsarbeiten, Einarbeiten in Filestruktur & 7 \\ \hline
21.07.2010 & Einarbeiten in Filestruktur & 6 \\ \hline
22.07.2010 & Vorbereitungen: NetBeans, JDK und Scala installieren. Scala in NetBeans integrieren & 8 \\ \hline
23.07.2010 & Isabelle-jEdit-Plugin mittels NetBeans ausf\"{u}hren: testen & 5 \\ \hline 
27.07.2010 & Isabelle-jEdit-Plugin: \"{a}nderungen an der Projektstruktur & 7 \\ \hline
28.07.2010 & Experimente mit Isabelle-jEdit-Plugin & 6 \\ \hline
29.07.2010 & Identifikations der Parse-Einstiegsstelle & 5 \\ \hline
30.07.2010 & Experimente mit Isabelle-jEdit-Plugin, Besprechung \"{u}ber Erfahrungen mit Filestruktur & 4 \\ \hline
02.08.2010 & Installationen und einrichten des Repos auf meinen Laptop & 6 \\ \hline \hline
 & Anzahl der Einheiten & 60 \\
\hline
\end{tabular}

\section{NetBeans-Projekt aufgesetzt: beendet am 02.08.2010} 
\begin{itemize}
\item Grundlegende Projektstruktur f\"ur ISAC hergestellt: beendet am 02.08.2010
\item jEdit-Plugin: XML-Files f\"{u}r ISAC vorbereitet: beendet am 22.07.2010
\item jEdit-Plugin: Source files geschrieben: beendet am 19.07.2010 
\end{itemize}
\begin{tabular}{|p{2cm}|p{8cm}|p{2cm}|}
\hline
Datum & T\"atigkeit & Einheiten \\ \hline
10.08.2010 & Projektstruktur anlegen, build.xml anpassen & 7 \\ \hline
11.08.2010 & jEdit-Plugin-Struktur studieren: Howto durcharbeiten & 5 \\ \hline
21.08.2010 & bestehende jEdit-Plugins (Java) durcharbeiten & 3 \\ \hline
22.08.2010 & Kopieren des Isabelle-jEdit-Plugins, Umarbeiten f\"{u}r ISAC & 3 \\ \hline
24.08.2010 & Umarbeiten des Isabelle-Plugins f\"{u}r ISAC & 6 \\ \hline 
26.08.2010 & Problem mit Isabelle-Umgebungsvariable: Suche nach L\"{o}sungen & 3 \\ \hline
28.08.2010 & Recherchen zum Umgebungsvariable-Problem, Arbeiten mit den Isabelle-Shell-Skripts & 2 \\ \hline
29.08.2010 & Experimente mit den Path-Varialbe der jvm & 3 \\ \hline
30.08.2010 & Isabelle-jEdit-Plugin endlich vollst\"{a}ndig lauff\"{a}hig gebracht & 4 \\ \hline
01.09.2010 & Arbeiten an der jEdit-ISAC-Projektstruktur & 3 \\ \hline
04.09.2010 & Umarbeiten des Isabelle-Plugins f\"{u}r ISAC & 5 \\ \hline 
20.09.2010 & Einrichten des Laptops f\"{u}r Isabelle-Isac & 4 \\ \hline 
22.09.2010 & Meeting: Fortschrittsbericht, kurze Einf\"{u}hrung f\"{u}r Mitstreiter & 3 \\ \hline

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 
30.09.2010 & QN: Start mit \"{u}bersetzten der Sourcefiles & 5 \\ \hline
02.10.2010 & QN: \"{U}bersetzten der Sourcefiles & 6 \\ \hline
04.10.2010 & QN: \"{U}bersetzten der Sourcefiles: Problem bei Interface & 3 \\ \hline
05.10.2010 & QN: QN vollst\"andig in Scala \"{u}bersetzt, testen & 2 \\ \hline \hline
 & Anzahl der Einheiten & 71 \\
\hline
\end{tabular}

\section{Experimentelle Parser implementiert: beendet am 04.03.2011} 
\begin{itemize}
\item Experimente mit dem SideKick-Parser abgeschlossen: beendet am 03.02.2011
\item Verbindung zu Isabelle-Pure hergestellt: beendet am 04.03.2011
\item Implementierung des Scala-Parsers: aufgeschoben
\end{itemize}
\begin{tabular}{|p{2cm}|p{8cm}|p{2cm}|}
\hline
Datum & T\"atigkeit & Einheiten \\ \hline
28.01.2011 & Testen des SideKick-Parsers im Isabelle-Plugin & 2 \\ \hline
29.01.2011 & Leichte Modifikationen des SideKick-Parsers im Isabelle-Plugin & 1 \\ \hline
08.02.2011 & Besprechung zum Abschluss der praktischen Arbeiten & 1 \\ \hline
16.02.2011 & Erstellen des Isabelle-Pur jar-Files & 1 \\ \hline
19.02.2011 & Behebung des Problems mit den Umgebungsvariablen & 1 \\ \hline
03.03.2011 & Erzeugung des Pure.jar Package m\"{o}glich & 2 \\ \hline
04.04.2011 & Verbindung zwischen Plugin und Isabelle-Pure hergestellt und getestet  & 3 \\ \hline
08.04.2011 & Besprechung: Implementierung des experimentellen Parsers wird nicht mehr durchgef\"{u}hrt & 1 \\ \hline \hline
 & Anzahl der Einheiten & 12 \\
\hline
\end{tabular}

\section{Verfassen der Dokumentation und abschliesende Arbeiten: beendet am 30.Juni 2011}
\begin{itemize}
\item Bacc.-Protokoll fertiggestellt: beendet am 01.03.2011
\item Dokumentation: erste Version fertiggestellt: beendet am 28.04.2011
\item Dokumentation abgeschlossen: beendet am 30.Juni 2011 
\end{itemize}
\begin{tabular}{|p{2cm}|p{8cm}|p{2cm}|}
\hline
Datum & T\"atigkeit & Einheiten \\ \hline
01.03.2011 & Besprechung zum Ablauf der Dokumentationsarbeiten: Protokoll und Dokumentation & 1 \\ \hline
01.03.2011 & Erstellen des Protokolls & 2 \\ \hline
08.03.2011 & Besprechung zur Doku und zur Schnittstelle zu Isabelle-Pure & 1 \\ \hline
17.03.2011 & Dokumentation schreiben & 2 \\ \hline
19.03.2011 & Dokumentation schreiben & 3 \\ \hline
24.04.2011 & Dokumentation schreiben & 2 \\ \hline
25.04.2011 & Dokumentation schreiben & 4 \\ \hline
27.04.2011 & Dokumentation schreiben & 2 \\ \hline
28.04.2011 & Dokumentation: Fertigstellen der ersten Version & 3 \\ \hline \hline
 & Anzahl der Einheiten & 20 \\
\hline
\end{tabular}

\section{Pr\"asentation der Arbeit im IST-Seminar: beendet am 21.06.2011}
\begin{itemize}
\item Pr\"asentation fertiggestellt: beendet am 19.06.2011
\item Pr\"asentation: abgehalten am 21.06.2011
\end{itemize}
\begin{tabular}{|p{2cm}|p{8cm}|p{2cm}|}
\hline
Datum & T\"atigkeit & Einheiten \\ \hline
06.06.2011 & Planung der Pr\"asentation & 2 \\ \hline
16.06.2011 & Verfassen der Pr\"asentation & 2 \\ \hline
18.06.2011 & Verfassen der Pr\"asentation & 3 \\ \hline
19.06.2011 & Pr\"asentation: Feinschliff & 2 \\ \hline
20.06.2011 & Vorbereiten der Pr\"asentation& 3 \\ \hline
21.06.2011 & Abhaltung und nachfolgende Diskussion & 1 \\ \hline \hline
 & Anzahl der Einheiten & 13 \\
 \hline
\end{tabular}

\chapter{Filestruktur Isabelle}
\section{jar-Packete}
\textbf{----- for "isabelle jedit \&"; contained in Isabelle\_bundle} \\
./contrib/jedit-4.3.2\_Isabelle-6d736d983d5c/jedit.jar \\
./contrib/jedit-4.3.2\_Isabelle-6d736d983d5c/jars/LatestVersion.jar \\
./contrib/jedit-4.3.2\_Isabelle-6d736d983d5c/jars/SideKick.jar \\
./contrib/jedit-4.3.2\_Isabelle-6d736d983d5c/jars/Console.jar  \\
./contrib/jedit-4.3.2\_Isabelle-6d736d983d5c/jars/Pure.jar  \\
./contrib/jedit-4.3.2\_Isabelle-6d736d983d5c/jars/Isac.jar \\
./contrib/jedit-4.3.2\_Isabelle-6d736d983d5c/jars/scala-compiler.jar \\
./contrib/jedit-4.3.2\_Isabelle-6d736d983d5c/jars/Isabelle-jEdit.jar \\
./contrib/jedit-4.3.2\_Isabelle-6d736d983d5c/jars/cobra.jar \\
./contrib/jedit-4.3.2\_Isabelle-6d736d983d5c/jars/js.jar \\
./contrib/jedit-4.3.2\_Isabelle-6d736d983d5c/jars/Hyperlinks.jar \\
./contrib/jedit-4.3.2\_Isabelle-6d736d983d5c/jars/scala-swing.jar \\
./contrib/jedit-4.3.2\_Isabelle-6d736d983d5c/jars/scala-library.jar \\
./contrib/jedit-4.3.2\_Isabelle-6d736d983d5c/jars/QuickNotepad.jar \\
./contrib/jedit-4.3.2\_Isabelle-6d736d983d5c/jars/ErrorList.jar \\
\textbf{----- scala system; contained in Isabelle\_bundle} \\
./contrib/scala-2.8.1.final/misc/sbaz/scala-bazaars.jar \\
./contrib/scala-2.8.1.final/misc/sbaz/sbaz-tests.jar \\
./contrib/scala-2.8.1.final/misc/scala-devel/plugins/continuations.jar \\
./contrib/scala-2.8.1.final/lib/scala-compiler.jar \\
./contrib/scala-2.8.1.final/lib/scalap.jar \\
./contrib/scala-2.8.1.final/lib/scala-swing.jar \\
./contrib/scala-2.8.1.final/lib/scala-library.jar \\
./contrib/scala-2.8.1.final/lib/jline.jar \\
./contrib/scala-2.8.1.final/lib/scala-dbc.jar \\
./contrib/scala-2.8.1.final/src/scala-library-src.jar \\
./contrib/scala-2.8.1.final/src/scala-swing-src.jar \\
./contrib/scala-2.8.1.final/src/scala-compiler-src.jar \\
./contrib/scala-2.8.1.final/src/scala-dbc-src.jar \\
./contrib/scala-2.8.1.final/src/sbaz-src.jar \\
\textbf{----- Isars entry to SML from Scala-layer; } \\
\textit{created according to 4.3.\#3 }\\
./lib/classes/isabelle-scala.jar  \\
./lib/classes/Pure.jar \\\\
\textit{\textbf{===== all below for NetBeans}} \\\\
\textbf{----- standard Isabelle, started by $<RUN>$ in NetBeans} \\
      \textit{description in 2.2.2} \\
./src/Tools/jEdit/dist/jars/jedit.jar \\
./src/Tools/jEdit/dist/jars/SideKick.jar \\
./src/Tools/jEdit/dist/jars/Console.jar \\
./src/Tools/jEdit/dist/jars/Pure.jar \\
./src/Tools/jEdit/dist/jars/scala-compiler.jar \\
./src/Tools/jEdit/dist/jars/Isabelle-jEdit.jar \\
./src/Tools/jEdit/dist/jars/cobra.jar \\
./src/Tools/jEdit/dist/jars/js.jar \\
./src/Tools/jEdit/dist/jars/Hyperlinks.jar \\
./src/Tools/jEdit/dist/jars/scala-swing.jar \\
./src/Tools/jEdit/dist/jars/scala-library.jar \\
./src/Tools/jEdit/dist/jars/ErrorList.jar \\
\textbf{----- source of jEdit, required for $<DEBUG>$ in NetBeans; \\}
      adapted from NetBeans' webpages, \\
      \textit{description in 2.2.3.\#5} \\
./src/Tools/jEditC/contrib/jEdit/build/jars/SideKick.jar \\
./src/Tools/jEditC/contrib/jEdit/build/jars/Console.jar \\
./src/Tools/jEditC/contrib/jEdit/build/jars/Pure.jar \\
./src/Tools/jEditC/contrib/jEdit/build/jars/Isac.jar \\
./src/Tools/jEditC/contrib/jEdit/build/jars/QuickNPScala.jar \\
./src/Tools/jEditC/contrib/jEdit/build/jars/scala-compiler.jar \\
./src/Tools/jEditC/contrib/jEdit/build/jars/Isabelle-jEdit.jar \\
./src/Tools/jEditC/contrib/jEdit/build/jars/cobra.jar \\
./src/Tools/jEditC/contrib/jEdit/build/jars/js.jar \\
./src/Tools/jEditC/contrib/jEdit/build/jars/Hyperlinks.jar \\
./src/Tools/jEditC/contrib/jEdit/build/jars/scala-swing.jar \\
./src/Tools/jEditC/contrib/jEdit/build/jars/scala-library.jar \\
./src/Tools/jEditC/contrib/jEdit/build/jars/ErrorList.jar \\
./src/Tools/jEditC/contrib/jEdit/build/jEdit.jar \\
\textbf{----- demo plugin, started by $<RUN>$ in NetBeans \\}
      \textit{description in 2.2.3.\#4} \\
./src/Tools/jEditC/dist/jars/SideKick.jar \\
./src/Tools/jEditC/dist/jars/Console.jar \\
./src/Tools/jEditC/dist/jars/Pure.jar \\
./src/Tools/jEditC/dist/jars/Isac.jar \\
./src/Tools/jEditC/dist/jars/scala-compiler.jar \\
./src/Tools/jEditC/dist/jars/cobra.jar \\
./src/Tools/jEditC/dist/jars/js.jar \\
./src/Tools/jEditC/dist/jars/Hyperlinks.jar \\
./src/Tools/jEditC/dist/jars/scala-swing.jar \\
./src/Tools/jEditC/dist/jars/scala-library.jar \\
./src/Tools/jEditC/dist/jars/ErrorList.jar \\

\section{Scala-Files: Isabelle-Pure}
\textbf{General:}\\
./src/Pure/General/xml.scala\\
./src/Pure/General/linear\_set.scala\\
./src/Pure/General/symbol.scala\\
./src/Pure/General/exn.scala\\
./src/Pure/General/position.scala\\
./src/Pure/General/scan.scala\\
./src/Pure/General/xml\_data.scala\\
./src/Pure/General/yxml.scala\\
./src/Pure/General/markup.scala\\
./src/Pure/General/sha1.scala\\
./src/Pure/General/timing.scala\\
./src/Pure/General/pretty.scala\\
\textbf{Concurent:}\\
./src/Pure/Concurrent/volatile.scala\\
./src/Pure/Concurrent/future.scala\\
./src/Pure/Concurrent/simple\_thread.scala\\
\textbf{Thy:}\\
./src/Pure/Thy/html.scala\\
./src/Pure/Thy/completion.scala\\
./src/Pure/Thy/thy\_header.scala\\
./src/Pure/Thy/thy\_syntax.scala\\
./src/Pure/Isac/isac.scala\\
./src/Pure/library.scala\\
\textbf{Isar:}\\
./src/Pure/Isar/keyword.scala\\
./src/Pure/Isar/outer\_syntax.scala\\
./src/Pure/Isar/token.scala\\
./src/Pure/Isar/parse.scala\\
\textbf{Isac:}\\
\textit{./src/Pure/Isac/isac.scala}\\
\textbf{System:}\\
./src/Pure/System/gui\_setup.scala\\
./src/Pure/System/isabelle\_system.scala\\
./src/Pure/System/swing\_thread.scala\\
./src/Pure/System/download.scala\\
./src/Pure/System/session\_manager.scala\\
./src/Pure/System/standard\_system.scala\\
./src/Pure/System/isabelle\_syntax.scala\\
./src/Pure/System/session.scala\\
./src/Pure/System/platform.scala\\
./src/Pure/System/cygwin.scala\\
./src/Pure/System/event\_bus.scala\\
./src/Pure/System/isabelle\_process.scala\\
\textbf{PIDE}\\
./src/Pure/PIDE/document.scala\\
./src/Pure/PIDE/markup\_tree.scala\\
./src/Pure/PIDE/text.scala\\
./src/Pure/PIDE/command.scala\\
./src/Pure/PIDE/isar\_document.scala \\


\chapter{Das Skript \textit{isac\_jedit}}

\textit{
\#$!$/usr/bin/env bash
cd src/Pure/ \\
echo "Building Pure.jar" \\
../../bin/isabelle env ./build-jars \\
echo "copying Pure.jar to contrib/jedit" \\
cp ../../lib/classes/Pure.jar ../../contrib/jedit-4.3.2\_Isabelle-6d736d983d5c/jars/ \\
echo "Building Isac.jar" \\
cd /home/gadei/isac/isa/src/Tools/jEditC \\
ant jar \\
cd /home/gadei/isac/isa/src/Pure/ \\
echo "copying Isac.jar to contrib/jedit" \\
cp ../Tools/jEditC/contrib/jEdit/build/jars/Isac.jar ../../contrib/jedit-4.3.2\_Isabelle-6d736d983d5c/jars/ \\
echo "Done!" \\
}

\chapter{Filestruktur f\"ur die Entwicklung des SD-Plugins}\label{files-SD-plugin}

\textbf{src/Tools/jEditC/}build.xml\\
\textbf{src/Tools/jEditC/}makedist\\
\textbf{src/Tools/jEditC/}manifest.mf\\
\textbf{src/Tools/jEditC/}README\_BUILD\\
\textbf{src/Tools/jEditC/build/*}\\
\textbf{src/Tools/jEditC/contrib/*}\\
\textbf{src/Tools/jEditC/dist/*}\\
\textbf{src/Tools/jEditC/plugin/}build.xml\\
\textbf{src/Tools/jEditC/plugin/}changes40.txt\\
\textbf{src/Tools/jEditC/plugin/}changes42.txt\\
\textbf{src/Tools/jEditC/plugin/}description.html\\
\textbf{src/Tools/jEditC/plugin/}testSDActions.java\\
\textbf{src/Tools/jEditC/plugin/}testSD.iml\\
\textbf{src/Tools/jEditC/plugin/}testSD.java\\
\textbf{src/Tools/jEditC/plugin/}testSDOptionPane.java\\
\textbf{src/Tools/jEditC/plugin/}testSDPlugin.java\\
\textbf{src/Tools/jEditC/plugin/}testSDTextArea.java\\
\textbf{src/Tools/jEditC/plugin/}testSDToolPanel.java\\
\textbf{src/Tools/jEditC/plugin/}plugin\\
\textbf{src/Tools/jEditC/plugin/}README.txt\\
\textbf{src/Tools/jEditC/nbproject/*}\\
\textbf{src/Tools/jEditC/src/}actions.xml\\
\textbf{src/Tools/jEditC/src/}changes40.txt\\
\textbf{src/Tools/jEditC/src/}changes42.txt\\
\textbf{src/Tools/jEditC/src/}description.html\\
\textbf{src/Tools/jEditC/src/}dockables.xml\\
\textbf{src/Tools/jEditC/src/}testSDActions.scala\\
\textbf{src/Tools/jEditC/src/}testSD.iml\\
\textbf{src/Tools/jEditC/src/}testSDOptionPane.scala\\
\textbf{src/Tools/jEditC/src/}testSDPlugin.scala\\
\textbf{src/Tools/jEditC/src/}testSD.props\\
\textbf{src/Tools/jEditC/src/}testSD.scala\\
\textbf{src/Tools/jEditC/src/}testSDTextArea.scala\\
\textbf{src/Tools/jEditC/src/}testSDToolPanel.scala\\
\textbf{src/Tools/jEditC/src/}manifest.mf\\
\textbf{src/Tools/jEditC/src/}README.txt\\
\textbf{src/Tools/jEditC/src/}users-guide.xml \\