*** empty log message ***
authorakremp
Wed, 09 Mar 2005 05:53:06 +0100
changeset 2157522ecf7b76e6
parent 2156 aa25d72a23a2
child 2158 37e3b2b03e0c
*** empty log message ***
doc/krempler/design-ak.tex
doc/krempler/intro-ak.aux
doc/krempler/intro-ak.tex
doc/krempler/thesis_krempler.tex
doc/krempler/thesis_krempler.toc
doc/krempler/urd-ak.aux
doc/krempler/urd-ak.tex
     1.1 --- a/doc/krempler/design-ak.tex	Sat Mar 05 20:53:47 2005 +0100
     1.2 +++ b/doc/krempler/design-ak.tex	Wed Mar 09 05:53:06 2005 +0100
     1.3 @@ -9,7 +9,7 @@
     1.4  The Dialog Guide is responsible for guiding the user the way to obtaining a solution to a problem. 
     1.5  
     1.6  \subsection{Dialog Phases}
     1.7 -On a coarse level, interaction goes through several phases with fixed sequence, independent of the particular problem being solved (\refUR{COMMON:CALCDATA:phases}). These so-called Dialog Phases have been modelled on a state machine with well-defined states and transitions between the states. Regardless of mathematical context, the Dialog Phases provide a certain degree of error-robustness by recognising out-of-order events.
     1.8 +On a coarse level, interaction goes through several phases with fixed sequence, independent of the particular problem being solved (\refUR{COMMON:CALCDATA:phases}). These so-called Dialog Phases have been modelled on a state machine with well-defined states and transitions between the states. During each of these phases, the Dialog Guide behaves differently and reacts to different requests. Regardless of mathematical context, the Dialog Phases provide a certain degree of error-robustness by recognising out-of-order events.
     1.9  \subsubsection{Initialising}
    1.10  To start interaction, the Dialog Guide has to establish connections with the components it interacts with, a Worksheet representing the Presentation Layer and a Math Engine representing the application (\refUC{START:contact_math}). In addition to that, the Dialog Guide needs information about the user it deals with, to be able to adapt its behaviour accordingly (\refUC{START:ident_user}, \refUR{COMMON:USERS:multi}).
    1.11  Only after being provided with a CalcHead to act upon and - optionally - a Formalization of a pre-defined Example (\refUC{START:from_example}), the Dialog can enter the Specification Phase.
    1.12 @@ -19,15 +19,34 @@
    1.13  To enter the Solving Phase, a valid CalcHead is required.
    1.14  Consequently, the mathematical situation initially described by the CalcHead is transformed towards a situation called result. The transformation is performed in steps which are recorded in a CalcTree. As opposed to the Specifying Phase, the steps are not cumulative, but sequential. This implies that while it is possible to change steps already taken, such an action is likely to render subsequent steps invalid. The transformations are not performed by the Dialog Guide itself but by the Math Engine. Requests to take a step are passed to the Math Engine and steps entered by the user are checked by the Math Engine. Note that the Dialog Guide does not know anything about mathematics, it knows only about the structure of interaction in problem-solving. As stated before, transformations can be done entirely by the user or by the Math Engine, or with combined effort of both. This opens up a spectrum of interactional possibilities how to take a step and the various possibilities are described as Dialog Atoms (see \ref{}).
    1.15  
    1.16 +\paragraph{}
    1.17 +With the concept of a state machine in mind, additional phases can be added easily in the course of future development to handle more complex sequences.
    1.18  
    1.19  \subsubsection{Subproblems}
    1.20 -
    1.21 -With the concept of a state machine in mind, additional phases can be added easily in the course of future development to handle more complex sequences. 
    1.22 +Subproblems are calculations within calculations. In principle, they do not differ from top-level problems, but testing of the prototype implementation the necessity to treat the specification of subproblems differently might turn up. This can be achieved by adding another Dialog Phase. In the present implementation, interactive specification of subproblems is skipped and taking this step is always left to the Math Engine.
    1.23  
    1.24  % add state diagram
    1.25  
    1.26  \subsection{Dialog Atoms}
    1.27 -
    1.28 +As opposed to the high-level Dialog Phases, Dialog Atoms are basic building blocks of system-user interaction at the level of a single interaction. For configuring the Dialog Guide's interactional behaviour, we aim at developing an abstract language with Dialog atoms as "nouns".
    1.29 +%WN040506 Hhhmmmm, as Folgende brauchst Du für das nachfolgende UR --- kann man das nicht irgendwo ganz am Anfang einführen ????
    1.30 +The following proposal for possible atomic interactions when taking a step in a calculation during the Solving Phase is taken from \cite{wn:diss}:
    1.31 +\begin{quotation}
    1.32 +The dialog atoms are the following, ordered by descending 'activity' of the learner: All atoms concern a step from the current formula \currf applying a tactic \tac which yields the resulting formula \res(the derivation of \currf), i.e. $f\longrightarrow^{\it tac}\;f^\prime$.
    1.33 +\begin{enumerate}
    1.34 +\item \label{putres} given \currf, input the next formula \res 
    1.35 +\item \label{fillres} given a partial \currf (supplied by \sisac), complete \currf such that it is a derivation of \currf
    1.36 +\item \label{puttac}given \currf, input a tactic \tac to be applied to \currf
    1.37 +\item given \currf, select \tac from a list (supplied by \sisac) to be applied to \currf
    1.38 +\item \label{filltac} given \currf and a partial \tac, complete the \tac (i.e. a theorem, a substitution, etc.) such that it can be applied to \currf
    1.39 +\item given \currf, \tac, and a partial \res, complete \res such that it is the result of applying \tac to \currf
    1.40 +\item given \currf and \res, input \tac such that \res is the result of \currf applying \tac
    1.41 +\item given \currf and \res, select \tac from a list (supplied by \sisac) such that \res is the result of \currf applying \tac
    1.42 +\item given \currf, \res and a partial \tac, complete \tac such that \res is the result of \currf applying \tac
    1.43 +\end{enumerate}
    1.44 +\end{quotation}
    1.45 +Note that exchanging the parts of the user and \isac{} in the above proposal yields another set of Dialog Atoms, which can be treated as equivalent from the Dialog's point of view.  
    1.46 +Taking atom 1 as an example, it is essentially the same whether \currf is supplied by \isac{} and \res is expected to be input by the user or the user asks \isac{} to derive \res from \currf. In abstract terms, in both cases one part provides \currf and the other part is expected to supply \res. For this reason, the Dialog Guide tries to provide symmetric Dialog Atoms and make use of this symmetry in the implementation.
    1.47  
    1.48  \section{Communicating the State of Calculation}
    1.49  \subsection{Wrapper-based Design}
     2.1 --- a/doc/krempler/intro-ak.aux	Sat Mar 05 20:53:47 2005 +0100
     2.2 +++ b/doc/krempler/intro-ak.aux	Wed Mar 09 05:53:06 2005 +0100
     2.3 @@ -11,21 +11,16 @@
     2.4  \citation{www:MathXpert}
     2.5  \citation{ActiveMath2001}
     2.6  \@writefile{toc}{\contentsline {subsection}{\numberline {0.1.2}Related Projects and Products}{4}}
     2.7 -\@writefile{toc}{\contentsline {subsubsection}{Learning Software}{4}}
     2.8 +\@writefile{toc}{\contentsline {subsubsection}{Educational Software}{4}}
     2.9  \citation{theorema-ws2}
    2.10  \@writefile{toc}{\contentsline {subsubsection}{Computer Algebra Systems (CAS)}{5}}
    2.11  \citation{wolfr:mat}
    2.12 -\citation{www:Mathematica}
    2.13  \citation{derive}
    2.14 -\citation{www:Derive}
    2.15 -\citation{www:mathCAD}
    2.16  \citation{Isa-intro}
    2.17  \@writefile{toc}{\contentsline {subsubsection}{Theorem Provers}{6}}
    2.18  \@writefile{toc}{\contentsline {subsubsection}{Expert Systems}{6}}
    2.19 -\citation{mowgli_home}
    2.20  \citation{isac-mowgli2}
    2.21  \citation{dino2002}
    2.22 -\citation{dinopolis}
    2.23  \citation{fink:da}
    2.24  \citation{Ober01}
    2.25  \citation{wn:diss}
    2.26 @@ -46,33 +41,35 @@
    2.27  \@writefile{toc}{\contentsline {subsection}{\numberline {0.2.3}Structure of this Thesis}{10}}
    2.28  \@writefile{toc}{\contentsline {section}{\numberline {0.3}Introduction to Terms Used throughout this Thesis}{10}}
    2.29  \newlabel{AK:intro:terms}{{0.3}{10}}
    2.30 -\@writefile{toc}{\contentsline {subsection}{\numberline {0.3.1}Logical Components of ${\cal  I}\mkern -2mu{\cal  S}\mkern -5mu{\cal  AC}${}}{10}}
    2.31 -\@writefile{toc}{\contentsline {subsubsection}{Math Engine or Kernel}{10}}
    2.32 +\@writefile{toc}{\contentsline {subsection}{\numberline {0.3.1}System Components of ${\cal  I}\mkern -2mu{\cal  S}\mkern -5mu{\cal  AC}${}}{10}}
    2.33 +\@writefile{toc}{\contentsline {subsubsection}{Math Engine}{10}}
    2.34  \@writefile{toc}{\contentsline {subsubsection}{Knowledge Base}{10}}
    2.35 +\@writefile{toc}{\contentsline {subsubsection}{Kernel}{11}}
    2.36  \@writefile{toc}{\contentsline {subsubsection}{Knowledge Browser}{11}}
    2.37  \@writefile{toc}{\contentsline {subsubsection}{Worksheet}{11}}
    2.38  \@writefile{toc}{\contentsline {subsubsection}{Dialog}{11}}
    2.39 +\@writefile{toc}{\contentsline {subsubsection}{User Model}{11}}
    2.40 +\@writefile{toc}{\contentsline {subsection}{\numberline {0.3.2}Abstraction Levels of Dialog Behaviour}{11}}
    2.41  \@writefile{toc}{\contentsline {subsubsection}{Dialog Atom}{11}}
    2.42 -\@writefile{toc}{\contentsline {subsubsection}{Dialog Activity}{11}}
    2.43  \@writefile{toc}{\contentsline {subsubsection}{Dialog Strategy}{11}}
    2.44 -\@writefile{toc}{\contentsline {subsubsection}{User Model}{11}}
    2.45 -\@writefile{toc}{\contentsline {subsection}{\numberline {0.3.2}Key Elements in Calculations}{12}}
    2.46 +\@writefile{toc}{\contentsline {subsubsection}{Dialog Activity}{12}}
    2.47 +\@writefile{toc}{\contentsline {subsection}{\numberline {0.3.3}Key Elements in Calculations}{12}}
    2.48  \@writefile{toc}{\contentsline {subsubsection}{Formula}{12}}
    2.49  \@writefile{toc}{\contentsline {subsubsection}{Tactic}{12}}
    2.50 -\@writefile{toc}{\contentsline {subsection}{\numberline {0.3.3}${\cal  I}\mkern -2mu{\cal  S}\mkern -5mu{\cal  AC}${}'s Concept of Calculations}{12}}
    2.51 +\@writefile{toc}{\contentsline {subsection}{\numberline {0.3.4}${\cal  I}\mkern -2mu{\cal  S}\mkern -5mu{\cal  AC}${}'s Concept of Calculations}{12}}
    2.52  \@writefile{toc}{\contentsline {subsubsection}{Calc Tree}{12}}
    2.53  \@writefile{toc}{\contentsline {subsubsection}{Subproblem}{12}}
    2.54 -\@writefile{toc}{\contentsline {subsubsection}{Calc Head}{12}}
    2.55 +\@writefile{toc}{\contentsline {subsubsection}{Calc Head}{13}}
    2.56  \@writefile{toc}{\contentsline {subsubsection}{Specifiying Phase}{13}}
    2.57  \@writefile{toc}{\contentsline {subsubsection}{Solving Phase}{13}}
    2.58 -\@writefile{toc}{\contentsline {subsection}{\numberline {0.3.4}Mathematical Knowledge}{13}}
    2.59 -\@writefile{toc}{\contentsline {subsubsection}{Model}{13}}
    2.60 +\@writefile{toc}{\contentsline {subsection}{\numberline {0.3.5}Mathematical Knowledge}{13}}
    2.61  \@writefile{toc}{\contentsline {subsubsection}{Problem}{13}}
    2.62  \@writefile{toc}{\contentsline {subsubsection}{Theory}{13}}
    2.63  \@writefile{toc}{\contentsline {subsubsection}{Method}{13}}
    2.64 -\@writefile{toc}{\contentsline {subsection}{\numberline {0.3.5}Describing a Calculation Task to ${\cal  I}\mkern -2mu{\cal  S}\mkern -5mu{\cal  AC}${}}{13}}
    2.65 -\@writefile{toc}{\contentsline {subsubsection}{Example}{13}}
    2.66 +\@writefile{toc}{\contentsline {subsection}{\numberline {0.3.6}Describing a Calculation Task to ${\cal  I}\mkern -2mu{\cal  S}\mkern -5mu{\cal  AC}${}}{14}}
    2.67 +\@writefile{toc}{\contentsline {subsubsection}{Example}{14}}
    2.68  \@writefile{toc}{\contentsline {subsubsection}{Formalization}{14}}
    2.69 +\@writefile{toc}{\contentsline {subsubsection}{Model}{14}}
    2.70  \@writefile{toc}{\contentsline {subsubsection}{Specification}{14}}
    2.71  \@writefile{toc}{\contentsline {subsubsection}{Description}{14}}
    2.72  \@writefile{toc}{\contentsline {subsubsection}{Explanation}{14}}
    2.73 @@ -83,12 +80,12 @@
    2.74  \setcounter{enumii}{0}
    2.75  \setcounter{enumiii}{0}
    2.76  \setcounter{enumiv}{0}
    2.77 -\setcounter{footnote}{1}
    2.78 +\setcounter{footnote}{8}
    2.79  \setcounter{mpfootnote}{0}
    2.80  \setcounter{part}{1}
    2.81  \setcounter{chapter}{0}
    2.82  \setcounter{section}{3}
    2.83 -\setcounter{subsection}{5}
    2.84 +\setcounter{subsection}{6}
    2.85  \setcounter{subsubsection}{0}
    2.86  \setcounter{paragraph}{0}
    2.87  \setcounter{subparagraph}{0}
     3.1 --- a/doc/krempler/intro-ak.tex	Sat Mar 05 20:53:47 2005 +0100
     3.2 +++ b/doc/krempler/intro-ak.tex	Wed Mar 09 05:53:06 2005 +0100
     3.3 @@ -85,8 +85,7 @@
     3.4  \subsection{Related Projects and Products}
     3.5  To further illustrate the concept of \isac{}, a short comparison with related projects, products and technologies will be given, highlighting common grounds and substantial differences.
     3.6  
     3.7 -\subsubsection{Learning Software}
     3.8 -%educational ...
     3.9 +\subsubsection{Educational Software}
    3.10  A wealth of learning software has become available over the past decades, ranging from simple flashcard-like programs to elaborate interactive systems. An overview of readily available software is given in \cite{www:EduMath}.
    3.11  
    3.12  \begin{description}
    3.13 @@ -117,7 +116,7 @@
    3.14  Q: Hi, Can Mathematica show the steps that make to arrive at the answer, in a integration
    3.15  
    3.16  A: Nope, sorry.  
    3.17 -Mathematica doesn't do integrals like humans do. You really don't want to see what route it takes to get an answer. \footnote{http://forums.wolfram.com/student-support/topics/7921, nov-2004}
    3.18 +Mathematica doesn't do integrals like humans do. You really don't want to see what route it takes to get an answer.\footnote{http://forums.wolfram.com/student-support/topics/7921, nov-2004}
    3.19  \end{quotation}
    3.20  Efforts to present intermediate results have been taken only recently. \isac{}, on the other hand, concentrates on making the process of solving transparent to the user. \isac{}'s mathematical knowledge is coded in the same rules and propositions used in teaching math and stored in a knowledge base browsable and comprehensible by the user. \isac{}'s computational algorithms are expressed using these rules and stored in so-called Methods \ref{}, which are accessible to the user as well. This provides not only for transparency, but also the flexibility to extend the knowledge used in obtaining a result and even changing the very way how a solution is obtained. \isac{}'s interactive tutoring capabilities going far beyond mere presentation of examples are based on this flexible concept.
    3.21  
    3.22 @@ -130,24 +129,20 @@
    3.23  
    3.24  The following programs are mentioned for their wide-spread use in educational and scientific institutions:
    3.25  \begin{description}
    3.26 -\item[Mathematica] \cite{wolfr:mat}, \cite{www:Mathematica} boasts extensive comuputational capabilities, both symbolic and numeric. Mathematica started adding user-transparency by offering display of intermediate results and even the rules applied for differentiation.
    3.27 -\item[Derive] \cite{derive}, \cite{www:Derive} is a intentionally compact program running on smaller machines and even hand-held calculators. Derive started adding access to intermediate results - called display step - as of version 6.
    3.28 -\item[MathCad] \cite{www:mathCAD} has its strengths in presentation and integrating a calculation with descriptive text and figures.
    3.29 +\item[Mathematica\footnote{http://www.wolfram.com/products/mathematica/index.html}] \cite{wolfr:mat} boasts extensive comuputational capabilities, both symbolic and numeric. Mathematica started adding user-transparency by offering display of intermediate results and even the rules applied for differentiation.
    3.30 +\item[Derive\footnote{http://www.derive-europe.com/main.asp}] \cite{derive} is an intentionally compact program running on smaller machines and even hand-held calculators. Derive started adding access to intermediate results - called display step - as of version 6.
    3.31 +\item[MathCad\footnote{http://www.mathcad.com}] has its strengths in presentation and integrating a calculation with descriptive text and figures.
    3.32  \end{description}
    3.33  
    3.34  \subsubsection{Theorem Provers}
    3.35  \begin{description}
    3.36 -\item[Common grounds:] Theorem provers apply the abstract logic of proofs to a problem, in a step-by-step manner with a high degree of interactivity. 
    3.37 +\item[Common grounds:] Theorem provers apply the abstract logic of proofs to a problem, in a step-by-step manner with a high degree of interactivity.  \isac{} implicitly proves that result of a calculation is correct in the sense of the original problem. \isac{} does so by constructing the result of a calculation by applying theorems proven by the theorem prover Isabelle \cite{Isa-intro}.
    3.38  %WN \sisac is designed to be responsible for correct results, too: it constructs the result of a calculation applying theorems proven by the theorem prover Isabelle \cite{Isa-intro}.
    3.39  %----
    3.40 -The same logic is used by \isac{} to prove that the result of a calculation is equivalent to the originally specified problem. \isac{} uses the high-order logic (HOL) of the theorem prover Isabelle \cite{Isa-intro}.
    3.41 +%AK The same logic is used by \isac{} to prove that the result of a calculation is equivalent to the originally specified problem. \isac{} uses the high-order logic (HOL) of the theorem prover Isabelle \cite{Isa-intro}.
    3.42  %----
    3.43  \item[Major differences:] A theorem prover tries to answer the question 'Is the theorem true?'. A theorem prover's answer is yes or no. 
    3.44 -%WN \isac{} tries to solve a problem, i.e. \isac{}'s answer is a ...
    3.45 -%----
    3.46 -\isac{} tries to simplify the original problem. \isac{}'s answer is a mathematical object called result, as with a CAS.
    3.47 -%----... nur fuer solve, simplify
    3.48 -
    3.49 +\isac{} tries to solve a problem. \isac{}'s answer is a mathematical object called result, as with a CAS.
    3.50  \end{description}
    3.51  
    3.52  \subsubsection{Expert Systems}
    3.53 @@ -160,11 +155,11 @@
    3.54  \subsubsection{Standards and Tools Used}
    3.55  Several evolving technologies are used in the \isac{} system, with their development closely observed and in some cases cooperatively influenced by \isac{}:
    3.56  \begin{description}
    3.57 -\item[XML]\cite{}, an open standard for desription of structured data, is used on all interfaces to the outside world. With limited resources of the \isac{} project, open standards facilitate cooperation with other projects and the use of tools already available.
    3.58 -\item[MathML]\cite{}, a XML language for describing mathematical objects, is used both for processing and rendering of formulae. Technology for processing MathML is not widely available at the moment, but evolving rapidly.
    3.59 -\item[MoWGLI] \cite{mowgli_home}, \cite{isac-mowgli2} aims at integrating and evolving existing standards to enhance accessibility and usability of mathematical information in the WWW.
    3.60 -\item[Dinopolis] \cite{dino2002}, \cite{dinopolis} is a componentware framework for robust and secure distributed systems. While not being used in the current prototype, the concepts of Dinopolis influenced the design of \isac{}'s architecture and we hope to use Dinopolis for the integration of \isac{}'s components in a future release.
    3.61 -\item[Isabelle]. As stated before, the theorem prover Isabelle's high-order logic is used in \isac{}'s math engine.
    3.62 +\item[XML\footnote{http://www.w3.org/TR/REC-xml}], an open standard for desription of structured data, is used on all interfaces to the outside world. With limited resources of the \isac{} project, open standards facilitate cooperation with other projects and the use of tools already available.
    3.63 +\item[MathML\footnote{http://www.w3.org/TR/MathML2/}], a XML language for describing mathematical objects, is used both for processing and rendering of formulae. Technology for processing MathML is not widely available at the moment, but evolving rapidly.
    3.64 +\item[MoWGLI\footnote{http://www.mowgli.cs.unibo.it/}] \cite{isac-mowgli2} aims at integrating and evolving existing standards to enhance accessibility and usability of mathematical information in the WWW.
    3.65 +\item[Dinopolis\footnote{http://www.dinopolis.org/}] \cite{dino2002}, is a componentware framework for robust and secure distributed systems. While not being used in the current prototype, the concepts of Dinopolis influenced the design of \isac{}'s architecture and we hope to use Dinopolis for the integration of \isac{}'s components in a future release.
    3.66 +\item[Isabelle] As stated before, the theorem prover Isabelle's high-order logic is used in \isac{}'s math engine.
    3.67  \end{description}
    3.68  
    3.69  
    3.70 @@ -247,44 +242,46 @@
    3.71  
    3.72  \subsection{Structure of this Thesis}
    3.73  requirements
    3.74 -choosing technology
    3.75 +
    3.76 +design and choosing technology
    3.77 +
    3.78  implementation
    3.79  
    3.80 +(to be filled in after the rest is finished)
    3.81 +
    3.82  
    3.83  \section{Introduction to Terms Used throughout this Thesis}\label{AK:intro:terms}
    3.84  In this section, terms describing basic concepts of \isac{} are explained. Please refer to the example in appendix \ref{use-expl} for a practical view, to appendix \ref{app.terms} for definitions of other terms and to \cite{wn:diss} for in-depth explanations.
    3.85  
    3.86  % insert figure of the system
    3.87  
    3.88 -\subsection{Logical Components of \isac{}}
    3.89 -%WN Software / Basic ... Componenets ...
    3.90 -\subsubsection{Math Engine or Kernel}
    3.91 -The Math Engine, occasionally referred to simply as the Kernel, 
    3.92 -%WN0501 kernel = me + kb (in sml-format)
    3.93 -takes care of all mathematical data analysis and processing. It is the only component aware of mathematical meaning of data. Several other components understand the structure of calculations, but are limited in their interpretation of data they are processing. The 
    3.94 -%WN..
    3.95 -is due to the complexity of mathematics and the configurability of \isac{}'s concept of mathematics. While future formula editors might share the Kernel's syntactic knowledge, present components cannot check a formula for syntactic correctness or even distinguish a literal number from a variable name. 
    3.96 +\subsection{System Components of \isac{}}
    3.97 +\subsubsection{Math Engine}
    3.98 +The Math Engine takes care of all mathematical data analysis and processing. It is the only component aware of mathematical meaning of data. Several other components understand the structure of calculations, but are limited in their interpretation of data they are processing. This is due to the complexity of mathematics and the configurability of \isac{}'s concept of mathematics. While future formula editors might share the Kernel's syntactic knowledge, present components cannot check a formula for syntactic correctness or even distinguish a literal number from a variable name. 
    3.99  %zB Klammerfehler werden vom Formeleditor behandelt: Syntaxfehler im FE, log Fehler (Typen, Vollst�digkeit von Model-Items etc.) im KE
   3.100 +%wenn, wie angedeutet, selbst die assoziativiaet von operatoren in isabelle programmierbar ist, kann der FE fuer sich nicht einmal klammern ueberpruefen
   3.101  \subsubsection{Knowledge Base}
   3.102 -The Knowledge Base stores \isac{}'s knowledge about mathematics. This knowledge is used by the Math Engine for calculations, but the same knowledge is intended to be accessible to the user for reference or for learning purposes. 
   3.103 -%(Math-)Authoring SML, math-knowledge exported to an XML-representation -- this accessed by the user (explanations added to XML-representation).
   3.104 +The Knowledge Base stores \isac{}'s knowledge about mathematics. This knowledge is used by the Math Engine for calculations, but a human-readable copy of the same knowledge is intended to be accessible to the user for reference or for learning purposes. 
   3.105 +\subsubsection{Kernel}
   3.106 +The Math Engine and the Knowledge Base together are referred to as the Kernel.
   3.107  \subsubsection{Knowledge Browser}
   3.108  The Knowledge Browser is the tool for searching and displaying knowledge from the Knowledge Base.
   3.109  \subsubsection{Worksheet}
   3.110  The Worksheet is an abstraction of the traditional paper-and-pencil interface to calculations. It is the user's tool for viewing and manipulating calculations.
   3.111  \subsubsection{Dialog}
   3.112 -The Dialog is the didactic part of the system. It manages the user's interaction with the system in a conceptual way. It makes decisions about which data to present and which options to offer to the user depending on the current learning situation.
   3.113 -\subsubsection{Dialog Atom}
   3.114 -%WN\subparagraph{Dialog Atom}
   3.115 -Dialog Atoms are basic building blocks of user interaction when doing calculations in a learning context. Examples for Dialog Atoms are \emph{having the user calculate a step in a calculation}, \emph{calculating a step automatically} or \emph{asking questions}.
   3.116 -\subsubsection{Dialog Activity}
   3.117 -Dialog Activity denotes a measure for the system's responsibility for the work being done. While in calculating a step automatically \isac{} takes all responsibilty for the result, having the user enter the step leaves most of the responsibility, challenge and learning effect with the user.
   3.118 -\subsubsection{Dialog Strategy}
   3.119 -Dialog Strategies are sequences of Dialog Atoms guiding a user through the learning process, distinguished by different levels of Dialog Activity and different didactic backgrounds.
   3.120 +From the user's point of view, the Dialog is the didactic part of the system. It manages the user's interaction with the system in a conceptual way. It makes decisions about which data to present and which options to offer to the user depending on the current learning situation.
   3.121  \subsubsection{User Model}
   3.122  The User Model is an abstraction of \isac{}'s experience with an individual user based on the history of interaction. In particular, the User Model keeps records of knowledge viewed or used by the user, the Dialog Atoms used and the user's success in this process.
   3.123  Based on these data, the Dialog makes assumptions about the user's familiarity with mathematical concepts and guides him accordingly.
   3.124  
   3.125 +\subsection{Abstraction Levels of Dialog Behaviour}
   3.126 +\subsubsection{Dialog Atom}
   3.127 +Dialog Atoms are basic building blocks of user interaction when doing calculations in a learning context. Examples for Dialog Atoms are \emph{having the user calculate a step in a calculation}, \emph{calculating a step automatically} or \emph{asking questions}.
   3.128 +\subsubsection{Dialog Strategy}
   3.129 +Dialog Strategies are sequences of Dialog Atoms guiding a user through the learning process, distinguished by different levels of Dialog Activity and different didactic backgrounds.
   3.130 +\subsubsection{Dialog Activity}
   3.131 +Dialog Activity denotes a measure for the system's responsibility for the work being done. While in calculating a step automatically, \isac{} takes all responsibilty for the result, having the user enter the step leaves most of the responsibility, challenge and learning effect with the user.
   3.132 +
   3.133  
   3.134  \subsection{Key Elements in Calculations}
   3.135  \subsubsection{Formula}
   3.136 @@ -299,8 +296,8 @@
   3.137  \isac{} organizes calculations in Calculation Trees. The normal flow of an calculation alternates Formulas and Tactics transforming one Formula into the next one. This list-like structure branches where independent calculations have to be made to obtain intermediate results, such as finding the roots of the first derivative of a function to solve an optimization problem or to obtain several cases in a case-split.
   3.138   
   3.139  \subsubsection{Subproblem}
   3.140 -Independent calculations to obtain intermediate results are called Subproblems. Independent means that they are fully specified by a Calc Head and could be processed as calculations on their own.
   3.141 -%                     of
   3.142 +Independent calculations to obtain intermediate results are called Subproblems. Independent means that they are fully specified by a Calc Head and could be processed as calculations of their own.
   3.143 +
   3.144  
   3.145  \subsubsection{Calc Head}
   3.146  A Calculation Header details all inputs, constraints and desired results necessary to start a calculation. 
   3.147 @@ -311,13 +308,7 @@
   3.148  In the Solving Phase, Formulas are repeatedly transformed into other Formulas by applying Tactics until eventually a solution is reached.
   3.149  
   3.150  \subsection{Mathematical Knowledge}
   3.151 -\subsubsection{Model}
   3.152 -%WN0501
   3.153 -%AK040916: da brauch' ich ein wenig hilfe. was war das nochmal?oder verzichtma auf das wort?
   3.154 -%WN041012 ... ja, wenn ich wuesste wie: Model = CalcHead - Specification - Headline ? oder anders rum: Model = Given + Where + Find + Relate ? siehe auch 'terms.txt'
   3.155 -
   3.156 -%wuerde ich zu 'Describing a Calculation Task' geben: A Model is a Problem instantiated by a Formalization. Thus a Model contains the items required ('give', the input-items) to solve the Problem, the constraints to these items ('where', or the 'precondition'), the names of the objects ('find', the output-items) in order to solve the Problem and the 'relations' between input- and output-items.
   3.157 -% model = problem instantiated by formalization
   3.158 +Mathematical knowledge stored in \isac{}'s Knowledge Base is categorised as follows:
   3.159  
   3.160  \subsubsection{Problem}
   3.161  A Problem describes the abstract common properties of a class of examples. A Problem describes the goal - what are we looking for - and which information has to be given to find a solution. Finding the roots of an equation is one Problem, finding the maximum of a function is another.
   3.162 @@ -341,11 +332,18 @@
   3.163  %Statt dem obigen Satz (wobei die subsubsec auf Example folgt): A Formalization is the formal representation of an example; the representation is more general than the structure of a Model in order to be able to instantiate more than one Problem with the Formalization.
   3.164  A Formalization could consist of a formula, a indication of the solution sought and optionally additional formulas indicating contraints applying to valid solutions.% 'contraints' nein, diese werden im Zuge des 'instantiierens' aus dem Problem hinzugefuegt.
   3.165  
   3.166 -%\subsubsection{Model}
   3.167 +\subsubsection{Model}
   3.168 +A Model is an abstract Problem instantiated by concrete data as obtained from the Formalization of an Example or from user input.
   3.169 +%WN0501
   3.170 +%AK040916: da brauch' ich ein wenig hilfe. was war das nochmal?oder verzichtma auf das wort?
   3.171 +%WN041012 ... ja, wenn ich wuesste wie: Model = CalcHead - Specification - Headline ? oder anders rum: Model = Given + Where + Find + Relate ? siehe auch 'terms.txt'
   3.172 +
   3.173 +%wuerde ich zu 'Describing a Calculation Task' geben: A Model is a Problem instantiated by a Formalization. Thus a Model contains the items required ('give', the input-items) to solve the Problem, the constraints to these items ('where', or the 'precondition'), the names of the objects ('find', the output-items) in order to solve the Problem and the 'relations' between input- and output-items.
   3.174 +% model = problem instantiated by formalization
   3.175  
   3.176  \subsubsection{Specification}
   3.177 -Given a Formalization, a Specification specifies the Problem to be solved, the Theory where to search for solutions and a Method to be used in solving the example. If a student recognises two examples as being "essentially the same, just the numbers are different", it is the Specifications he recognised as being "the same" and the Formalizations as being "different".
   3.178 -%... letzteres wurde sich auch auf das Model beziehen.
   3.179 +Given a Formalization, a Specification specifies the Problem to be solved, the Theory where to search for solutions and a Method to be used in solving the example. If a student recognises two examples as being "essentially the same thing to calculate, only the numbers are different", it is the Specifications he recognised as being "the same" and the Models as being "different".
   3.180 +
   3.181  
   3.182  
   3.183  \subsubsection{Description}
     4.1 --- a/doc/krempler/thesis_krempler.tex	Sat Mar 05 20:53:47 2005 +0100
     4.2 +++ b/doc/krempler/thesis_krempler.tex	Wed Mar 09 05:53:06 2005 +0100
     4.3 @@ -35,10 +35,13 @@
     4.4  \part{Introduction}
     4.5  \include{intro-ak}
     4.6  
     4.7 -\part{Project Requirements}
     4.8 -This part lists selected requirements of the system as a starting point for the design. The contents are based on the work-in-progress-style internal documentation of the \isac{} project \cite{isac:use,isac:urd,isac:srd}, analysis of the first-generation prototype and internal communication of the \isac{} team.
     4.9 +\part{Requirements Analysis}
    4.10 +The Dialog Guide is embedded in a complex and heterogenous system. At the start of the design phase, barely any specifications were available, apart from the abstract idea described in \cite{wn:diss} and the implemented Math Engine and first-generation prototype for reference.  
    4.11 +Requirements analysis was led by ideas from \cite{Jacobson92} and \cite{Cockburn2000} without going into too fine detail. 
    4.12  
    4.13 -A selection of use cases is added for illustration. 
    4.14 +This part documents the requirements analysis process. In chapter \ref{\preUC}, selected use cases are listed. Requirements of the system and particularly the Dialog Guide as a starting point for design are derived in chapters \ref{\preUR:COMMON} and \ref{\preUR:DIALOG}. The contents are based on the work-in-progress-style internal documentation of the \isac{} project \cite{isac:use,isac:urd,isac:srd}, analysis of the first-generation prototype and internal communication of the \isac{} team.
    4.15 +
    4.16 +Wherever appropriate, explanations of design decisions will refer to the use cases and requirements listed here. On the other hand, many requirements will not be met at the stage of development of \isac{} covered in this thesis.
    4.17  
    4.18  Please see appendix \ref{app.terms} for definitions of terms or \cite{wn:diss} for in-depth explanations.
    4.19  
    4.20 @@ -90,6 +93,7 @@
    4.21  \include{exref-ak}
    4.22  \include{tactics}
    4.23  \include{terms}
    4.24 +% \include{www-list}
    4.25  
    4.26  \printglossary
    4.27  
     5.1 --- a/doc/krempler/thesis_krempler.toc	Sat Mar 05 20:53:47 2005 +0100
     5.2 +++ b/doc/krempler/thesis_krempler.toc	Wed Mar 09 05:53:06 2005 +0100
     5.3 @@ -2,7 +2,7 @@
     5.4  \contentsline {section}{\numberline {0.1}The ${\cal I}\mkern -2mu{\cal S}\mkern -5mu{\cal AC}${} Project}{2}
     5.5  \contentsline {subsection}{\numberline {0.1.1}History, Scope and Goal of the ${\cal I}\mkern -2mu{\cal S}\mkern -5mu{\cal AC}${} Project}{2}
     5.6  \contentsline {subsection}{\numberline {0.1.2}Related Projects and Products}{4}
     5.7 -\contentsline {subsubsection}{Learning Software}{4}
     5.8 +\contentsline {subsubsection}{Educational Software}{4}
     5.9  \contentsline {subsubsection}{Computer Algebra Systems (CAS)}{5}
    5.10  \contentsline {subsubsection}{Theorem Provers}{6}
    5.11  \contentsline {subsubsection}{Expert Systems}{6}
    5.12 @@ -13,37 +13,39 @@
    5.13  \contentsline {subsection}{\numberline {0.2.2}Position of this Thesis within the ${\cal I}\mkern -2mu{\cal S}\mkern -5mu{\cal AC}${} Project}{9}
    5.14  \contentsline {subsection}{\numberline {0.2.3}Structure of this Thesis}{10}
    5.15  \contentsline {section}{\numberline {0.3}Introduction to Terms Used throughout this Thesis}{10}
    5.16 -\contentsline {subsection}{\numberline {0.3.1}Logical Components of ${\cal I}\mkern -2mu{\cal S}\mkern -5mu{\cal AC}${}}{10}
    5.17 -\contentsline {subsubsection}{Math Engine or Kernel}{10}
    5.18 +\contentsline {subsection}{\numberline {0.3.1}System Components of ${\cal I}\mkern -2mu{\cal S}\mkern -5mu{\cal AC}${}}{10}
    5.19 +\contentsline {subsubsection}{Math Engine}{10}
    5.20  \contentsline {subsubsection}{Knowledge Base}{10}
    5.21 +\contentsline {subsubsection}{Kernel}{11}
    5.22  \contentsline {subsubsection}{Knowledge Browser}{11}
    5.23  \contentsline {subsubsection}{Worksheet}{11}
    5.24  \contentsline {subsubsection}{Dialog}{11}
    5.25 +\contentsline {subsubsection}{User Model}{11}
    5.26 +\contentsline {subsection}{\numberline {0.3.2}Abstraction Levels of Dialog Behaviour}{11}
    5.27  \contentsline {subsubsection}{Dialog Atom}{11}
    5.28 -\contentsline {subsubsection}{Dialog Activity}{11}
    5.29  \contentsline {subsubsection}{Dialog Strategy}{11}
    5.30 -\contentsline {subsubsection}{User Model}{11}
    5.31 -\contentsline {subsection}{\numberline {0.3.2}Key Elements in Calculations}{12}
    5.32 +\contentsline {subsubsection}{Dialog Activity}{12}
    5.33 +\contentsline {subsection}{\numberline {0.3.3}Key Elements in Calculations}{12}
    5.34  \contentsline {subsubsection}{Formula}{12}
    5.35  \contentsline {subsubsection}{Tactic}{12}
    5.36 -\contentsline {subsection}{\numberline {0.3.3}${\cal I}\mkern -2mu{\cal S}\mkern -5mu{\cal AC}${}'s Concept of Calculations}{12}
    5.37 +\contentsline {subsection}{\numberline {0.3.4}${\cal I}\mkern -2mu{\cal S}\mkern -5mu{\cal AC}${}'s Concept of Calculations}{12}
    5.38  \contentsline {subsubsection}{Calc Tree}{12}
    5.39  \contentsline {subsubsection}{Subproblem}{12}
    5.40 -\contentsline {subsubsection}{Calc Head}{12}
    5.41 +\contentsline {subsubsection}{Calc Head}{13}
    5.42  \contentsline {subsubsection}{Specifiying Phase}{13}
    5.43  \contentsline {subsubsection}{Solving Phase}{13}
    5.44 -\contentsline {subsection}{\numberline {0.3.4}Mathematical Knowledge}{13}
    5.45 -\contentsline {subsubsection}{Model}{13}
    5.46 +\contentsline {subsection}{\numberline {0.3.5}Mathematical Knowledge}{13}
    5.47  \contentsline {subsubsection}{Problem}{13}
    5.48  \contentsline {subsubsection}{Theory}{13}
    5.49  \contentsline {subsubsection}{Method}{13}
    5.50 -\contentsline {subsection}{\numberline {0.3.5}Describing a Calculation Task to ${\cal I}\mkern -2mu{\cal S}\mkern -5mu{\cal AC}${}}{13}
    5.51 -\contentsline {subsubsection}{Example}{13}
    5.52 +\contentsline {subsection}{\numberline {0.3.6}Describing a Calculation Task to ${\cal I}\mkern -2mu{\cal S}\mkern -5mu{\cal AC}${}}{14}
    5.53 +\contentsline {subsubsection}{Example}{14}
    5.54  \contentsline {subsubsection}{Formalization}{14}
    5.55 +\contentsline {subsubsection}{Model}{14}
    5.56  \contentsline {subsubsection}{Specification}{14}
    5.57  \contentsline {subsubsection}{Description}{14}
    5.58  \contentsline {subsubsection}{Explanation}{14}
    5.59 -\contentsline {part}{II\hspace {1em}Project Requirements}{15}
    5.60 +\contentsline {part}{II\hspace {1em}Requirements Analysis}{15}
    5.61  \contentsline {chapter}{\numberline {1}Use Cases}{17}
    5.62  \contentsline {section}{\numberline {1.1}Initializing the Dialog}{17}
    5.63  \contentsline {subsection}{\numberline {1.1.1}Choosing a Starting Point}{18}
    5.64 @@ -68,89 +70,90 @@
    5.65  \contentsline {section}{\numberline {3.3}Flexible Dialog Behaviour}{34}
    5.66  \contentsline {section}{\numberline {3.4}Adaptation to Individual Users}{35}
    5.67  \contentsline {section}{\numberline {3.5}Restrictions}{36}
    5.68 -\contentsline {part}{III\hspace {1em}Design Considerations}{38}
    5.69 -\contentsline {chapter}{\numberline {4}User Interaction from a Didactic Point of View}{39}
    5.70 -\contentsline {section}{\numberline {4.1}Basic Theories about Learning and Teaching}{39}
    5.71 -\contentsline {subsection}{\numberline {4.1.1}Behaviouristic Learning}{39}
    5.72 -\contentsline {subsubsection}{Behaviouristic Theory of Learning}{39}
    5.73 -\contentsline {subsubsection}{Behaviouristic Teaching Strategies}{39}
    5.74 +\contentsline {part}{III\hspace {1em}Design Considerations}{37}
    5.75 +\contentsline {chapter}{\numberline {4}User Interaction from a Didactic Point of View}{38}
    5.76 +\contentsline {section}{\numberline {4.1}Basic Theories about Learning and Teaching}{38}
    5.77 +\contentsline {subsection}{\numberline {4.1.1}Behaviouristic Learning}{38}
    5.78 +\contentsline {subsubsection}{Behaviouristic Theory of Learning}{38}
    5.79 +\contentsline {subsubsection}{Behaviouristic Teaching Strategies}{38}
    5.80 +\contentsline {subsubsection}{Advantages and Drawbacks}{39}
    5.81 +\contentsline {subsubsection}{${\cal I}\mkern -2mu{\cal S}\mkern -5mu{\cal AC}${}'s Support for Behaviouristic Learning}{39}
    5.82 +\contentsline {subsection}{\numberline {4.1.2}Cognitivistic Learning}{40}
    5.83 +\contentsline {subsubsection}{Cognitivistic Theory of Learning}{40}
    5.84 +\contentsline {subsubsection}{Cognitivistic Teaching Strategies}{40}
    5.85  \contentsline {subsubsection}{Advantages and Drawbacks}{40}
    5.86 -\contentsline {subsubsection}{${\cal I}\mkern -2mu{\cal S}\mkern -5mu{\cal AC}${}'s Support for Behaviouristic Learning}{40}
    5.87 -\contentsline {subsection}{\numberline {4.1.2}Cognitivistic Learning}{41}
    5.88 -\contentsline {subsubsection}{Cognitivistic Theory of Learning}{41}
    5.89 -\contentsline {subsubsection}{Cognitivistic Teaching Strategies}{41}
    5.90 -\contentsline {subsubsection}{Advantages and Drawbacks}{41}
    5.91 -\contentsline {subsubsection}{${\cal I}\mkern -2mu{\cal S}\mkern -5mu{\cal AC}${}'s Support for Cognitivistic Learning}{42}
    5.92 -\contentsline {subsection}{\numberline {4.1.3}Constructivistic Learning}{42}
    5.93 -\contentsline {subsubsection}{Constructivistic Theory of Learning}{42}
    5.94 -\contentsline {subsubsection}{Constructivistic Teaching Strategies}{42}
    5.95 -\contentsline {subsubsection}{Advantages and Drawbacks}{43}
    5.96 -\contentsline {subsubsection}{${\cal I}\mkern -2mu{\cal S}\mkern -5mu{\cal AC}${}'s Support for Constructivistic Learning}{43}
    5.97 -\contentsline {section}{\numberline {4.2}Modelling Interaction With a Peer}{43}
    5.98 -\contentsline {section}{\numberline {4.3}Symmetric Dialog Atoms}{44}
    5.99 -\contentsline {chapter}{\numberline {5}User Interaction from a Technical Point of View}{45}
   5.100 -\contentsline {section}{\numberline {5.1}Describing a Dialog}{45}
   5.101 -\contentsline {section}{\numberline {5.2}Adapting to Individual Users}{45}
   5.102 -\contentsline {chapter}{\numberline {6}System Environment}{46}
   5.103 -\contentsline {section}{\numberline {6.1}Basic Concepts for Separable User Interfaces}{46}
   5.104 -\contentsline {subsection}{\numberline {6.1.1}The Seeheim Model}{46}
   5.105 -\contentsline {subsection}{\numberline {6.1.2}The MVC Architecture}{47}
   5.106 -\contentsline {subsection}{\numberline {6.1.3}Comparing the approaches}{48}
   5.107 -\contentsline {subsection}{\numberline {6.1.4}Implications for ${\cal I}\mkern -2mu{\cal S}\mkern -5mu{\cal AC}${}}{48}
   5.108 -\contentsline {section}{\numberline {6.2}Distributed Components in a Heterogenous Environment}{50}
   5.109 -\contentsline {subsection}{\numberline {6.2.1}Location of the Dialog Guide}{50}
   5.110 -\contentsline {subsection}{\numberline {6.2.2}Interfacing Java and SML}{51}
   5.111 -\contentsline {subsection}{\numberline {6.2.3}Choosing a Means of Communication}{51}
   5.112 -\contentsline {subsection}{\numberline {6.2.4}The Dinopolis Middleware project}{52}
   5.113 -\contentsline {section}{\numberline {6.3}The Architectural Design of the ${\cal I}\mkern -2mu{\cal S}\mkern -5mu{\cal AC}${} System}{53}
   5.114 -\contentsline {subsection}{\numberline {6.3.1}The Overall Design of ${\cal I}\mkern -2mu{\cal S}\mkern -5mu{\cal AC}${}}{53}
   5.115 -\contentsline {subsubsection}{Browsing the Knowledge Base}{53}
   5.116 -\contentsline {subsubsection}{Authoring Tools}{55}
   5.117 -\contentsline {subsubsection}{Logging into the System and Bootstrapping}{55}
   5.118 -\contentsline {subsection}{\numberline {6.3.2}The Interfaces to the Dialog Guide Component}{56}
   5.119 -\contentsline {chapter}{\numberline {7}Designing a Dialog Guide Component}{61}
   5.120 -\contentsline {section}{\numberline {7.1}Controlling the Course of Interaction}{61}
   5.121 -\contentsline {subsection}{\numberline {7.1.1}Dialog Phases}{61}
   5.122 -\contentsline {subsubsection}{Initializing}{61}
   5.123 -\contentsline {subsubsection}{Specifying}{62}
   5.124 -\contentsline {subsubsection}{Solving}{62}
   5.125 -\contentsline {subsubsection}{Subproblems}{62}
   5.126 -\contentsline {subsection}{\numberline {7.1.2}Dialog Atoms}{62}
   5.127 -\contentsline {section}{\numberline {7.2}Communicating the State of Calculation}{62}
   5.128 -\contentsline {subsection}{\numberline {7.2.1}Wrapper-based Design}{62}
   5.129 -\contentsline {subsection}{\numberline {7.2.2}Event-driven Design}{62}
   5.130 -\contentsline {section}{\numberline {7.3}Configurable User-Interface}{62}
   5.131 -\contentsline {section}{\numberline {7.4}Obtaining and Storing Configuration Data}{62}
   5.132 -\contentsline {subsection}{\numberline {7.4.1}The User Settings}{62}
   5.133 -\contentsline {subsection}{\numberline {7.4.2}The User Model}{62}
   5.134 -\contentsline {subsection}{\numberline {7.4.3}Permissions and Security Issues}{62}
   5.135 -\contentsline {section}{\numberline {7.5}object world}{62}
   5.136 -\contentsline {part}{IV\hspace {1em}Implementation}{63}
   5.137 -\contentsline {chapter}{\numberline {8}Implementation Details}{64}
   5.138 -\contentsline {section}{\numberline {8.1}The Hierarchy of Mathematical Objects}{64}
   5.139 -\contentsline {section}{\numberline {8.2}The CalcHead}{64}
   5.140 -\contentsline {section}{\numberline {8.3}Separable Sub-trees for Sub-problems}{64}
   5.141 -\contentsline {section}{\numberline {8.4}Accessing the Calculation Tree}{64}
   5.142 -\contentsline {section}{\numberline {8.5}Interfaces Aiming at a Detachable Dialog Guide}{64}
   5.143 -\contentsline {section}{\numberline {8.6}The Dialog Guide Intercepting the Flow of Interaction}{64}
   5.144 -\contentsline {section}{\numberline {8.7}Controlling the Presentation}{64}
   5.145 -\contentsline {section}{\numberline {8.8}Interfaces of the Dialog Guide}{64}
   5.146 -\contentsline {part}{V\hspace {1em}Summary, Project Reflection, Future Developments}{65}
   5.147 -\contentsline {chapter}{\numberline {9}Project Reflection}{66}
   5.148 -\contentsline {chapter}{\numberline {10}Related Work}{67}
   5.149 -\contentsline {section}{\numberline {10.1}Single-stepping Algebra Systems}{67}
   5.150 -\contentsline {section}{\numberline {10.2}Guiding Other Systems}{67}
   5.151 -\contentsline {chapter}{\numberline {11}Future Developments}{68}
   5.152 -\contentsline {part}{VI\hspace {1em}Appendices}{69}
   5.153 -\contentsline {chapter}{\numberline {A}An example for reference}{70}
   5.154 -\contentsline {section}{\numberline {A.1}Description, formalization and modeling phase}{70}
   5.155 -\contentsline {section}{\numberline {A.2}Knowledgebase and specification phase}{71}
   5.156 -\contentsline {paragraph}{Theories}{71}
   5.157 -\contentsline {paragraph}{Problems}{72}
   5.158 -\contentsline {paragraph}{Methods}{73}
   5.159 -\contentsline {section}{\numberline {A.3}Interaction on the worksheet and the browsers}{73}
   5.160 -\contentsline {paragraph}{In the modeling phase}{74}
   5.161 -\contentsline {paragraph}{The specification phase}{74}
   5.162 -\contentsline {section}{\numberline {A.4}The solving phase and subproblems}{75}
   5.163 -\contentsline {chapter}{\numberline {B}${\cal I}\mkern -2mu{\cal S}\mkern -5mu{\cal AC}$s tactics}{77}
   5.164 -\contentsline {chapter}{\numberline {C}List of terms used in the ${\cal I}\mkern -2mu{\cal S}\mkern -5mu{\cal AC}$-project}{79}
   5.165 +\contentsline {subsubsection}{${\cal I}\mkern -2mu{\cal S}\mkern -5mu{\cal AC}${}'s Support for Cognitivistic Learning}{41}
   5.166 +\contentsline {subsection}{\numberline {4.1.3}Constructivistic Learning}{41}
   5.167 +\contentsline {subsubsection}{Constructivistic Theory of Learning}{41}
   5.168 +\contentsline {subsubsection}{Constructivistic Teaching Strategies}{41}
   5.169 +\contentsline {subsubsection}{Advantages and Drawbacks}{42}
   5.170 +\contentsline {subsubsection}{${\cal I}\mkern -2mu{\cal S}\mkern -5mu{\cal AC}${}'s Support for Constructivistic Learning}{42}
   5.171 +\contentsline {section}{\numberline {4.2}Modelling Interaction With a Peer}{42}
   5.172 +\contentsline {section}{\numberline {4.3}Symmetric Dialog Atoms}{43}
   5.173 +\contentsline {chapter}{\numberline {5}User Interaction from a Technical Point of View}{44}
   5.174 +\contentsline {section}{\numberline {5.1}Describing a Dialog}{44}
   5.175 +\contentsline {section}{\numberline {5.2}Adapting to Individual Users}{44}
   5.176 +\contentsline {chapter}{\numberline {6}System Environment}{45}
   5.177 +\contentsline {section}{\numberline {6.1}Basic Concepts for Separable User Interfaces}{45}
   5.178 +\contentsline {subsection}{\numberline {6.1.1}The Seeheim Model}{45}
   5.179 +\contentsline {subsection}{\numberline {6.1.2}The MVC Architecture}{46}
   5.180 +\contentsline {subsection}{\numberline {6.1.3}Comparing the approaches}{46}
   5.181 +\contentsline {subsection}{\numberline {6.1.4}Implications for ${\cal I}\mkern -2mu{\cal S}\mkern -5mu{\cal AC}${}}{47}
   5.182 +\contentsline {section}{\numberline {6.2}Distributed Components in a Heterogenous Environment}{49}
   5.183 +\contentsline {subsection}{\numberline {6.2.1}Location of the Dialog Guide}{49}
   5.184 +\contentsline {subsection}{\numberline {6.2.2}Interfacing Java and SML}{49}
   5.185 +\contentsline {subsection}{\numberline {6.2.3}Choosing a Means of Communication}{49}
   5.186 +\contentsline {subsection}{\numberline {6.2.4}The Dinopolis Middleware project}{50}
   5.187 +\contentsline {section}{\numberline {6.3}The Architectural Design of the ${\cal I}\mkern -2mu{\cal S}\mkern -5mu{\cal AC}${} System}{51}
   5.188 +\contentsline {subsection}{\numberline {6.3.1}The Overall Design of ${\cal I}\mkern -2mu{\cal S}\mkern -5mu{\cal AC}${}}{52}
   5.189 +\contentsline {subsubsection}{Browsing the Knowledge Base}{52}
   5.190 +\contentsline {subsubsection}{Authoring Tools}{53}
   5.191 +\contentsline {subsubsection}{Logging into the System and Bootstrapping}{53}
   5.192 +\contentsline {subsection}{\numberline {6.3.2}The Interfaces to the Dialog Guide Component}{55}
   5.193 +\contentsline {chapter}{\numberline {7}Designing a Dialog Guide Component}{57}
   5.194 +\contentsline {section}{\numberline {7.1}Controlling the Course of Interaction}{57}
   5.195 +\contentsline {subsection}{\numberline {7.1.1}Dialog Phases}{57}
   5.196 +\contentsline {subsubsection}{Initialising}{57}
   5.197 +\contentsline {subsubsection}{Specifying}{58}
   5.198 +\contentsline {subsubsection}{Solving}{58}
   5.199 +\contentsline {paragraph}{}{58}
   5.200 +\contentsline {subsubsection}{Subproblems}{58}
   5.201 +\contentsline {subsection}{\numberline {7.1.2}Dialog Atoms}{59}
   5.202 +\contentsline {section}{\numberline {7.2}Communicating the State of Calculation}{60}
   5.203 +\contentsline {subsection}{\numberline {7.2.1}Wrapper-based Design}{60}
   5.204 +\contentsline {subsection}{\numberline {7.2.2}Event-driven Design}{60}
   5.205 +\contentsline {section}{\numberline {7.3}Configurable User-Interface}{60}
   5.206 +\contentsline {section}{\numberline {7.4}Obtaining and Storing Configuration Data}{60}
   5.207 +\contentsline {subsection}{\numberline {7.4.1}The User Settings}{60}
   5.208 +\contentsline {subsection}{\numberline {7.4.2}The User Model}{60}
   5.209 +\contentsline {subsection}{\numberline {7.4.3}Permissions and Security Issues}{60}
   5.210 +\contentsline {section}{\numberline {7.5}object world}{60}
   5.211 +\contentsline {part}{IV\hspace {1em}Implementation}{61}
   5.212 +\contentsline {chapter}{\numberline {8}Implementation Details}{62}
   5.213 +\contentsline {section}{\numberline {8.1}The Hierarchy of Mathematical Objects}{62}
   5.214 +\contentsline {section}{\numberline {8.2}The CalcHead}{62}
   5.215 +\contentsline {section}{\numberline {8.3}Separable Sub-trees for Sub-problems}{62}
   5.216 +\contentsline {section}{\numberline {8.4}Accessing the Calculation Tree}{62}
   5.217 +\contentsline {section}{\numberline {8.5}Interfaces Aiming at a Detachable Dialog Guide}{62}
   5.218 +\contentsline {section}{\numberline {8.6}The Dialog Guide Intercepting the Flow of Interaction}{62}
   5.219 +\contentsline {section}{\numberline {8.7}Controlling the Presentation}{62}
   5.220 +\contentsline {section}{\numberline {8.8}Interfaces of the Dialog Guide}{62}
   5.221 +\contentsline {part}{V\hspace {1em}Summary, Project Reflection, Future Developments}{63}
   5.222 +\contentsline {chapter}{\numberline {9}Project Reflection}{64}
   5.223 +\contentsline {chapter}{\numberline {10}Related Work}{65}
   5.224 +\contentsline {section}{\numberline {10.1}Single-stepping Algebra Systems}{65}
   5.225 +\contentsline {section}{\numberline {10.2}Guiding Other Systems}{65}
   5.226 +\contentsline {chapter}{\numberline {11}Future Developments}{66}
   5.227 +\contentsline {part}{VI\hspace {1em}Appendices}{67}
   5.228 +\contentsline {chapter}{\numberline {A}An example for reference}{68}
   5.229 +\contentsline {section}{\numberline {A.1}Description, formalization and modeling phase}{68}
   5.230 +\contentsline {section}{\numberline {A.2}Knowledgebase and specification phase}{69}
   5.231 +\contentsline {paragraph}{Theories}{69}
   5.232 +\contentsline {paragraph}{Problems}{70}
   5.233 +\contentsline {paragraph}{Methods}{71}
   5.234 +\contentsline {section}{\numberline {A.3}Interaction on the worksheet and the browsers}{71}
   5.235 +\contentsline {paragraph}{In the modeling phase}{72}
   5.236 +\contentsline {paragraph}{The specification phase}{72}
   5.237 +\contentsline {section}{\numberline {A.4}The solving phase and subproblems}{73}
   5.238 +\contentsline {chapter}{\numberline {B}${\cal I}\mkern -2mu{\cal S}\mkern -5mu{\cal AC}$s tactics}{75}
   5.239 +\contentsline {chapter}{\numberline {C}List of terms used in the ${\cal I}\mkern -2mu{\cal S}\mkern -5mu{\cal AC}$-project}{77}
     6.1 --- a/doc/krempler/urd-ak.aux	Sat Mar 05 20:53:47 2005 +0100
     6.2 +++ b/doc/krempler/urd-ak.aux	Wed Mar 09 05:53:06 2005 +0100
     6.3 @@ -65,29 +65,24 @@
     6.4  \newlabel{AK:UR:DIALOG:PROFILE}{{3.2}{33}}
     6.5  \newlabel{AK:UR:DIALOG:PROFILE:examples}{{3.2.1}{33}}
     6.6  \newlabel{AK:UR:DIALOG:PROFILE:knowledge}{{3.2.2}{33}}
     6.7 -\citation{wn:diss}
     6.8  \newlabel{AK:UR:DIALOG:PROFILE:success}{{3.2.3}{34}}
     6.9  \newlabel{AK:UR:DIALOG:PROFILE:speed}{{3.2.4}{34}}
    6.10  \newlabel{AK:UR:DIALOG:PROFILE:activity}{{3.2.5}{34}}
    6.11  \@writefile{toc}{\contentsline {section}{\numberline {3.3}Flexible Dialog Behaviour}{34}}
    6.12  \newlabel{AK:UR:DIALOG:FLEX}{{3.3}{34}}
    6.13  \newlabel{AK:UR:DIALOG:FLEX:atomic}{{3.3.1}{34}}
    6.14 -\newlabel{putres}{{1}{34}}
    6.15 -\newlabel{fillres}{{2}{34}}
    6.16 -\newlabel{puttac}{{3}{34}}
    6.17 -\newlabel{filltac}{{5}{34}}
    6.18 -\newlabel{AK:UR:DIALOG:FLEX:configure}{{3.3.2}{35}}
    6.19 -\newlabel{AK:UR:DIALOG:FLEX:adapt_behaviour}{{3.3.3}{35}}
    6.20 -\newlabel{AK:UR:DIALOG:FLEX:adapt_info}{{3.3.4}{35}}
    6.21 +\newlabel{AK:UR:DIALOG:FLEX:configure}{{3.3.2}{34}}
    6.22 +\newlabel{AK:UR:DIALOG:FLEX:adapt_behaviour}{{3.3.3}{34}}
    6.23 +\newlabel{AK:UR:DIALOG:FLEX:adapt_info}{{3.3.4}{34}}
    6.24  \@writefile{toc}{\contentsline {section}{\numberline {3.4}Adaptation to Individual Users}{35}}
    6.25  \newlabel{AK:UR:DIALOG:ADAPT}{{3.4}{35}}
    6.26  \newlabel{AK:UR:DIALOG:ADAPT:activity}{{3.4.1}{35}}
    6.27  \newlabel{AK:UR:DIALOG:ADAPT:preset}{{3.4.2}{35}}
    6.28 -\newlabel{AK:UR:DIALOG:ADAPT:perform}{{3.4.3}{36}}
    6.29 -\newlabel{AK:UR:DIALOG:ADAPT:knowledge}{{3.4.4}{36}}
    6.30 -\newlabel{AK:UR:DIALOG:ADAPT:history}{{3.4.5}{36}}
    6.31 -\newlabel{AK:UR:DIALOG:ADAPT:stepwidth}{{3.4.6}{36}}
    6.32 -\newlabel{AK:UR:DIALOG:ADAPT:override}{{3.4.7}{36}}
    6.33 +\newlabel{AK:UR:DIALOG:ADAPT:perform}{{3.4.3}{35}}
    6.34 +\newlabel{AK:UR:DIALOG:ADAPT:knowledge}{{3.4.4}{35}}
    6.35 +\newlabel{AK:UR:DIALOG:ADAPT:history}{{3.4.5}{35}}
    6.36 +\newlabel{AK:UR:DIALOG:ADAPT:stepwidth}{{3.4.6}{35}}
    6.37 +\newlabel{AK:UR:DIALOG:ADAPT:override}{{3.4.7}{35}}
    6.38  \@writefile{toc}{\contentsline {section}{\numberline {3.5}Restrictions}{36}}
    6.39  \newlabel{AK:UR:DIALOG:RESTRICT}{{3.5}{36}}
    6.40  \newlabel{AK:UR:DIALOG:RESTRICT:individual}{{3.5.1}{36}}
    6.41 @@ -96,12 +91,12 @@
    6.42  \newlabel{AK:UR:DIALOG:RESTRICT:guidance}{{3.5.4}{36}}
    6.43  \newlabel{AK:UR:DIALOG:RESTRICT:patterns}{{3.5.5}{36}}
    6.44  \newlabel{AK:UR:DIALOG:RESTRICT:override}{{3.5.6}{36}}
    6.45 -\newlabel{AK:UR:DIALOG:RESTRICT:time}{{3.5.7}{37}}
    6.46 -\newlabel{AK:UR:DIALOG:RESTRICT:goal}{{3.5.8}{37}}
    6.47 +\newlabel{AK:UR:DIALOG:RESTRICT:time}{{3.5.7}{36}}
    6.48 +\newlabel{AK:UR:DIALOG:RESTRICT:goal}{{3.5.8}{36}}
    6.49  \@setckpt{urd-ak}{
    6.50 -\setcounter{page}{38}
    6.51 +\setcounter{page}{37}
    6.52  \setcounter{equation}{0}
    6.53 -\setcounter{enumi}{9}
    6.54 +\setcounter{enumi}{0}
    6.55  \setcounter{enumii}{0}
    6.56  \setcounter{enumiii}{0}
    6.57  \setcounter{enumiv}{0}
     7.1 --- a/doc/krempler/urd-ak.tex	Sat Mar 05 20:53:47 2005 +0100
     7.2 +++ b/doc/krempler/urd-ak.tex	Wed Mar 09 05:53:06 2005 +0100
     7.3 @@ -156,7 +156,7 @@
     7.4  A calculation started this way can be supported by \isac{} proposing tactics or doing the whole calculation automatically.
     7.5  
     7.6  \UR{An empty worksheet can be opened without specifying a problem-type.}{DIALOG:empty} 
     7.7 -in this case, \isac{}'s support is limited as described in \refUR{DIALOG:EXAMPLE:unknown}.
     7.8 +In this case, \isac{}'s support is limited as described in \refUR{DIALOG:EXAMPLE:unknown}.
     7.9  %WN040506 Bitte abschwächen analog zu UR 2.0.7 !
    7.10  %AK040509 hilfe, ich brauch eine kurze zusammenfassung der situation:
    7.11  % 1. was muss mindestens gegeben sein, damit isac überhaupt etwas machen kann??? im ursprünglichen text (steht gleich drunter) ist keine rede davon, dass THEORY benötigt wird - "In this case the input of items in the 'given'-field is sufficient;"
    7.12 @@ -288,23 +288,10 @@
    7.13  %AK040509 ist auch noch der text aus der alten doku. wird wie vorgeschlagen geschehen, sobald die zielkapitel form annehmen
    7.14  
    7.15  \UR{\isac{}'s Dialog behaviour is constructed from Dialog Atoms}{DIALOG:FLEX:atomic}
    7.16 -We hope that it is possible to develop a language which allows to define dialog patterns as combinations of dialog atoms already implemented and dialog modes sequencing these atoms. By means of such a language learning strategies could be described, and this description could be interpreted in reaction to a dynamic dialog state and according to an knowledge profile.
    7.17 +We hope that it is possible to develop a language which allows to define dialog patterns as combinations of Dialog Atoms already implemented and Dialog Strategies sequencing these atoms. By means of such a language learning strategies could be described, and this description could be interpreted in reaction to a dynamic dialog state and according to an knowledge profile.
    7.18  
    7.19 -To do such 'dialog programming' is considered a comprehensive task, which in general exceeds the knowledge of a course designer or a course admin. On the other hand, a course admin can be expected to associate courses with dialog profiles, and a course designer can be expected to select dialog modes within process of time in a course.
    7.20 +To do such 'dialog programming' is considered a comprehensive task, which in general exceeds the knowledge of a course designer or a course admin. On the other hand, a course admin can be expected to associate courses with dialog profiles, and a course designer can be expected to select Dialog Strategies within process of time in a course.
    7.21  
    7.22 -%WN040506 Hhhmmmm, as Folgende brauchst Du für das nachfolgende UR --- kann man das nicht irgendwo ganz am Anfang einführen ????
    7.23 -The dialog atoms are the following, ordered by descending 'activity' of the learner \cite{wn:diss}: All atoms concern a step from the current formula \currf applying a tactic \tac which yields the resulting formula \res(the derivation of \currf), i.e. $f\longrightarrow^{\it tac}\;f^\prime$.
    7.24 -\begin{enumerate}
    7.25 -\item \label{putres} given \currf, input the next formula \res 
    7.26 -\item \label{fillres} given a partial \currf (supplied by \sisac), complete \currf such that it is a derivation of \currf
    7.27 -\item \label{puttac}given \currf, input a tactic \tac to be applied to \currf
    7.28 -\item given \currf, select \tac from a list (supplied by \sisac) to be applied to \currf
    7.29 -\item \label{filltac} given \currf and a partial \tac, complete the \tac (i.e. a theorem, a substitution, etc.) such that it can be applied to \currf
    7.30 -\item given \currf, \tac, and a partial \res, complete \res such that it is the result of applying \tac to \currf
    7.31 -\item given \currf and \res, input \tac such that \res is the result of \currf applying \tac
    7.32 -\item given \currf and \res, select \tac from a list (supplied by \sisac) such that \res is the result of \currf applying \tac
    7.33 -\item given \currf, \res and a partial \tac, complete \tac such that \res is the result of \currf applying \tac
    7.34 -\end{enumerate}
    7.35  
    7.36  % \UR{Dialog atoms according to the list above.}{dialog-atoms}
    7.37  % The 'activity' requested from the learner for doing such a dialog atom can be   varied by the appropriateness of the lists of tactics supplied by \sisac{} and  the structure of the formula to be completed. The appearance of the dialog  atoms is very different depending on the phase, modeling or solving.
    7.38 @@ -333,7 +320,7 @@
    7.39  
    7.40  \UR{The dialog regards the performance of the user.}{DIALOG:ADAPT:perform} 
    7.41  The performance is measured by response times, errors, difficulty of examples done, 
    7.42 -requests into the knowledge base and active-passive behaviour. 
    7.43 +requests into the Knowledge Base and Dialog Activity. 
    7.44  %WN040506                            ^^^^^^^^^^^^^^ EXOR activity ??
    7.45  %AK040509 ist mir beim ausputzen durch die lappen gegeangen. was wäre eine gute definition von "activity"?
    7.46  %WN040510 in meiner Diss hab' ich jedem Dialogatom eine 'activity-Maßzah' zugewiesen !?