doc-src/isac/jrocnik/bakkarbeit_jrocnik.tex
author Jan Rocnik <jan.rocnik@student.tugraz.at>
Fri, 14 Oct 2011 09:03:25 +0200
branchdecompose-isar
changeset 42316 cd1ccadd11c9
parent 42309 944fa763f56a
child 42322 af49cb4959b6
permissions -rwxr-xr-x
tuned (commit before os-setup on development system)
jan@42307
     1
\documentclass[a4paper, 12pt]{article}
jan@42235
     2
jan@42307
     3
\usepackage[english]{babel} 
jan@42235
     4
\usepackage[T1]{fontenc}
jan@42235
     5
\usepackage[latin1]{inputenc}
jan@42235
     6
jan@42307
     7
\usepackage{url}
neuper@42073
     8
\usepackage{graphicx}
jan@42246
     9
\usepackage{endnotes}
jan@42246
    10
\usepackage{trfsigns}
jan@42246
    11
\usepackage{setspace}
jan@42307
    12
\usepackage[pdfpagelabels]{hyperref}
jan@42316
    13
\usepackage{longtable}
jan@42316
    14
%isabelle relevant
jan@42316
    15
\usepackage{isabelle,isabellesym}
jan@42316
    16
\usepackage{pdfsetup}
jan@42235
    17
neuper@42073
    18
\def\isac{${\cal I}\mkern-2mu{\cal S}\mkern-5mu{\cal AC}$}
neuper@42073
    19
\def\sisac{\footnotesize${\cal I}\mkern-2mu{\cal S}\mkern-5mu{\cal AC}$}
neuper@42073
    20
neuper@42073
    21
\begin{document}
neuper@42073
    22
jan@42316
    23
%----------// INFO SETUP \\----------%
jan@42316
    24
jan@42235
    25
\title{
jan@42235
    26
	\Large{
jan@42235
    27
  	\bf Interactive Course Material for Signal Processing based on Isabelle/\isac\\~\\
jan@42235
    28
  }
jan@42307
    29
	\sisac-Team in Cooperation with \\~\\
jan@42307
    30
	Institute for Software Technology\\
jan@42307
    31
	Institute of Signal Processing and Speech Communication\\~\\
jan@42276
    32
	Graz University of Technology\\
jan@42235
    33
	\vspace{0.7cm}
jan@42307
    34
	\normalsize{
jan@42316
    35
		Supervisor: Univ.-Prof. Dipl.-Ing. Dr.techn. Franz Wotawa
jan@42235
    36
	}
jan@42235
    37
}
jan@42307
    38
jan@42307
    39
\author{Jan Simon Rocnik\\\href{mailto:student.tugraz.at}{\tt jan.rocnik@student.tugraz.at}}
jan@42235
    40
jan@42235
    41
\date{\today}
jan@42307
    42
jan@42316
    43
%----------// TITLE PAGE \\----------%
jan@42316
    44
jan@42307
    45
\begin{titlepage}
neuper@42073
    46
\maketitle
jan@42307
    47
\thispagestyle{empty}\end{titlepage}
neuper@42073
    48
\clearpage
jan@42307
    49
jan@42316
    50
%----------// THANKS \\----------%
jan@42316
    51
jan@42307
    52
\setcounter{page}{2}
jan@42307
    53
\begin{center}
jan@42307
    54
Special Thanks to\\
jan@42307
    55
\hfill \\
jan@42307
    56
\emph{Dr.techn. Walther Neuper}\\
jan@42307
    57
\emph{Dipl.-Ing. Bernhard Geiger}
jan@42307
    58
\end{center}
jan@42307
    59
\thispagestyle{empty}
jan@42307
    60
\clearpage
jan@42307
    61
jan@42316
    62
%----------// ABSTRACT \\----------%
jan@42307
    63
jan@42307
    64
\begin{abstract}
jan@42307
    65
