doc-src/isac/jrocnik/bakkarbeit_jrocnik.tex
author Jan Rocnik <jan.rocnik@student.tugraz.at>
Wed, 19 Oct 2011 23:11:45 +0200
branchdecompose-isar
changeset 42323 38bac98d960d
parent 42322 af49cb4959b6
child 42324 829d75932dc0
permissions -rwxr-xr-x
tuned
     1 %   Title:  bakkarbeit_jrocnik.tex
     2 %   Author: Jan Rocnik
     3 %   (c) copyright due to lincense terms.
     4 %2345678901234567890123456789012345678901234567890123456789012345678901234567890
     5 %       10        20        30        40        50        60        70        80
     6 
     7 %TODO:
     8 %%\cite{proakis2004contemporary}
     9 %%--01-- pointer or label to related works
    10 
    11 %define document class
    12 \documentclass[a4paper, 12pt]{article}
    13 
    14 %packages for language and input
    15 \usepackage[english]{babel} 
    16 \usepackage[T1]{fontenc}
    17 \usepackage[latin1]{inputenc}
    18 
    19 %generel packages
    20 \usepackage{url}
    21 \usepackage{graphicx}
    22 \usepackage{endnotes}
    23 \usepackage{trfsigns}
    24 \usepackage{setspace}
    25 \usepackage[pdfpagelabels]{hyperref}
    26 \usepackage{longtable}
    27 
    28 %isabelle relevant packages
    29 \usepackage{isabelle,isabellesym}
    30 
    31 %define isac logos
    32 \def\isac{${\cal I}\mkern-2mu{\cal S}\mkern-5mu{\cal AC}$}
    33 \def\sisac{\footnotesize${\cal I}\mkern-2mu{\cal S}\mkern-5mu{\cal AC}$}
    34 
    35 
    36 %----------// BEGIN DOCUMENT \\----------%
    37 
    38 \begin{document}
    39 
    40 %----------// INFO SETUP \\----------%
    41 
    42 \title{
    43 	\Large{
    44   	\bf Interactive Course Material for Signal Processing based on Isabelle/\isac\\~\\
    45   }
    46 	\sisac-Team in Cooperation with \\~\\
    47 	Institute for Software Technology\\
    48 	Institute of Signal Processing and Speech Communication\\~\\
    49 	Graz University of Technology\\
    50 	\vspace{0.7cm}
    51 	\normalsize{
    52 		Supervisor: Univ.-Prof. Dipl.-Ing. Dr.techn. Franz Wotawa
    53 	}
    54 }
    55 
    56 \author{Jan Simon Rocnik\\\href{mailto:student.tugraz.at}{\tt jan.rocnik@student.tugraz.at}}
    57 
    58 \date{\today}
    59 
    60 %----------// TITLE PAGE \\----------%
    61 
    62 \begin{titlepage}
    63 \maketitle
    64 \thispagestyle{empty}\end{titlepage}
    65 \clearpage
    66 
    67 %----------// THANKS \\----------%
    68 
    69 \setcounter{page}{2}
    70 \begin{center}
    71 Special Thanks to\\
    72 \hfill \\
    73 \emph{Dr.techn. Walther Neuper}\\
    74 \emph{Dipl.-Ing. Bernhard Geiger}
    75 \end{center}
    76 \thispagestyle{empty}
    77 \clearpage
    78 
    79 %----------// ABSTRACT \\----------%
    80 
    81 \begin{abstract}
    82 The Baccalaureate Thesis creates interactive course material for Signal Processing based on the experimental math assistant Isabelle and provides it within {\sisac} (Isabelle for Calculations).
    83 \par The content of the course material is defined together with the Signal Processing and Speech Communication Laboratory (SPSC Lab) of Graz University of Technology (TUG). The content is planned to be used in specific lectures and labs of the SPSC and thus is thoroughly concerned with underlying mathematical and physical theory.
    84 One challenge of this thesis is, that theory is not yet mechanized in Computer Theorem Provers (CTP); so this thesis will provide preliminary definitions in so-called \emph{theories} of the CTP Isabelle and theorems without proofs.
    85 \par Another callenge is the implementation of interactive courses: this is done within the educational math assistant Isabelle/{\sisac}, which is under development at TU Graz. The present state of {\sisac{}} happens to provide the {\em first} occasion for authoring by a non-member of the {\sisac}-developer team. So this challenge involves  alpha-testing of the underlying \emph{CTP-based programming language}, because error messages are still not user-friendly and need frequent contact with {\sisac}-developers.
    86 So the practical outcome of this thesis is twofold:
    87 \begin{enumerate}
    88 \item Interactive course material hopefully useful in education within the SPSC Lab and within STEOP, the introductory orientation phase at TUG, as a preview for students in Telematics on later application of math knowledge introduced in the first semester and
    89 \item A detailed description of technicalities in programming implemented as an interactive Isabelle/Isar theory, providing future programmers with guidelines and {\sisac}-developers with feedback in usability of the CTP-based program language. 
    90 \end{enumerate}
    91 \end{abstract}\clearpage
    92 
    93 %----------// T O C \\----------%
    94 
    95 \pagenumbering{Roman}
    96 This thesis is structured into a generell part describing the math fundamentals, a practical part including the work on \cal{ISAC} and finally the management part overviewing the work process.
    97 \tableofcontents
    98 \clearpage
    99 \pagenumbering{arabic}
   100 \setcounter{page}{6}
   101 
   102 %----------// PART-1 \\----------%
   103 
   104 \part{Project Fundamentals}
   105 
   106 \section{Introduction}
   107 The motivation to this thesis mainly takes it source from the feeling of understanding difficult signal processing tasks and the will to help others to get this feeling to.
   108 \par Signal Processing requieres a huge range of mathematic knowledge as well as a feeling for simplification and number tricks but even though this fact, the operations themself are no higher ones. The main task is to understand. Aside this description we think of the classic math ideas and techniques, consisting of predefined formulas, notations and forumularsations we learn.
   109 \par Mathematics mechanized in Computer Theorem Provers (\emph{CTP}) has (almost) a problem with traditional mathematical notations (predicate calculus) for axioms, definitions, lemmas, theorems as a computer programm or script is not able to interpret every greek or latin letter and every greek, latin or whatever calculations symbol. Also if we would be able to handle thehse symbols we would have a problem to interpret them correctly. In different problems, symbols and letters have different meanings and ask for different ways to get through. Exclusive from the input, also the output can be a problem. We are familar with a specified notations and style taught in university but a computer programm has no knowledge of the form probved by a professor and the maschines themselve also have not yet the possibilities to print every symbol (correct) Recent developments provide proofs in a humand readable format but according to the fact that there is no mony for good working formel editors yet, the style is one thing we have to live with.
   110 \par This thesis tries to \empg{connect} these two worlds and is one of the first guidelines to implement problem classes in {\sisac}. For others see related works. %--01--
   111 The major challenge of the practical part, of this thesis, is, that "`connecting the two worlds"' involves programming in a CTP-based programming language which is in a very early state of prototyping. There is no concrete experience data ready to grep.
   112 
   113 \subsection{Mechanization of Mathematics}
   114 A problem behind is the mechanization of mathematic theories in CTP-bases languages. There is still a hugh gap between these theories and this what we call an applications - in Example Signal Processing. Until we are not able to fill this gap we have to live with it but first have a look on the meaning of this statement:
   115 \par Mechanized math starts from mathematical models and \emph{hopefully} proceeds to match physics. Academic engineering starts from physics (experimentation, measurement) and then proceeds to mathematical modelling and formalization. The process from a physical observance to a mathematical theory is unavoidable bound of setting up a big collection of standards, rules, definition but also exceptions. These are the things making mechanization that difficult.
   116 \par A computer or a CTP-System builds on programms witth predefined logical ruels and does not know any mathematical trick or recipe to walk around difficult expressions. For such a system the only possibility is to work through its known definitions vulgo theories and stops if none of these fits. Specified on Signal Processing or any other application it is often possible to walk through by doing simple creases. This creases are in generell based on simple math operatiopms but the challange is to teach the machine \emph{all}\footnote{Its pride to call it \emph{all}.} of them. Unfortunataly the goal of CTP Isabelle is to reach a high level of \emph{all} but it in real it will still be a survey of knowledge which links to other knowledge and {\sisac{}} a trainer and helper but no human compensating calulator. 
   117 \par {\sisac{}} itselfs aims to adds an \emph{application} axis (formal specifications of problems outof topics from Signal Processing, etc.) and an \emph{algorithmic} axis to the \emph{deductive} axis of physical knowledge. The result is a three-dimensional universe of mathematics.
   118 
   119 \subsection{Goals of the Thesis}
   120 Imagine a piece of software would be able to support you by understanding every problem class, upcoming in the first years attending university - wouldn't it be great?
   121 \par {\sisac{}} tries to do that, but the current state of the art is miles away from this goal and a single implementation of a problem is not enough to cahnge this circumstamce. Through this fact it is all the more essential to try, test, research and document the implementation of problem classes from "`real world"' applications. Responding to the abstract at the begin of this document the thesis has two folds; on the one hand certainly to provide interactiv course material for Signal Processing (which means to implement a single problem provided by the Institute of Signal Processing and Speech Communication (SPSC); follow up Calulcations), and to extract experience data respectively help the {\sisac{}}-team by setting up a detailed description of technicalities hacking {\sisac{}} on the other hand.
   122 
   123 \section{Mechanization of Mathematics for SP Problems}
   124 
   125 \subsection{Relevant Knowledge available in Isabelle}
   126 todo
   127 
   128 \paragraph{example FFT}, describe in detail !!!! 
   129 
   130 ? different meaning: FFT in Maple
   131 
   132 gap between what is available and what is required (@)!
   133 
   134 traditional notation ?
   135 
   136 \subsection{Relevant Knowledge available in isac}
   137 todo
   138 
   139 specifications (``application axis'') and methods (``algorithmic axis'')
   140 
   141 partial fractions, cancellation of multivariate rational terms, ...
   142 
   143 \subsection{Survey: Available Knowledge and Selected Problems}
   144 todo
   145 
   146 estimate gap (@) for each problem (tables)
   147 
   148 conclusion: following order for implementing the problems ...
   149 
   150 \subsection{Formalization of missing knowledge in Isabelle}
   151 todo
   152 
   153 axiomatization ... where ... and
   154 
   155 \subsection{Notes on Problems with Traditional Notation}
   156 Due the thesis work we discorvers severell problems of traditional notations.
   157 
   158 u[n] !!
   159 
   160 f x =  why not f(x) ?!?!
   161 
   162 ...
   163 
   164 terms are not full simplified in traditional notations, in isac we have to simplify them complete to check weather results are compatible or not. in e.g. the solutions of an second order linear equation is an rational in isac but in tradition we keep fractions as long as possible and as long as they are 'beautiful' (1/8, 5/16,...)
   165 
   166 \clearpage
   167 
   168 %----------// PART 2 \\----------%
   169 
   170 \part{Implementation}
   171 
   172 %\section{Implementation of Certain SP Problems}
   173 %tell why only choosen one problem given by geiger
   174 %
   175 %\subsection{Formal Specification of Problems}
   176 %todo
   177 %
   178 %\subsection{Methods Solving the Problems}
   179 %todo
   180 %
   181 %\subsection{Integration of Subproblems available in isac}
   182 %todo
   183 %
   184 %\subsection{Examples and Multimedia Content}
   185 %todo
   186 
   187 {\center todo}
   188 \input{../../../test/Tools/isac/ADDTESTS/course/SignalProcess/document/Build_Inverse_Z_Transform}
   189 
   190 \clearpage
   191 
   192 %----------// PART 3 \\----------%
   193 
   194 \part{Project Management}
   195 
   196 \section{Milestones for the Project}
   197 Die Planung des Projekts teilt sich in folgende Iterationen:
   198 \begin{enumerate}
   199 \item \textbf{Sammeln von Informationen "uber Themengebiete und deren Realisierbarkeit } (29.06. -- 27.07.)
   200 identify problems relevant for certain SP lectures
   201 
   202 estimate chances to realized them within the scope of this thesis
   203 
   204 order for implementing the problems negotiated with lecturers
   205 
   206 
   207 \item \textbf{1. Prsentation - Auswhlen der realisierbaren Themengebiete} (27.07.)
   208 \item \textbf{Ausarbeiten der Aufgaben in \isac} (01.09. -- 11.11.)
   209 \item \textbf{Dokumentation der Aufgaben} (14.11. -- 02.12.)
   210 \item \textbf{Ausarbeitung in Latex, Bakkarbeit} (05.12. -- todo)
   211 \item \textbf{2. Prsentation - Abschluss der Arbeit} (todo)
   212 \end{enumerate}
   213 
   214 \section{Beschreibung der Meilensteine}\label{ms-desc}
   215 todo
   216 \section{Bericht zum Projektverlauf}
   217 todo
   218 
   219 \section{Related Work and Open Questions}
   220 todo
   221 
   222 See ``introduction'': This thesis tries to connect these two worlds ... this trial is one of the first; others see related work
   223 
   224 \section{Abschliesende Bemerkungen}
   225 todo
   226 
   227 
   228 
   229 \clearpage
   230 
   231 \renewcommand{\refname}{\section{Sources}} % Using "Sources" as the title of the section
   232 \bibliographystyle{alpha}
   233 \bibliography{references}
   234 
   235 \clearpage
   236 
   237 
   238 %----------// APPENDIX \\-----------%
   239 
   240 \appendix
   241 
   242 
   243 \section{Stundenliste}
   244 \begin{footnotesize}
   245 \begin{longtable}[h]{l p{6.5cm} c c r}
   246 {\bf Date} & {\bf Description} & {\bf Begin} & {\bf End} & {\bf Dur.}\\
   247 \hline \hline
   248 \endhead
   249 29.06.2011 & Treffen mit Geiger und Neuper & 15:00 & 17:30 & 2,50\\ 
   250 02.07.2011 & Beispielaufbereitung (Bsp. Geiger Mail) & 20:00 & 21:30 & 1,50\\ 
   251 03.07.2011 & Beispielaufbereitung, Vorraussetzungsausw. & 21:00 & 22:45 & 1,75\\ 
   252 05.07.2011 & Treffen mit Neuper, Informationsaustausch & 10:00 & 13:00 & 3,00\\ 
   253 06.07.2011 & Isabelle Installation & 20:00 & 22:30 & 2,50\\ 
   254 07.07.2011 & Treffen mit Neuper, Präsentationsvorbereitung & 14:45 & 16:15 & 1,50\\ 
   255 18.07.2011 & Präsentationsvorbereitung - Struktur & 14:15 & 16:00 & 1,75\\ 
   256 19.07.2011 & Präsentationsvorbereitung - Inhalt & 07:20 & 09:20 & 2,00\\ 
   257 19.07.2011 & Treffen mit Neuper & 10:00 & 12:00 & 2,00\\ 
   258 21.07.2011 & HG Fehlersuche, Latex Ausarbeitung & 11:10 & 14:00 & 2,83\\ 
   259 22.07.2011 & Treffen mit Neuper & 10:00 & 12:00 & 2,00\\ 
   260 23.07.2011 & Berechnungen in Latex fertigstellen & 13:45 & 16:30 & 2,75\\ 
   261 24.07.2011 & Präsentation fertigstellen & 20:10 & 20:40 & 0,50\\ 
   262 25.07.2011 & Treffen mit Neuper, Präsentation \& erste Tests & 15:15 & 17:55 & 2,67\\ 
   263 26.07.2011 & Test\_Complex.thy erarbeiten & 10:45 & 12:10 & 1,42\\ 
   264 27.07.2011 & present-1 mit Neuper, Geiger & 10:00 & 12:00 & 2,00\\
   265 \hline 
   266 02.09.2011 & Treffen mit Neuper, Vorlage Bakk-Arbeit & 08:30 & 10:20 & 1,83\\ 
   267 05.09.2011 & Treffen mit Neuper, Beginn Partialbruchzerlegung & 09:30 & 12:45 & 3,25\\ 
   268 05.09.2011 & Partialbruchzerlegung & 17:10 & 18:30 & 1,33\\ 
   269 06.09.2011 & Dokumentation Partialbruchzerlegung & 10:00 & 13:15 & 3,25\\ 
   270 07.09.2011 & Treffen mit Neuper, Einführung Programmierung & 10:00 & 12:50 & 2,83\\ 
   271 08.09.2011 & Latex Umgebung einrichten - Theory export & 19:00 & 22:45 & 3,75\\ 
   272 09.09.2011 & Latex Umgebung einrichten - Makefile & 11:40 & 15:00 & 3,33\\ 
   273 10.09.2011 & Treffen mit Neuper, HG Fehler, Skript Inv.-Z-Transf. & 10:00 & 12:00 & 2,00\\ 
   274 14.09.2011 & Skript Inv.-Z-Transf Prgrammierung & 09:10 & 12:25 & 3,25\\ 
   275 16.09.2011 & Informationssammlung Summen & 13:15 & 16:00 & 2,75\\ 
   276 19.09.2011 & Programmierübung & 10:00 & 13:10 & 3,17\\ 
   277 20.09.2011 & Trefffen mit Neuper, Unterstützung bei Program. & 15:30 & 18:10 & 2,67\\ 
   278 23.09.2011 & Neukonfiguration IsaMakefile & 13:00 & 14:30 & 1,50\\ 
   279 23.09.2011 & Treffen Neuper, Programmierung Build\_Inverse\_Z & 14:30 & 17:30 & 3,00\\ 
   280 26.09.2011 & Skript Partialbruchzerlegung - getArgument & 13:30 & 16:15 & 2,75\\ 
   281 27.09.2011 & Treffen mit Neuper, HG Fehler & 09:00 & 12:20 & 3,33\\ 
   282 28.09.2011 & Treffen mit Neuper, Dateiumstrukturierung & 10:00 & 12:30 & 2,50\\ 
   283 01.10.2011 & Testen & 10:00 & 11:00 & 1,00\\ 
   284 02.10.2011 & Fehlersuche & 15:00 & 16:10 & 1,17\\ 
   285 06.10.2011 & Treffen mit Neuper & 15:00 & 17:50 & 2,83\\ 
   286 07.10.2011 & Treffen mit Neuper, Programmbesprechung & 15:00 & 16:50 & 1,83\\ 
   287 09.10.2011 & Bakk. Arbeit & 16:30 & 18:45 & 2,25\\ 
   288 11.10.2011 & Treffen mit Neuper, Programmbespr., Abstract & 14:10 & 17:10 & 3,00
   289 \end{longtable}
   290 \end{footnotesize}
   291 
   292 \section{Calculations}
   293 \input{calulations}
   294 \end{document}