neuper@42070: % --- English Title Page ------------------------------------------------ neuper@42070: \begin{titlepage} neuper@42070: \begin{center} neuper@42070: \vspace*{8mm} neuper@42070: {\LARGE Bachelor's Thesis}\\ neuper@42070: neuper@42070: \vspace{16mm} neuper@42070: neuper@42072: {\huge \bf Userinterfaces for Computer Theorem Provers\\ neuper@42073: Feasibility Study in the \isac-Projekt\\} neuper@42070: neuper@42070: \vspace{16mm} neuper@42070: neuper@42070: {\LARGE Marco Steger\textsuperscript{1}}\\ neuper@42070: neuper@42070: \vspace{16mm} neuper@42070: neuper@42070: {\Large neuper@42070: Institute for Software Technology (IST)\\ neuper@42070: Graz University of Technology\\ neuper@42070: A-8010 Graz, Austria\\} neuper@42070: neuper@42070: \vspace{16mm} neuper@42070: neuper@42070: %TODO TU - figure; Line 26, 76 neuper@42070: %\begin{figure}[!ht] neuper@42070: %\centerline{\includegraphics[width=4cm,keepaspectratio=true]{fig/tug}} neuper@42070: %\end{figure} neuper@42070: neuper@42070: \vspace{16mm} neuper@42070: neuper@42070: {\large neuper@42070: \begin{tabular}{ll} neuper@42070: Advisor: & Ass.Prof. Dipl.-Ing. Dr.techn.\ Bernhard Aichernig\\[0.5ex] neuper@42070: %TODO Aichernig???? neuper@42070: Co-Advisor: & Dr.techn.\ Walther Neuper neuper@42070: \end{tabular}} neuper@42070: neuper@42070: \vfill neuper@42072: {\large Graz, 30.06.2011} neuper@42070: \vspace{15mm} neuper@42070: \end{center} neuper@42070: neuper@42070: \noindent neuper@42070: \underline{\hspace*{3cm}}\\ neuper@42070: {\footnotesize neuper@42070: \textsuperscript{1} E-mail: m.steger@student.tugraz.at\\ neuper@42070: \copyright ~ Copyright 2011 by the author} neuper@42070: neuper@42070: neuper@42070: neuper@42070: % --- German Title Page ------------------------------------------------- neuper@42070: \selectlanguage{austrian} neuper@42070: neuper@42070: \newpage neuper@42070: \begin{center} neuper@42070: \vspace*{8mm} neuper@42070: {\LARGE Bachelorarbeit}\\ neuper@42070: neuper@42070: \vspace{16mm} neuper@42070: neuper@42070: {\huge \bf Userinterfaces f\"ur Computer Theorem Prover\\ neuper@42073: Machbarkeits-Studie im \isac-Projekt\\} neuper@42070: neuper@42070: \vspace{16mm} neuper@42070: neuper@42070: {\LARGE Marco Steger\textsuperscript{1}}\\ neuper@42070: neuper@42070: \vspace{16mm} neuper@42070: neuper@42070: {\Large neuper@42070: Institut f\"ur Softwaretechnologie (IST)\\ neuper@42070: Technische Universit\"at Graz\\ neuper@42070: A-8010 Graz\\} neuper@42070: neuper@42070: \vspace{16mm} neuper@42070: neuper@42070: %\begin{figure}[!ht] neuper@42070: %\centerline{\includegraphics[width=4cm,keepaspectratio=true]{fig/tug}} neuper@42070: %\end{figure} neuper@42070: neuper@42070: \vspace{16mm} neuper@42070: neuper@42070: %TODO Aichernig???? neuper@42070: {\large neuper@42070: \begin{tabular}{ll} neuper@42070: Gutachter: & Ass.Prof. Dipl.-Ing. Dr.techn.\ Bernhard Aichernig\\[0.5ex] neuper@42070: Mitbetreuer: & Dr.techn.\ Walther Neuper neuper@42070: \end{tabular}} neuper@42070: neuper@42070: \vspace{16mm} neuper@42070: {\large Graz, 30.05.2011} neuper@42070: neuper@42070: \vfill neuper@42070: Diese Arbeit ist in deutscher Sprache verfasst. neuper@42070: \end{center} neuper@42070: neuper@42070: \noindent neuper@42070: \underline{\hspace*{3cm}}\\ neuper@42070: {\footnotesize neuper@42070: \textsuperscript{1} E-Mail: m.steger@student.tugraz.at\\ neuper@42070: \copyright ~ Copyright 2011, Marco Steger} neuper@42070: \end{titlepage} neuper@42070: neuper@42070: \selectlanguage{english} neuper@42070: neuper@42070: neuper@42070: % --- English Abstract -------------------------------------------------- neuper@42070: \pagestyle{plain} neuper@42070: \pagenumbering{roman} neuper@42070: \newpage neuper@42070: neuper@42070: \vspace*{25mm} neuper@42070: neuper@42070: \begin{changemargin}{15mm}{15mm} neuper@42070: \begin{center} neuper@42070: {\Large\bfseries Abstract} neuper@42070: \end{center} neuper@42070: \vspace*{7mm} neuper@42070: neuper@42072: The computer theorem prover Isabelle switches from a user interface for expert users to a user interface which is more powerful and which serves integration of Isabelle into other tools for software engineers. neuper@42072: neuper@42072: This bachelor thesis in ``Telematik'' introduces the specific components underlying Isabelle's new user interface, the scala-layer for asyncronous editing of proof documents, the Java-based editor jEdit together with the respective plugin mechanisms; and the thesis documents the current organization of these components in Isabelle and sets up the whole system, Isabelle, Scala and jEdit in the IDE NetBeans copying the configuration of the Isabelle developer team. This setup is explored in the implementation of a test-plugin, and the experiences are documented in detail. neuper@42072: neuper@42072: Thus the prerequisites are given for cooperation in the further development of Isabelle's future front-end and respective integration into development tools like test case generators for software engineers. neuper@42070: neuper@42070: \vspace{5mm} neuper@42070: \noindent neuper@42070: {\large\bfseries Keywords:} neuper@42072: computer theorem prover, Isabelle, user-interface, jEdit, plugin, Scala, actors, asynconous communication, proof document, structured derivations neuper@42070: neuper@42070: neuper@42070: neuper@42070: % --- German Abstract --------------------------------------------------- neuper@42070: \selectlanguage{austrian} neuper@42070: \newpage neuper@42070: neuper@42070: \vspace*{10mm} neuper@42070: neuper@42070: \begin{center} neuper@42070: {\Large\bfseries Kurzfassung} neuper@42070: \end{center} neuper@42070: \vspace*{2mm} neuper@42070: neuper@42070: Der Theoremprover Isabelle befindet sich im \"Ubergang von einer Oberfl\"ache f\"ur akademische Benutzer zu einem generellen Frontend, das in verschiedenste softwaretechnische Tools eingebunden werden kann. neuper@42070: neuper@42072: Die vorliegende Bachelorarbeit in Telematik f\"uhrt in die speziellen, dem Frontend zugrundleliegenden Konzepte und Komponenten (Scala-Layer f\"ur asynchrone Bearbeitung von Beweisdokumenten, jEdit mit Plugins, Parser) ein, dokumentiert die momentane Organisation dieser Komponenten im Isabelle System und setzt das gesamte System in einer integrierten Entwicklungsungebung auf. Dieses Setup wird in der Implementation eines Test-Plugins erprobt. Die Erfahrungen mit diesem Test werden ausf\"uhrlich dokumentiert. neuper@42070: neuper@42070: Hiermit sind die organisatorischen und softwaretechnische Voraussetzungen daf\"ur geschaffen, dass ein Team an der Technischen Universi\"at Graz an der Entwicklung des kommenden Frontends f\"ur den Theoremprover Isabelle und seiner Integration in Entwicklungswerkzeuge teilhaben kann. neuper@42070: neuper@42070: \vspace{5mm} neuper@42070: \noindent neuper@42070: {\large\bfseries Schlagworte:} neuper@42072: Computer Theorem Proving, Isabelle, User-Interface, jEdit, Plugin, Scala, Actors, Asyncrone Kommunikation, Beweis-Dokument, Structured Derivations neuper@42070: neuper@42070: \selectlanguage{english} neuper@42070: \end{changemargin} neuper@42070: neuper@42070: neuper@42070: % --- Pledge ------------------------------------------------------------ neuper@42070: \newpage neuper@42070: \vspace*{20mm} neuper@42070: neuper@42070: \begin{center} neuper@42070: {\Large\bfseries Statutory Declaration} neuper@42070: \end{center} neuper@42070: \vspace{5mm} neuper@42070: \noindent neuper@42070: I declare that I have authored this thesis independently, that I have not used other than the declared neuper@42070: sources/resources, and that I have explicitly marked all material which has been quoted either neuper@42070: literally or by content from the used sources. neuper@42070: neuper@42070: \vspace{2cm} neuper@42070: neuper@42070: \noindent neuper@42070: \begin{tabular}{ccc} neuper@42070: \hspace*{6cm} & \hspace*{2cm} & \hspace*{6.7cm}\\ neuper@42070: \dotfill & & \dotfill\\ neuper@42070: place, date & & (signature)\\ neuper@42070: \end{tabular} neuper@42070: neuper@42070: \vspace{35mm} neuper@42070: neuper@42070: neuper@42070: \selectlanguage{austrian} neuper@42070: neuper@42070: \begin{center} neuper@42070: {\Large\bfseries Eidesstattliche Erkl\"arung} neuper@42070: \end{center} neuper@42070: \vspace{5mm} neuper@42070: \noindent neuper@42070: Ich erkl\"are an Eides statt, dass ich die vorliegende Arbeit selbstst\"andig verfasst, andere als die neuper@42070: angegebenen Quellen/Hilfsmittel nicht benutzt, und die den benutzten Quellen w\"ortlich und inhaltlich neuper@42070: entnommenen Stellen als solche kenntlich gemacht habe. neuper@42070: neuper@42070: \vspace{2cm} neuper@42070: neuper@42070: \noindent neuper@42070: \begin{tabular}{ccc} neuper@42070: \hspace*{6cm} & \hspace*{2cm} & \hspace*{6.7cm}\\ neuper@42070: \dotfill & & \dotfill\\ neuper@42070: Ort, Datum & & (Unterschrift)\\ neuper@42070: \end{tabular} neuper@42070: neuper@42070: \selectlanguage{english}