The Baccalaureate Thesis creates interactive course material for Signal Processing based on the experimental math assistant Isabelle/\sisac.
jan@42307
    66
jan@42307
    67
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.
jan@42307
    68
jan@42307
    69
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.
jan@42307
    70
jan@42307
    71
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 ``CTP-based programming language'', because error messages are still not user-friendly and need frequent contact with \sisac-developers.
jan@42307
    72
jan@42307
    73
So the practical outcome of this thesis is twofold:
jan@42307
    74
jan@42307
    75
(1) 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
jan@42307
    76
jan@42307
    77
(2) 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. 
jan@42307
    78
\end{abstract}\clearpage
jan@42307
    79
jan@42307
    80
jan@42307
    81
\pagenumbering{Roman}
neuper@42073
    82
\tableofcontents
neuper@42073
    83
\clearpage
jan@42307
    84
\pagenumbering{arabic}
neuper@42073
    85
jan@42307
    86
\setcounter{page}{5}
jan@42316
    87
jan@42316
    88
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.
jan@42316
    89
jan@42316
    90
%----------// PART-1 \\----------%
jan@42316
    91
jan@42316
    92
\part{Project Fundamentals}
neuper@42304
    93
jan@42307
    94
\section{Introduction --TODO--}
neuper@42073
    95
jan@42307
    96
The motivation to this thesis mainly takes it source from thr practice of mathematics learning and further ... STEOP
jan@42309
    97
\cite{proakis2004contemporary}
neuper@42240
    98
neuper@42240
    99
\textbf{mathematics applied} in signal processing (SP)
neuper@42240
   100
jan@42253
   101
mathematics mechanized in Computer Theorem Provers \textbf{(CTP)} ... (almost) traditional mathematical notation (predicate calculus) for axioms, definitions, lemmas, theorems. Recent developments provide also proofs in a humand readable format TODO
neuper@42240
   102
neuper@42240
   103
This thesis tries to \textbf{connect these two worlds} ... this trial is one of the first; others see related work
neuper@42240
   104
neuper@42304
   105
the major challenge of the practical part is, that ``connecting the two worlds'' involves programming in a CTP-based programming language which is in a very early state of prototyping.
neuper@42304
   106
neuper@42240
   107
\subsection{Mechanization of Mathematics}
neuper@42073
   108
jan@42235
   109
todo
neuper@42073
   110
neuper@42240
   111
hughe theories of mathematics
neuper@42240
   112
neuper@42240
   113
still a hugh gap between these theories and ``real applications'' e.g. in SP
neuper@42240
   114
neuper@42240
   115
? academic engineering starts from physics (experimentation, measurement) and then proceeds to mathematical modelling --- mechanized math starts from mathematical models and (hopefully !) proceeds to match physics.
neuper@42240
   116
neuper@42240
   117
CTP Isabelle ... survey of knowledge, links to knowledge
neuper@42240
   118
neuper@42240
   119
\paragraph{\sisac}
neuper@42240
   120
TODO
neuper@42240
   121
neuper@42240
   122
adds an ``application'' axis (formal specifications of problems) and an ``algorithmic'' axis to the ``deductive'' axis of knowledge ... 3-dimensional universe of mathematics.
neuper@42240
   123
neuper@42240
   124
\subsection{Goals of the Thesis}
neuper@42240
   125
neuper@42240
   126
todo
neuper@42240
   127
neuper@42073
   128
neuper@42240
   129
\subsection{Structure of the Thesis}
neuper@42240
   130
jan@42235
   131
todo
neuper@42240
   132
neuper@42240
   133
\section{Mechanization of Mathematics for SP Problems}
neuper@42240
   134
todo
neuper@42240
   135
neuper@42240
   136
\subsection{Relevant Knowledge available in Isabelle}
neuper@42240
   137
todo
neuper@42240
   138
neuper@42240
   139
\paragraph{example FFT}, describe in detail !!!! 
neuper@42240
   140
neuper@42240
   141
? different meaning: FFT in Maple
neuper@42240
   142
neuper@42240
   143
gap between what is available and what is required (@)!
neuper@42240
   144
neuper@42240
   145
traditional notation ?
neuper@42240
   146
jan@42307
   147
\subsection{Relevant Knowledge available in isac}
neuper@42240
   148
todo
neuper@42240
   149
neuper@42240
   150
specifications (``application axis'') and methods (``algorithmic axis'')
neuper@42240
   151
neuper@42240
   152
partial fractions, cancellation of multivariate rational terms, ...
neuper@42240
   153
neuper@42240
   154
\subsection{Survey: Available Knowledge and Selected Problems}
neuper@42240
   155
todo
neuper@42240
   156
neuper@42240
   157
estimate gap (@) for each problem (tables)
neuper@42240
   158
neuper@42240
   159
conclusion: following order for implementing the problems ...
neuper@42240
   160
neuper@42240
   161
\subsection{Formalization of missing knowledge in Isabelle}
neuper@42240
   162
todo
neuper@42240
   163
neuper@42240
   164
axiomatization ... where ... and
neuper@42240
   165
neuper@42240
   166
\subsection{Notes on Problems with Traditional Notation}
neuper@42240
   167
todo
neuper@42240
   168
neuper@42240
   169
u[n] !!
neuper@42240
   170
neuper@42240
   171
f x =  why not f(x) ?!?!
neuper@42240
   172
neuper@42240
   173
...
neuper@42240
   174
jan@42276
   175
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,...)
jan@42276
   176
jan@42316
   177
%----------// PART 2 \\----------%
jan@42316
   178
jan@42316
   179
\part{Implementation}
jan@42316
   180
jan@42316
   181
%\section{Implementation of Certain SP Problems}
jan@42316
   182
%tell why only choosen one problem given by geiger
jan@42316
   183
%
jan@42316
   184
%\subsection{Formal Specification of Problems}
jan@42316
   185
%todo
jan@42316
   186
%
jan@42316
   187
%\subsection{Methods Solving the Problems}
jan@42316
   188
%todo
jan@42316
   189
%
jan@42316
   190
%\subsection{Integration of Subproblems available in isac}
jan@42316
   191
%todo
jan@42316
   192
%
jan@42316
   193
%\subsection{Examples and Multimedia Content}
jan@42316
   194
%todo
jan@42316
   195
jan@42316
   196
{\center todo}
jan@42316
   197
%\input{../../../test/Tools/isac/ADDTESTS/course/SignalProcess/document/Build_Inverse_Z_Transform}
jan@42316
   198
jan@42316
   199
\clearpage
jan@42316
   200
jan@42316
   201
%----------// PART 3 \\----------%
jan@42316
   202
jan@42316
   203
\part{Project Management}
jan@42316
   204
jan@42316
   205
\section{Milestones for the Project}
jan@42316
   206
Die Planung des Projekts teilt sich in folgende Iterationen:
jan@42316
   207
\begin{enumerate}
jan@42316
   208
\item \textbf{Sammeln von Informationen "uber Themengebiete und deren Realisierbarkeit } (29.06. -- 27.07.)
jan@42316
   209
identify problems relevant for certain SP lectures
jan@42316
   210
jan@42316
   211
estimate chances to realized them within the scope of this thesis
jan@42316
   212
jan@42316
   213
order for implementing the problems negotiated with lecturers
jan@42316
   214
jan@42316
   215
jan@42316
   216
\item \textbf{1. Prsentation - Auswhlen der realisierbaren Themengebiete} (27.07.)
jan@42316
   217
\item \textbf{Ausarbeiten der Aufgaben in \isac} (01.09. -- 11.11.)
jan@42316
   218
\item \textbf{Dokumentation der Aufgaben} (14.11. -- 02.12.)
jan@42316
   219
\item \textbf{Ausarbeitung in Latex, Bakkarbeit} (05.12. -- todo)
jan@42316
   220
\item \textbf{2. Prsentation - Abschluss der Arbeit} (todo)
jan@42316
   221
\end{enumerate}
jan@42316
   222
jan@42316
   223
\section{Beschreibung der Meilensteine}\label{ms-desc}
neuper@42240
   224
todo
jan@42316
   225
\section{Bericht zum Projektverlauf}
neuper@42240
   226
todo
neuper@42240
   227
neuper@42240
   228
\section{Related Work and Open Questions}
neuper@42240
   229
todo
neuper@42240
   230
neuper@42240
   231
See ``introduction'': This thesis tries to connect these two worlds ... this trial is one of the first; others see related work
neuper@42240
   232
jan@42235
   233
\section{Abschliesende Bemerkungen}
jan@42235
   234
todo
neuper@42073
   235
jan@42316
   236
jan@42316
   237
neuper@42073
   238
\clearpage
neuper@42073
   239
jan@42309
   240
\renewcommand{\refname}{\section{Sources}} % Using "Sources" as the title of the section
jan@42309
   241
\bibliographystyle{alpha}
jan@42309
   242
\bibliography{references}
neuper@42073
   243
neuper@42073
   244
\clearpage
neuper@42073
   245
jan@42316
   246
jan@42316
   247
%----------// APPENDIX \\-----------%
jan@42316
   248
neuper@42073
   249
\appendix
jan@42251
   250
neuper@42073
   251
neuper@42073
   252
\section{Stundenliste}
jan@42316
   253
\begin{footnotesize}
jan@42316
   254
\begin{longtable}[h]{l p{6.5cm} c c r}
jan@42316
   255
{\bf Date} & {\bf Description} & {\bf Begin} & {\bf End} & {\bf Dur.}\\
jan@42316
   256
\hline \hline
jan@42316
   257
\endhead
jan@42316
   258
29.06.2011 & Treffen mit Geiger und Neuper & 15:00 & 17:30 & 2,50\\ 
jan@42316
   259
02.07.2011 & Beispielaufbereitung (Bsp. Geiger Mail) & 20:00 & 21:30 & 1,50\\ 
jan@42316
   260
03.07.2011 & Beispielaufbereitung, Vorraussetzungsausw. & 21:00 & 22:45 & 1,75\\ 
jan@42316
   261
05.07.2011 & Treffen mit Neuper, Informationsaustausch & 10:00 & 13:00 & 3,00\\ 
jan@42316
   262
06.07.2011 & Isabelle Installation & 20:00 & 22:30 & 2,50\\ 
jan@42316
   263
07.07.2011 & Treffen mit Neuper, Präsentationsvorbereitung & 14:45 & 16:15 & 1,50\\ 
jan@42316
   264
18.07.2011 & Präsentationsvorbereitung - Struktur & 14:15 & 16:00 & 1,75\\ 
jan@42316
   265
19.07.2011 & Präsentationsvorbereitung - Inhalt & 07:20 & 09:20 & 2,00\\ 
jan@42316
   266
19.07.2011 & Treffen mit Neuper & 10:00 & 12:00 & 2,00\\ 
jan@42316
   267
21.07.2011 & HG Fehlersuche, Latex Ausarbeitung & 11:10 & 14:00 & 2,83\\ 
jan@42316
   268
22.07.2011 & Treffen mit Neuper & 10:00 & 12:00 & 2,00\\ 
jan@42316
   269
23.07.2011 & Berechnungen in Latex fertigstellen & 13:45 & 16:30 & 2,75\\ 
jan@42316
   270
24.07.2011 & Präsentation fertigstellen & 20:10 & 20:40 & 0,50\\ 
jan@42316
   271
25.07.2011 & Treffen mit Neuper, Präsentation \& erste Tests & 15:15 & 17:55 & 2,67\\ 
jan@42316
   272
26.07.2011 & Test\_Complex.thy erarbeiten & 10:45 & 12:10 & 1,42\\ 
jan@42316
   273
27.07.2011 & present-1 mit Neuper, Geiger & 10:00 & 12:00 & 2,00\\
jan@42316
   274
\hline 
jan@42316
   275
02.09.2011 & Treffen mit Neuper, Vorlage Bakk-Arbeit & 08:30 & 10:20 & 1,83\\ 
jan@42316
   276
05.09.2011 & Treffen mit Neuper, Beginn Partialbruchzerlegung & 09:30 & 12:45 & 3,25\\ 
jan@42316
   277
05.09.2011 & Partialbruchzerlegung & 17:10 & 18:30 & 1,33\\ 
jan@42316
   278
06.09.2011 & Dokumentation Partialbruchzerlegung & 10:00 & 13:15 & 3,25\\ 
jan@42316
   279
07.09.2011 & Treffen mit Neuper, Einführung Programmierung & 10:00 & 12:50 & 2,83\\ 
jan@42316
   280
08.09.2011 & Latex Umgebung einrichten - Theory export & 19:00 & 22:45 & 3,75\\ 
jan@42316
   281
09.09.2011 & Latex Umgebung einrichten - Makefile & 11:40 & 15:00 & 3,33\\ 
jan@42316
   282
10.09.2011 & Treffen mit Neuper, HG Fehler, Skript Inv.-Z-Transf. & 10:00 & 12:00 & 2,00\\ 
jan@42316
   283
14.09.2011 & Skript Inv.-Z-Transf Prgrammierung & 09:10 & 12:25 & 3,25\\ 
jan@42316
   284
16.09.2011 & Informationssammlung Summen & 13:15 & 16:00 & 2,75\\ 
jan@42316
   285
19.09.2011 & Programmierübung & 10:00 & 13:10 & 3,17\\ 
jan@42316
   286
20.09.2011 & Trefffen mit Neuper, Unterstützung bei Program. & 15:30 & 18:10 & 2,67\\ 
jan@42316
   287
23.09.2011 & Neukonfiguration IsaMakefile & 13:00 & 14:30 & 1,50\\ 
jan@42316
   288
23.09.2011 & Treffen Neuper, Programmierung Build\_Inverse\_Z & 14:30 & 17:30 & 3,00\\ 
jan@42316
   289
26.09.2011 & Skript Partialbruchzerlegung - getArgument & 13:30 & 16:15 & 2,75\\ 
jan@42316
   290
27.09.2011 & Treffen mit Neuper, HG Fehler & 09:00 & 12:20 & 3,33\\ 
jan@42316
   291
28.09.2011 & Treffen mit Neuper, Dateiumstrukturierung & 10:00 & 12:30 & 2,50\\ 
jan@42316
   292
01.10.2011 & Testen & 10:00 & 11:00 & 1,00\\ 
jan@42316
   293
02.10.2011 & Fehlersuche & 15:00 & 16:10 & 1,17\\ 
jan@42316
   294
06.10.2011 & Treffen mit Neuper & 15:00 & 17:50 & 2,83\\ 
jan@42316
   295
07.10.2011 & Treffen mit Neuper, Programmbesprechung & 15:00 & 16:50 & 1,83\\ 
jan@42316
   296
09.10.2011 & Bakk. Arbeit & 16:30 & 18:45 & 2,25\\ 
jan@42316
   297
11.10.2011 & Treffen mit Neuper, Programmbespr., Abstract & 14:10 & 17:10 & 3,00
jan@42316
   298
\end{longtable}
jan@42316
   299
\end{footnotesize}
neuper@42073
   300
jan@42246
   301
\section{Calculations}
jan@42251
   302
\input{calulations}
neuper@42073
   303
\end{document}