doc/urd-content.tex
author Walther Neuper <walther.neuper@jku.at>
Fri, 26 Mar 2021 10:45:05 +0100
changeset 5239 b4e3883d7b66
parent 4689 bed641db2bbe
permissions -rw-r--r--
reset mathematics-engine to Isabelle2015

note: for this version libisabelle was available,
which connects front-end (Java) and back-end (Isabelle/ML)
agriesma@308
     1
%nicht vergessen: auch urd.tex (wegen $Revision $) \"andern !
akremp@767
     2
\part{User Requirements Document}
agriesma@308
     3
nsimic@3711
     4
This document describes the user requirements for the \sisac-system.
agriesma@308
     5
wneuper@1693
     6
By now the document captures at least those requirements in detail, which are a prerequisite for the {\em first phase of development, i.e. the development of the kernel of the math knowledgebase, of the indispensible tools for interaction on the knowledge, and of the tools for authoring the example collection.}
agriesma@308
     7
nsimic@3711
     8
The design will try to meet these requirements while accepting the structure of the \sisac-math-engine, which is defined by mathematical reasons, and offers new functionality (calculations are done stepwise, the learner can input a formula or a tactic and receive feedback from the engine, the math-engine usually 'knows' the next step).
agriesma@308
     9
agriesma@308
    10
%As new and different the functionality of the envisaged system is, as limited is the functionality w.r.t the expectiations a user can demand from (educational) math software at the state of the art. Thus from the beginning \sisac{} is seen as part of a collection of cooperating modules, and some requirements are stated here with the purpose, to provide for an architecture ready for combining \sisac{} with other components (administration, graphing etc.), and not with the purpose, to implement everything within \sisac{}.
agriesma@308
    11
agriesma@308
    12
The User Requirements Document is structured along the different kinds of users envisaged. The Software Requirements Document, on the other hand, will be structured along the modules implementing the functionality. In order to establish comfortable tracing, the $m:n$ relation between user requirements and software requirements will be accurrately recorded in a double-linked way.
agriesma@308
    13
agriesma@308
    14
Terms marked by \see{} are briefly described in appendix \ref{app.terms}.
wneuper@4689
    15
\\
wneuper@4689
    16
\vspace{4.0cm}
wneuper@4689
    17
\\
wneuper@4689
    18
Get this part from\\
wneuper@4689
    19
\url{http://www.ist.tugraz.at/projects/isac/publ/urd.pdf}
agriesma@308
    20
wneuper@1693
    21
\chapter{Kinds of \isac{} users}\label{kinds-users}
wneuper@1693
    22
There are several kinds of \sisac{} users which set the respective sections of requirements:
agriesma@308
    23
%the following should be consistent with Terms.sml !!!
agriesma@308
    24
\begin{description}
nsimic@3711
    25
\item{\bf  visitor (Besucher):} occasionally drops into an
nsimic@3711
    26
\sisac-site and browses the respective math knowledge base and the
neuper@4108
    27
example collection. May try to calculate some examples.
neuper@4108
    28
Or some scientific content provider (wiki, scientific branding in an
neuper@4108
    29
institution or an enterprise) includes occasional \sisac-services, in
neuper@4108
    30
particular the possibility to interactively explore some specific
neuper@4108
    31
calculations.
neuper@4108
    32
neuper@4108
    33
\item{\bf
nsimic@3711
    34
learner (Lernender):} uses \sisac{} for learning and exercising,
nsimic@3711
    35
i.e. primarily calculates examples in the example collection by
nsimic@3711
    36
use of the math knowledge base. As a member of courses the learner
nsimic@3711
    37
is called a student. \item{\bf  math author (Mathematik-Autor):}
nsimic@3711
    38
is an expert in computer mathematics who adapts and extends the
nsimic@3711
    39
mathematics knowledge base. \item{\bf  dialog author
nsimic@3711
    40
(Dialog-Autor):} is an expert in learning theory who adapts and
neuper@4108
    41
extends the dialog guide.
neuper@4108
    42
neuper@4108
    43
\item{\bf course
nsimic@3711
    44
designer (Kurs-Designer):} adapts and extends the example
nsimic@3711
    45
collection which can be solved by a given math knowledge base, and
nsimic@3711
    46
adds explanations to items in the knowledge base. These tasks do
neuper@4108
    47
not require special knowledge in computer mathematics. 
neuper@4108
    48
neuper@4108
    49
\item{\bf course admin (Kurs-Administrator):} is a person
neuper@4108
    50
administering the use of \sisac{} for learning within a group of
neuper@4108
    51
learners. This person is also regarded as a legal representative of
neuper@4108
    52
the institution consuming {\sisac} services.
neuper@4108
    53
neuper@4108
    54
\item{\bf administrator (Administrator):} this r\'ole combines the
neuper@4108
    55
system administrator installing the software, and the person who
neuper@4108
    56
implements the overall design of an \sisac-site (introductory pages
neuper@4108
    57
etc.). This person is also regarded as a legal representative of the
neuper@4108
    58
institution hosting {\sisac} services.
neuper@4108
    59
agriesma@308
    60
\end{description}
agriesma@308
    61
%the above should be consistent with Terms.sml !!!
agriesma@308
    62
These kinds of users are distinguished by the respective access-rights.
agriesma@308
    63
neuper@4108
    64
\begin{table}[h]
neuper@4108
    65
\caption{Survey on the roles of {\sisac} users}\label{TODO}
neuper@4108
    66
\begin{center}
neuper@4108
    67
\begin{tabular}{l l l l l}
neuper@4108
    68
task        & math author   & dialog author   & course designer & course admin\\
neuper@4108
    69
\hline                      
neuper@4108
    70
determine   & by theories   & by impl. of     & by impl.        & by setting \\
neuper@4108
    71
interaction & problems      & dialog patterns & of examples,    & content  \\
neuper@4108
    72
in an expl. & methods       &                 & of explanations & delivery,  \\
neuper@4108
    73
            &               &                 & to knowl.items  & assessments \\
neuper@4108
    74
%in short:   & calculate what& \dots how \dots & in context \dots& when \\
neuper@4108
    75
\hline
neuper@4108
    76
\end{tabular}
neuper@4108
    77
\end{center}
neuper@4108
    78
\end{table}
neuper@4108
    79
akremp@767
    80
\chapter{General requirements}
wneuper@1693
    81
This section describes the requirements common to all users.
agriesma@308
    82
wneuper@1693
    83
%AKp5-6(1)--------------------vvv
wneuper@2334
    84
\section{Users of \isac{}}\label{COMMON:USERS}
agriesma@308
    85
wneuper@1693
    86
{\bf\UR{\isac{} is a multi-user system.\label{COMMON:USERS:multi}}}
wneuper@1693
    87
wneuper@1693
    88
{\bf\UR{The users access \sisac{} via internet.}\label{COMMON:USERS:www}\\}
nsimic@3711
    89
The computing resources needed to run such a complex application exceed the computing-resources presently available to the average user.
wneuper@1693
    90
Moreover, organisation of centralised courses and curricula suggests separation of application and user-interface.  An additional requirement is to keep expenses and effort for the average user at a minimum, in terms of computing power needed and installation effort. (Ideally, a standard web browser would suffice, but interaction required for the worksheet cannot be managed by a browser yet.)
wneuper@1693
    91
wneuper@2365
    92
{\bf\UR{\sisac{}'s data storage supports simultaneous access\label{COMMON:USERS:access}}\\}
nsimic@3711
    93
Data storage has to support locking and versioning.
wneuper@1693
    94
wneuper@1693
    95
% TODO?
wneuper@1693
    96
% UR no data on user's machine for mobility
wneuper@1693
    97
wneuper@2365
    98
{\bf\UR{Users access \sisac{} with different roles}\label{COMMON:USERS:roles}\\}
wneuper@2365
    99
Several possible roles when accessing \sisac{} dictate different rights
wneuper@2365
   100
and access to different modules of \sisac{} see p.\pageref{kinds-users}.
wneuper@1693
   101
wneuper@1693
   102
{\bf\UR{Learners can be grouped into courses.}\label{COMMON:USERS:groups}\\}
wneuper@2365
   103
There are groups of learners in order to support the adminstration of courses. The membership w.r.t. these groups determines the selections of examples in the example collecton (see UR.\ref{profile-details}), the selection of explanations in the knowledge (see UR.\ref{author-explanation})) and the initial setting of the dialog as captured in UR.\ref{detail} and UR.\ref{stepwidth}.
wneuper@1693
   104
wneuper@1693
   105
{\bf\UR{One learner may be member in different groups}\label{COMMON:USERS:membership}\\}
wneuper@1693
   106
One learner may be member in different groups but the settings for a session depend on exactly one group. This implies that multiple memberships have to be resolved at login time.
wneuper@1693
   107
%AKp5-6(1)--------------------^^^
wneuper@1693
   108
wneuper@1693
   109
%AKp6-8(2+3)--------------------vvv
wneuper@2334
   110
\section{Calculations and Data Involved}\label{COMMON:CALCDATA}
wneuper@1693
   111
nsimic@3711
   112
{\bf\UR{\sisac{}'s math engine is given as an already-implemented
nsimic@3711
   113
module.}\label{COMMON:CALCDATA:mathengine}\\} \sisac s mathematics
nsimic@3711
   114
engine(ME) is already given. Thus several requirements, looking
nsimic@3711
   115
like software requirements, are listed here. A calculation (see
nsimic@3711
   116
terms in the \sisac-project \cite{isac:appendices}) undergoes
nsimic@3711
   117
three phases: the modelling phase, the specification phase and the
nsimic@3711
   118
solving phase, where the latter may contain these phases
nsimic@3711
   119
recursively (see the demonstration example in the usecases
nsimic@3711
   120
document \cite{isac:use}).
agriesma@308
   121
nsimic@3711
   122
Calculations are created interactively in steps. A step is
nsimic@3711
   123
initiated by the input of a learner: input of a tactic, of a
nsimic@3711
   124
formula or of a 'go-on' command. A tactic is applied to a formula
nsimic@3711
   125
and generates another (the derived) formula. The tactics specified
nsimic@3711
   126
so far are listed in appendix \ref{appendix-tacs} An input formula
nsimic@3711
   127
during modelling phase completes a model, and during the solving
nsimic@3711
   128
phase an input formula is considered a derivation of the previous
nsimic@3711
   129
formula.
wneuper@1693
   130
wneuper@2365
   131
{\bf\UR{\sisac{} stores 4 kinds of Mathematical Knowledge}\label{COMMON:CALCDATA:knowledge}}
wneuper@1693
   132
\begin{description}
nsimic@3711
   133
\item{Theories}
wneuper@1693
   134
\item{Problems}
wneuper@1693
   135
\item{Methods}
wneuper@1693
   136
\item{Examples}
wneuper@1693
   137
\end{description}
wneuper@1766
   138
See \cite{wn:diss} for a detailed explanation.
wneuper@1693
   139
%WN040506 ... dazu hat Mario schon kurze Beschreibungen
wneuper@1693
   140
nsimic@3711
   141
{\bf\UR{A Calculation undergoes 2
nsimic@3711
   142
Phases}\label{COMMON:CALCDATA:phases}\\} A calculation undergoes
nsimic@3711
   143
two phases: the Specification Phase and the Solving Phase, where
nsimic@3711
   144
the latter may contain these phases recursively (see the
nsimic@3711
   145
demonstration example in appendix \ref{use-expl}).
wneuper@2365
   146
nsimic@3711
   147
{\bf\UR{Specifying constructs a Model and a Specification.}\label{UR:WN-model-spec}\\}
wneuper@2365
   148
See UR.\ref{UR:WN-mode-item-status} and UR.\ref{UR:WN-specification}.
wneuper@2365
   149
nsimic@3711
   150
{\bf\UR{A Model consists of fields and
nsimic@3711
   151
items}\label{UR:WN-mode-item-status}\\} A Model consists of the
nsimic@3711
   152
fields 'given' containing the input-items, 'where' containing the
nsimic@3711
   153
pre-condition on the input-items, 'find' containing the
nsimic@3711
   154
output-items and 'relate' containing parts of the post-condition.
wneuper@2365
   155
wneuper@2365
   156
{\bf\UR{A Specification consists of theory, Problem, Method}\label{UR:WN-specification}\\}
wneuper@2365
   157
Theory, Problem and Method provide for 3 pointers into the knowledge base (see Fig.\ref{3D-math} on p.\pageref{3D-math}) referencing the knowledge required to solve the example specified by a model.
wneuper@2365
   158
wneuper@2365
   159
{\bf\UR{Solutions are calculated interactively in steps.}\label{COMMON:CALCDATA:stepwise}\\} Stepwise calculation is done in the Solving Phase. A step is initiated by the input of a learner: input of a tactic, of a formula or of a request that \sisac{} take over the calculation. A tactic is applied to a formula and generates another (the derived) formula.
wneuper@1693
   160
wneuper@1693
   161
{\bf\UR{In the Solving Phase, every formula is justified by a tactic.}\label{COMMON:CALCDATA:tactic}}
wneuper@1693
   162
wneuper@2365
   163
{\bf\UR{\sisac{} uses tactics as listed in appendix \ref{appendix-tacs}}\label{COMMON:CALCDATA:tactic-list}}
wneuper@1693
   164
wneuper@1693
   165
{\bf\UR{A calculation has a tree-like structure}\label{COMMON:CALCDATA:calc-tree}}
wneuper@1693
   166
wneuper@2334
   167
{\bf\UR{A Tactic may contain Error Schemes}\label{COMMON:CALCDATA:error-scheme}}
wneuper@4689
   168
% Error scheme kann h�ngen an: example, method, theory (solving)
wneuper@4689
   169
% Error scheme kann h�ngen an: example, problem, theory (specifying)
wneuper@2323
   170
%WN040506 ... specific for courses (i.e. groups of students)
wneuper@2323
   171
wneuper@2334
   172
{\bf\UR{There are fill-in patterns for Tactics.}\label{COMMON:CALCDATA:FILL-IN:tactic}}
wneuper@2365
   173
In addition to a Tactic being applied manually by the user or automatically by \sisac{}, a Tactic can be presented with parts left blank to be filled in by the user.
wneuper@2323
   174
wneuper@2334
   175
{\bf\UR{There are fill-in patterns for items of the Model.}\label{COMMON:CALCDATA:FILL-IN:model}}
wneuper@2323
   176
wneuper@2365
   177
{\bf\UR{\sisac{} guarantees correct results.}\label{COMMON:CALCDATA:correct}\\}
wneuper@2365
   178
\sisac{}'s display of a Calculation reflects the state of the Math Engine. The Math Engine does not produce any inconsistent state of calculation.
nsimic@3711
   179
Thus everything displayed by \sisac{} (apart from lines being edited by the user right now) is proven to be consistent with the Specification and the Knowledge Base.
wneuper@1693
   180
User input will be accepted only if it can be proven to be correct by a check with the underlying Math Engine.
wneuper@1693
   181
agriesma@308
   182
{\bf\UR The the mode of the ME \label{me-mode}} is {\em one} of the following:
agriesma@308
   183
\begin{tabbing}
agriesma@308
   184
12345\=12345\=\kill
agriesma@308
   185
\>step is applicable, result guaranteed\\
nsimic@3711
   186
\>step is applicable, result is not guaranteed\\
agriesma@308
   187
\>\>(because the learner has input some strange step previously)\\
agriesma@308
   188
\>the ME is helpless, i.e. it cannot propose a next step\\
agriesma@308
   189
\>the step is not applicable, plus an error message, why not applicable.
agriesma@308
   190
\end{tabbing}
agriesma@308
   191
wneuper@2323
   192
{\bf\UR Consistent ``look \& feel'' for all users. \label{ur:look-feel}\\}
wneuper@2323
   193
As long as the deductive part is left to Isabelle, the same is with the theory browser. \sisac{} will develop the ``look \& feel'' of its own, and thus violate uniformity w.r.t. the theory browser.
wneuper@2323
   194
wneuper@2323
   195
wneuper@2323
   196
wneuper@2334
   197
\section{Miscellaneous}\label{COMMON:MISC}
agriesma@308
   198
wneuper@2365
   199
{\bf\UR{\sisac{} supports internationalization.}\label{COMMON:MISC:i18n}\\}
wneuper@1693
   200
The mother language should be used by the student. The language of math formulas is independent from other languages. Thus the names used in the knowledge base can simply be changed for each language (scriptures with different structure like Japanese will not be considered here). But there are other texts delivered by the system, like error messages, or the fields 'given,...' in a model; these should be implemented multilinqual.
wneuper@1693
   201
wneuper@2365
   202
{\bf\UR{\sisac{} supports cross-linking calculations and knowledge}\label{COMMON:MISC:xlink-know}\\}
wneuper@1693
   203
Calculations may contain links into the Knowledge Base, e.g. to the definitions or proofs of tactics applied in the course of calculation or into underlying theories.
wneuper@1693
   204
The Knowledge Base may contain links to examples illustrating theoretical concepts.
wneuper@2365
   205
More specific requirements are in sect.\ref{kb-context-views}.
wneuper@1693
   206
wneuper@2365
   207
{\bf\UR{\sisac{} is open to data exchange with other tools.}\label{COMMON:MISC:xml}\\}
wneuper@2365
   208
To facilitate interfacing with other tools, \sisac{}'s objects support being exported to and imported from open data formats. XML formats are preferred.
wneuper@4689
   209
%WN040506 w�rde sagen:                      These formats will be XML-derivatives, priarily.
wneuper@1693
   210
wneuper@1693
   211
{\bf\UR{Several users can watch the progress of one calculation.}\label{COMMON:MISC:watch}\\}
wneuper@1693
   212
Several users may watch the progress of a calculation, but there is exactly one user controlling the calculation and taking actions. This can be useful for instruction situations, especially teleteaching.
wneuper@1693
   213
wneuper@2365
   214
{\bf\UR{ A calculation can be edited with other tools}\label{COMMON:MISC:edit}\label{edit}}
wneuper@2365
   215
Editing in \sisac{} is limited by UR.\ref{COMMON:CALCDATA:correct}. For publishing purposes, \sisac{}'s calculations can be exported for editing with standard publishing tools.
wneuper@2365
   216
wneuper@2365
   217
wneuper@2365
   218
\subparagraph{Guarantee of correct results} is given by \sisac s calc-state in the ME. This guarantee can only be given, when each editing on the worksheet is mirrored in the calc-tree (eventually cutting certain branches, if an intermediate step is redone). Sometimes the learner might want to edit a calulation (shorten the calculation by cutting intermediate steps, etc.) without affecting the calc-tree any more.
wneuper@2365
   219
{\bf\UR \sisac{} guarantees correct results.\label{COMMON:CALCDATA:correct}}
wneuper@2365
   220
In this case the worksheet reflects the calc-state, which shall be indicated on the screen and on the printout; in the latter case this indication should be certificate which cannot be manipulated.
wneuper@2365
   221
wneuper@2323
   222
wneuper@1693
   223
agriesma@308
   224
wneuper@2334
   225
\chapter{Requirements of the visitor}\label{UR:visitor}
agriesma@308
   226
Each user approaching an \sisac-site first time wants to know about the purpose of \sisac{} and about the contents of the site.
wneuper@1693
   227
\section{Browsers: overview -- detail:}
nsimic@3711
   228
The contents of the knowledgebase and of the example collection
nsimic@3711
   229
are expected to become very large. Thus there need to be
nsimic@3711
   230
facilities to switch from an overview to a detail and vice versa.
nsimic@3711
   231
These facilities should be handled similarly for all the browsers.
nsimic@3711
   232
Primarily, there is no direct interaction between the visitor and
nsimic@3711
   233
the ME. Information for the visitor should be provided in statical
nsimic@3711
   234
HTML-Pages.
agriesma@308
   235
agriesma@308
   236
Visitors should get an overview over {\em all} the knowledge available at an \sisac-site, and {\em all} the explanations, and {\em all} the examples.
agriesma@308
   237
%The HTML-pages should provide a learning environment for its Visitors. ...WN:nein!
agriesma@308
   238
Therefore, access to additional information should be gained
agriesma@308
   239
if available. %This additional information include mathematical details
agriesma@308
   240
%like methods to solve a problem (which requires to call the ME, however), as well as \sisac\/-internal information like a description of used \emph{items}.
agriesma@308
   241
agriesma@308
   242
{\bf\UR There are 4 kinds of data to be browsed: theories, problems, methods, examples. \label{ur:4-data}}
agriesma@308
   243
{\bf\UR All 4 kinds of data need a table of contents of variable detail. \label{ur:hierarchy-frame}}
wneuper@1693
   244
{\bf\UR Browse through statical HTML-Pages \label{ur:browse-static}}
wneuper@1693
   245
 without e.g. matching a model with a problem.
agriesma@308
   246
wneuper@1693
   247
\section{Do some examples:}
agriesma@308
   248
Visitors should get an overview over {\em all} the features available at an \sisac-site, and the most exciting feature is stepwise interactive calculating and reasoning guided by the system. This should be demonstrated by some examples, which also the visitor can execute.
wneuper@1693
   249
%{\bf\UR Call of a worksheet from a link in the knowledge} for instance demonstrating an example for a definition, a problem, etc.
wneuper@1693
   250
%{\bf\UR Execute some selected examples in the example collection. \label{visit-calc}}
agriesma@308
   251
wneuper@2365
   252
However, the possibility for any visitor to start an interactive calculation, i.e. a Worksheet from a browser would have resulted in a too complicated and unstable system. A respective architecture see \cite{AG:thesis}. Now a visitor has to choices:
agriesma@308
   253
wneuper@2365
   254
{\bf\UR A visitor can view a calculation. \label{}\\}
wneuper@2365
   255
These calculations are displayed a a whole, with the possibility of folding and unfolding the hierarchical structure. There is no possibility of interactive stepwise construction of the calculation as described in sect.\ref{WN-requirements-learner}.
agriesma@308
   256
nsimic@3711
   257
{\bf\UR A visitor can download and run an interactive Worksheet.
nsimic@3711
   258
\label{}} After downloading the launched front-end (containing the
nsimic@3711
   259
Worksheet) there is a possibility to connect to a server running
nsimic@3711
   260
the \sisac{} back-end performing the calculation and user
nsimic@3711
   261
guidance.
wneuper@2365
   262
wneuper@2365
   263
wneuper@2365
   264
wneuper@2365
   265
wneuper@2365
   266
\chapter{Requirements of the learner}\label{WN-requirements-learner}
wneuper@1693
   267
wneuper@2329
   268
%WN050519---AK04:thesis.p.36-38->isac-URD-----------BEGIN:dont delete this line
wneuper@2329
   269
\footnote{Begin of copy from \cite{AK04:thesis} p.36-38}
wneuper@2329
   270
\section{Start a calculation}
wneuper@2365
   271
There are two different ways for users to approach \sisac s facilities for learning: (a) the user may browse the knowledge base, and eventually calculate an example (illustrating a definition, a problem, etc.) and (b) the user calculates examples from the example collection, and while asking for justifications of steps in the calculation enters knowledge browsers.
wneuper@1693
   272
nsimic@3711
   273
{\bf\UR{A calculation can be started for a pre-defined example from an example collection}\label{DIALOG:EXAMPLE:collection}}
wneuper@2323
   274
nsimic@3711
   275
{\bf\UR{A calculation can be started for a pre-defined example from the Knowledge Base}\label{DIALOG:EXAMPLE:knowledge}}
wneuper@2323
   276
This is to illustrate knowledge from the Knowledge Base by typical examples stored with the knowledge.
wneuper@2323
   277
wneuper@2365
   278
{\bf\UR{A calculation can be started from scratch.}\label{DIALOG:empty}}
wneuper@2365
   279
In this case, the calculation must start with specifying, and \sisac{}'s support is limited as described in UR.\ref{DIALOG:EXAMPLE:unknown}.
wneuper@4689
   280
%WN040506 Bitte abschw�chen analog zu UR 2.0.7 !
wneuper@2323
   281
%AK040509 hilfe, ich brauch eine kurze zusammenfassung der situation:
wneuper@4689
   282
% 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;"
wneuper@4689
   283
% 2. was ist mit diesem minimalen input m�glich?
wneuper@4689
   284
% 3. was kann isac zus�tzlich, wenn welche felder bekannt sind?
nsimic@3711
   285
%WN040510: (calchead = model + specification;
nsimic@3711
   286
%           specification = theory, problem, method
nsimic@3711
   287
%# einige items im model:
wneuper@2323
   288
%  (1)isac checkt die Anwendbarkeit von Taktiken (Rewrite associative geht nur,
wneuper@2323
   289
%     wenn Klammern im Term sind)
wneuper@2323
   290
%# problem + items in model match problem:
wneuper@4689
   291
%  (1.5) +theory: ableitung einer formel �berpr�fen
wneuper@2323
   292
%  (1)wie oben
wneuper@2323
   293
% +(2)check correctness of result (using the post-condition -- 'Zukunftsmusik')
wneuper@2323
   294
%# problem + items in model match problem + method
wneuper@2323
   295
%  (1)+(2) wie oben
wneuper@2323
   296
% +(3)propose next step
wneuper@2323
   297
%
wneuper@4689
   298
%zur Rolle der Theory brauche wir noch Erfahrung: bei der Differentialrechnung bewegt sich die Mittelschulmathematik _nur_ in den reellen Zahlen (es ist daher nur verwirrend, hier die theory spezifizieren zu lassen) -- aber beim Gleichungsl�sen gibt es entscheidende Unterschiede, ob man �ber der Menge der ganzen, der reellen oder der komplexen Zahlen (dh. verschiedenen theories) l�st ...
wneuper@2365
   299
{\bf\UR{A calculation can start with specifying or solving.}\label{UR:WN-startcalc-specORsolve}} In order to emphasize exercising specifying {\em or} solving, which are very different tasks.
wneuper@2365
   300
wneuper@2365
   301
{\bf\UR{A calculation can be done like in an algebra system}\label{UR:WN-algebra-system}} by simple input of a function call like {\tt solve}, {\tt simplify}, {\tt integrate} or the like. In this case the specifying phase is skipped.
wneuper@2323
   302
wneuper@2334
   303
\section{User Guidance}\label{DIALOG:GUIDE}
wneuper@2365
   304
{\bf\UR{\sisac{} provides User Guidance if the problem to be solved has been specified.}\label{DIALOG:user-guide}}
nsimic@3711
   305
A problem known to the system implies that the system knows a method
wneuper@2365
   306
to solve the problem. Thus \sisac{} can solve the problem automatically or propose the next step to be done.
wneuper@2365
   307
wneuper@2365
   308
{\bf\UR{\sisac{} can assist in calculating examples unknown to the system}\label{DIALOG:EXAMPLE:unknown}}
wneuper@2365
   309
Without knowing the Problem, \sisac{} cannot propose steps or solve the Problem automatically. Still, \sisac{} can apply Tactics chosen by the user to a formula. With a theory specified, \sisac{} can check formulas input by the user for correctness and consistency with previous steps in the calculation. At all times, \sisac{} ensures the calculation displayed is consistent and error-free as detailed in \ref{COMMON:CALCDATA:correct}.
wneuper@2365
   310
wneuper@2365
   311
wneuper@2329
   312
%{\bf\UR{\isac{} can offer a list of actions known to the system.\label{DIALOG:GUIDE:ACTIONS:known}}}
wneuper@2329
   313
%%WN040506                       ^^^^^^^ oder doch tactics ??
wneuper@2329
   314
%%AK040509 wenns nur tactics sind, wird sich der user die meiste zeit zwischen rewrite, rewrite und rewrite entscheiden m�ssen. mehr hilfe haben wir nicht zu bieten?
wneuper@2329
   315
%%WN0405010 beim Gleichungsl�sen 'Rewrite associative', 'Rewrite_Set simplify', 'solve (x�+x+1=0,x)'.
wneuper@2329
   316
%% und in der specify-phase k�nnen wir auch allerhand vorschlagen.
wneuper@2329
   317
%
wneuper@2329
   318
%{\bf\UR{\isac{} can offer a list of actions applicable to the current situation.\label{DIALOG:GUIDE:ACTIONS:applicable}}}
wneuper@2329
   319
%%WN040506                       ^^^^^^^ oder doch tactics ??
wneuper@2329
   320
%
wneuper@2329
   321
%{\bf\UR{\isac{} can propose the next action to be taken.\label{DIALOG:GUIDE:ACTIONS:next}}}
wneuper@2329
   322
%%WN040506                       ^^^^^^^ oder doch tactic ??
wneuper@2329
   323
%
wneuper@2329
   324
%{\bf\UR{\isac{} can do one or more steps automatically.\label{DIALOG:GUIDE:auto}}}
wneuper@2329
   325
%
wneuper@2334
   326
%{\bf\UR{The user gets immediate feedback on data entered into the model.\label{DIALOG:GUIDE:model-feedback}}}
wneuper@2329
   327
%
wneuper@2329
   328
%{\bf\UR{The amount of user guidance is configurable.\label{DIALOG:GUIDE:configure}}}
wneuper@2329
   329
%The amount can be set by the user according to his preferences or by a course designer to match requirements of the course. For exam purposes, the amount of user guidance can be limited.
wneuper@2329
   330
%
wneuper@2365
   331
{\bf\UR{\sisac{} can offer a list of actions meaningful in the current state}\label{DIALOG:GUIDE:ACTIONS:known}} of the calculation. 'Meaningful' is weaker than 'applicable', see UR.\ref{DIALOG:GUIDE:ACTIONS:applicable}
wneuper@1693
   332
%WN040506                       ^^^^^^^ oder doch tactics ??
wneuper@4689
   333
%AK040509 wenns nur tactics sind, wird sich der user die meiste zeit zwischen rewrite, rewrite und rewrite entscheiden m�ssen. mehr hilfe haben wir nicht zu bieten?
wneuper@4689
   334
%WN0405010 beim Gleichungsl�sen 'Rewrite associative', 'Rewrite_Set simplify', 'solve (x�+x+1=0,x)'.
wneuper@4689
   335
% und in der specify-phase k�nnen wir auch allerhand vorschlagen.
wneuper@2365
   336
%
wneuper@1693
   337
wneuper@2365
   338
{\bf\UR{\sisac{} can offer a list of actions applicable to the current state}\label{DIALOG:GUIDE:ACTIONS:applicable}} of the calculation.
wneuper@1693
   339
%WN040506                       ^^^^^^^ oder doch tactics ??
wneuper@1693
   340
wneuper@2365
   341
{\bf\UR{\sisac{} can propose the next action to be taken.}\label{DIALOG:GUIDE:ACTIONS:next}}
wneuper@1693
   342
%WN040506                       ^^^^^^^ oder doch tactic ??
wneuper@1693
   343
wneuper@2365
   344
{\bf\UR{\sisac{} can do one or more steps automatically.}\label{DIALOG:GUIDE:auto}}
wneuper@1693
   345
nsimic@3711
   346
\subparagraph{The flow of interaction} shall be adapted to the learner. The learner might be bored because the system offers too little challenge (by using less active dialog atoms -- see UR.\ref{dialog-atoms}, or by proceeding in too little steps of calculation) -- or, in contrary, the user might be frustrated by too high challenges (in activity and/or stepwidth).
wneuper@2365
   347
{\bf\UR The 'activity' of the dialog atoms adapts to the learner.\label{}}
agriesma@308
   348
wneuper@2365
   349
{\bf\UR Varying stepwidth with tactics, rule sets and subproblems.\label{stepwidth}}
agriesma@308
   350
wneuper@2365
   351
wneuper@2365
   352
\subparagraph{The dialog regards} presettings of the course admin (see Sect.\ref{course-admin} below), when guiding the flow of interaction, and the dialog regards the ongoing interaction with the student.
wneuper@2365
   353
{\bf\UR The system records examples done/not done by a learner \label{expl-done}} regardless which course the learner is logged in.
wneuper@2365
   354
{\bf\UR The dialog regards the performance \label{perform}} in calculations done by the learner in the current session. The performance is measured by response times, errors, difficulty of examples done, requests into the knowledge base, active-passive behaviour.
wneuper@2365
   355
\footnote{The completion of this list is up to a future phase of development, and the evaluation of these data as well.}
wneuper@2365
   356
{\bf\UR The dialog regards the knowledge \label{know}} touched by the learner in the current session.
wneuper@2365
   357
{\bf\UR The dialog regards the history \label{history}} of performance and knowledge touched in previous sessions.
wneuper@2365
   358
wneuper@2365
   359
wneuper@2365
   360
{\bf\UR{The amount of user guidance is configurable.}\label{DIALOG:GUIDE:configure}}
wneuper@2365
   361
The amount can be set by the user according to his preferences or by a course designer to match requirements of the course. For exam purposes, the amount of user guidance can be limited.
wneuper@2365
   362
wneuper@2365
   363
{\bf\UR{The learner can override the Dialog behaviour chosen by the system.}\label{DIALOG:ADAPT:override}}
wneuper@2365
   364
This includes the settings for dialog activity, stepwidth and display filtering rules. The conflicts between this UR and UR.\ref{DIALOG:GUIDE:configure} need to be resolved by an indepth design lateron.
wneuper@2365
   365
wneuper@2365
   366
wneuper@2365
   367
wneuper@2365
   368
\section{Help in the specify phase}
wneuper@2365
   369
According to UR.\ref{COMMON:CALCDATA:phases} this phase comprises modeling (i.e. translating an example into a formal representation, the so-called Model) and specifying (i.e. relating the model to the mathematics knowledge available --- that means, identify an appropriate theory, a problem and a method).
wneuper@2365
   370
wneuper@2365
   371
In the model phase the learner generally has to input the \see items of a \see model (see the example for reference in chapter \ref{model} p.\pageref{model}): input and output items can be 'correct', 'incomplete', 'missing', 'superfluous' or have a 'syntax error'; preconditions can be 'correct' or 'false' (see UR.\ref{model-feedback}) --- these properties should be clearly indicated. This help is only possible, if the learner choose an example (with a hidden \see formalization and \see specification) from an \see example collection, or if he had specified a problem.
wneuper@2365
   372
wneuper@2365
   373
If users want to calculate an example {\em unknown} to the system they have two choices:
wneuper@2365
   374
\begin{enumerate}
wneuper@2365
   375
\item specify a problem in order to get help from the system. Again, there are two possibilities:
wneuper@2365
   376
  \begin{enumerate}
wneuper@2365
   377
  \item first specify the appropriate problem (which contains the \see item-descriptions), and then input the items. The item-descriptions help the user to provide the appropriate item-data.
wneuper@2365
   378
wneuper@2365
   379
  \item first input the items (the item-descriptions are to be looked up in a specific theory), and then specify the problem --- already assisted by the system (see UR.\ref{ur-match} and UR.\ref{ur-refine}).
wneuper@2365
   380
  \end{enumerate}
wneuper@2365
   381
\item do the calculation independently and without relying on assistance by the system (i.e. without specifying a problem, thus the system cannot check for completeness, and cannot assign a \see method). In this case the input of items in the 'given'-field is sufficient; the users can calculate the example by applying tactics (after manual input).
wneuper@2365
   382
\end{enumerate}
wneuper@2365
   383
nsimic@3711
   384
{\bf\UR Visualization of the feedback on input to a model.\label{model-feedback}\label{DIALOG:GUIDE:model-feedback}} The user gets immediate feedback on data entered into the Model by means of an item-status. The item-status can be:
wneuper@2365
   385
'correct', 'incomplete', 'missing', 'superfluous', 'syntax error' or 'false'.
wneuper@2365
   386
wneuper@2365
   387
wneuper@2365
   388
wneuper@2365
   389
\subparagraph{Retrieve a matching problem:}
wneuper@2365
   390
Given a model initiating a calculation, or as a subproblem within a
wneuper@2365
   391
calculation, the learner has to determine a problem matching this
wneuper@2365
   392
model. This involves information retrieval from a large
wneuper@2365
   393
problem-hierarchy. There the learner may get lost, and thus he
wneuper@2365
   394
should get help: make the math-engine find a matching problem;
wneuper@2365
   395
visualize the problem found within the hierarchy.
wneuper@2365
   396
wneuper@2365
   397
In case of an exam, the user is forced to find the correct problem with
wneuper@2365
   398
no or limited help. Therefore it is nessesary to adjust the amount of
wneuper@2365
   399
help given by the browsers (e.g. only ``match'' or ``nomatch'' instead
wneuper@2365
   400
of a detailed listing of all conditions)
wneuper@2365
   401
{\bf\UR  \sisac{} can retrieve and match a model to a problem.\label{ur-match}\label{DIALOG:GUIDE:match}}
wneuper@2365
   402
{\bf\UR \sisac{} can help by automated refinement of a problem.\label{ur-refine}\label{DIALOG:GUIDE:refine}}
wneuper@2365
   403
wneuper@2365
   404
wneuper@2365
   405
wneuper@3176
   406
\section{Views into the knowledge}\label{kb-context-views}
wneuper@3185
   407
wneuper@3185
   408
%WN060324--->thesis.ML-----------------BEGIN---please don't remove this line
wneuper@3185
   409
wneuper@3190
   410
\sisac{} is a 'transparent system' by providing access to all the knowledge the system requires for (automated) problem solving. The knowledge is structured within a 3-dimension universe as stated in UR.\ref{COMMON:CALCDATA:knowledge} on p.\pageref{COMMON:CALCDATA:knowledge}. Needless to say that the knowledge has a highly complex structure, and that it is a demanding challenge to help the student not to get lost in this structure.
wneuper@3176
   411
wneuper@3176
   412
Principally, there are two ways to acces the knowledge, (1) access along the structure inherent to the respective knowledge, and (2) access from a concrete calculation, where the knowledge is required for solving the problem. These two kinds of access are separated below.
wneuper@3176
   413
wneuper@3259
   414
\subsection{Surveys on related knowledge}\label{WN-urd-KEStore}
wneuper@3190
   415
As example collections (respective requirements see sect.\ref{exp-coll}, sect.\ref{exp-struct} and sect.\ref{exp-edit}) are very close to the other three parts of knowledge, theories, problems and methods, we include them in this subsection.
wneuper@3176
   416
wneuper@3259
   417
{\bf\UR{Each element of the knowledge belongs to either theories, problems or a methods, or to the example collection.\label{UR.WN-thy-pbl-met}}}
wneuper@3259
   418
The elements of belonging to theories are
wneuper@3259
   419
\begin{itemize}
wneuper@3700
   420
\item theorems
wneuper@3259
   421
\item rule sets, i.e. sets of theorems or other rule sets, which are applied as long as they can be applied to a certain formula.
wneuper@3700
   422
\item rewrite orders which are required to terminate rule sets which contain theorems on commutativity etc. TODO
wneuper@3700
   423
\item computations involving sml-code (the only exception to rewriting). TODO
wneuper@3259
   424
\end{itemize}
wneuper@3256
   425
nsimic@3711
   426
{\bf\UR Examples, theories, problems and methods all have a
nsimic@3711
   427
hierarchical structure\label{UR-hierarchy}} and each element of
nsimic@3711
   428
the knowledge base has a unique position in this hierarchy.
wneuper@3185
   429
wneuper@3259
   430
{\bf\UR{Each element of the knowledge base is displayed in the related browser.\label{UR.WN-thy-pbl-met-browser}}} This requirement has to be met in particular, if such an element is referenced by a link from another browser: where-ever such a link is located, the element is displayed in the browser it belongs to, a theory-element in the theory-browser etc.
wneuper@3176
   431
wneuper@3259
   432
{\bf\UR{Links can go from any element to any element.\label{}}} That means, an explanation for a problem can have a link to a method solving it, or to a theorem (in a theory) important for this problem; an explanation for a theorem can have a link to a problem, which uses the theorem in a certain way, etc.
wneuper@3190
   433
wneuper@3190
   434
{\bf\UR There are specific links which start an example.\label{}} Such a link may be located in any part of the knowledge; if the link is activated, the respective example is displayed in the example-browser (UR.\ref{UR.WN-thy-pbl-met-browser}) together with the examples location in the example hierarchy (UR.\ref{UR.WN-thy-pbl-met-hier-location}) {\bf and} a worksheet is opened for this example.
wneuper@3190
   435
wneuper@3190
   436
{\bf\UR Links outside \sisac's knowledge base open the standard browser.\label{}} i.e. links within the knowledge base may point anywhere, and if the destination is outside \sisac's knowledge, it is displayed outside \sisac, too.
wneuper@3176
   437
wneuper@3259
   438
{\bf\UR{An element is always displayed togehter with the respective location in the hierarchy.\label{UR.WN-thy-pbl-met-hier-location}}}. This requirement has to be met in particular, if the element is displayed following a link (indenpendently, from which browser).
wneuper@3176
   439
wneuper@3259
   440
{\bf\UR{Each element has a certain position in the respective hierarchy.\label{UR.WN-thy-pbl-met-hierarchy}}} The hierarchy is the means for systematic search by the user. This does {\em not} mean, that this position can serve as a unique identification over time, see UR.\ref{UR.WN-hier-location-not-persistent}~!
wneuper@3190
   441
wneuper@3259
   442
{\bf\UR{With each element in the knowledge base, explanations can be stored.\label{UR-explanation}\label{DIALOG:GUIDE:description}}}
wneuper@3259
   443
Every element in the Knowledge Base can provide explanations illustrating its meaning, giving theoretical background information, referencing related topics or giving examples of use. See sect.\ref{WN-urd-courses} p.\pageref{WN-urd-courses} and also UR.\ref{UR-explanation-forall}.
wneuper@3190
   444
wneuper@3204
   445
%WN060324--->thesis.ML-----------------END---please don't remove this line
wneuper@3204
   446
wneuper@3176
   447
%{\bf\UR{.\label{}}\\}
wneuper@3176
   448
%{\bf\UR{.\label{}}\\}
wneuper@3176
   449
%{\bf\UR{.\label{}}\\}
wneuper@3176
   450
wneuper@3176
   451
\subsection{Context-related views}
wneuper@3176
   452
wneuper@3190
   453
The context is given by the state of a calculation (the so-called 'calc-state') on a Worksheet. UR.\ref{ur-match} and UR.\ref{ur-refine} is one case, the other is displaying a method with the tactic marked which just has been applied in a calculation (this is well-known from debuggers). And there are other dynamic views into the knowledge base.
wneuper@2365
   454
wneuper@3439
   455
%{\em Examples can {\em not} have a context, thus in this section they are excluded, if we mention 'knowledge base'.}
wneuper@3190
   456
wneuper@3256
   457
\paragraph{Context to all parts of the math-knowledge}
neuper@4108
   458
%\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\# WN060704 begin update! \#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#
wneuper@3256
   459
wneuper@3190
   460
{\bf\UR{\sisac{}'s use of math knowledge can be watched by the user.\label{DIALOG:GUIDE:dynamic-view}}}
wneuper@3259
   461
The user can look up the elements of the Knowledge Base currently used by \sisac{} to do a certain step in a calculation. This includes showing
wneuper@1693
   462
\begin{itemize}
wneuper@3185
   463
\item{Tactics} used in the calculation in their context in the Knowledge Base; particularly interesting are rewrite-tactics. The context to the calculation allows to display the rewrite, the assumptions generated, the rewrite-order used etc.
wneuper@3185
   464
\item{Methods} being applied to solve the current problem with indication of the tactic being currently applied, of the method's guard etc.
wneuper@2365
   465
\item{Problems} currently being solved in their context in the hierarchy of problems. This particularily helpful just before and after having \sisac{} refine a problem.
wneuper@1693
   466
\end{itemize}
agriesma@308
   467
wneuper@2365
   468
{\bf\UR{On request, \sisac{} provides additional information on parts of the calculation.\label{DIALOG:GUIDE:detail}\label{detail}}\\}
wneuper@2365
   469
Additional information in a calculation can be provided at any time on request of the learner. This feature comprises more detailed views onto the calc-state, as well as explanations according to the following table:
agriesma@308
   470
\begin{center}
agriesma@308
   471
\begin{tabular}{l l l}
agriesma@308
   472
{\tt 'detail'} on & element & yields\\
agriesma@308
   473
\hline\hline
wneuper@2323
   474
whole formula & //                & intermediate steps\\
wneuper@2323
   475
whole formula & //                & tactic applied or applicable\\
wneuper@2323
   476
whole formula & //                & applicable tactics\\
agriesma@308
   477
whole formula & //                & associated assumptions\\
wneuper@2323
   478
whole formula & //                & accumulated assumptions\\
agriesma@308
   479
formula       & function-constant & definition in the theory\\
agriesma@308
   480
formula       & floatingpoint-no  & precision of this no\\
nsimic@3711
   481
evaluated predicate
agriesma@308
   482
              & //                & derivation\\
nsimic@3711
   483
evaluated assumption
agriesma@308
   484
              & //                & derivation\\
agriesma@308
   485
\hline
agriesma@308
   486
tactic        & theorem           & theorem instantiated\\
agriesma@308
   487
theorem instantiated
agriesma@308
   488
              & //                & animation of matching\\
wneuper@2323
   489
%tactic        & ruleset           & intermediate steps\\
wneuper@2323
   490
%tactic        & subproblem        & intermediate steps\\
wneuper@2323
   491
%\hline
wneuper@2323
   492
%error 'not matching'
wneuper@2323
   493
%              & //                & animation of matching\\
agriesma@308
   494
\hline
agriesma@308
   495
\hline
wneuper@2323
   496
{\tt 'detail'} on & calchead & yields\\
wneuper@2323
   497
\hline
wneuper@2323
   498
specification  & theory            & file of the respective theory\\
wneuper@2323
   499
specification  & problem           & model instant. this problem\\
wneuper@2323
   500
specification  & problem           & inst. problem in the hierarchy\\
wneuper@2323
   501
%specification  & problem           & inherited assumptions\\
wneuper@2323
   502
specification  & method            & guard instantiated by the model\\
wneuper@2323
   503
specification  & method            & script in the hierarchy\\
agriesma@308
   504
\end{tabular}
agriesma@308
   505
\end{center}
wneuper@2323
   506
gkompach@3821
   507
{\bf\UR The context is a certain formula in a certain calculation\label{}} as displayed on the respective 'worksheet'.
wneuper@2323
   508
wneuper@3251
   509
%{\bf\UR{.\label{}}\\}
wneuper@2329
   510
wneuper@3256
   511
\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\# WN060704 end update! \#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#
wneuper@3256
   512
gkompach@3821
   513
% GK070304- tag for quicksearch START
wneuper@3832
   514
\footnote{Begin of work extracted from \cite{ba-GK07}.}
wneuper@3256
   515
gkompach@3821
   516
{\bf\UR{A context is the current position on the worksheet last touched.}\label{}} The formula at this position is highlighted.
wneuper@3259
   517
gkompach@3821
   518
{\bf\UR{Usually there is a context to any of the 3 parts of the math-knowledge for a position. See also UR.\ref{UR.WN-no-worksheet-no-context} and UR.\ref{UR.GK-may-be-no-context}}\label{}}
wneuper@3256
   519
gkompach@3821
   520
{\bf\UR{If there is no Worksheet open, then there is no context.}\label{UR.WN-no-worksheet-no-context}}
wneuper@3256
   521
gkompach@3821
   522
{\bf\UR{There may be NO context for an element of the math-knowledge.}\label{UR.GK-may-be-no-context}} The reasons are specific to theories, problems and methods.
wneuper@3439
   523
gkompach@3821
   524
{\bf\UR{The default for $<$Context on/off$>$ is $<$on$>$}\label{}} - as soon as a Worksheet has been opened.
wneuper@3439
   525
gkompach@3821
   526
{\bf\UR{If the KnowledgeBrowser is opened the first time and there is no context, it displays the element at the root of the respective hierarchy.}\label{UR.WN-init-no-context}}.
wneuper@3259
   527
gkompach@3821
   528
{\bf\UR{Any formula in a calculation has a context (with different details to different parts of the math-knowledge).}\label{}}
wneuper@3256
   529
gkompach@3821
   530
{\bf\UR{The user can switch the context to a calculation on or off.}\label{}}
wneuper@3256
   531
gkompach@3821
   532
{\bf\UR{The context of an element is displayed in the respective browser-window.}\label{}} This is analoguous to UR.\ref{UR.WN-thy-pbl-met}
wneuper@3256
   533
gkompach@3821
   534
{\bf\UR{A context is displayed as soon as}\label{}} the window is activated or the respective button $<$theory$>$ $<$problem$>$ $<$method$>$ is pushed -- if the user has NOT decided for .
wneuper@3256
   535
gkompach@3821
   536
{\bf\UR{The contents of the hierarchy can be filtered (due to a UserModel).}\label{}}
wneuper@3256
   537
gkompach@3821
   538
{\bf\UR{The content of the hierarchy remains unchanged during a session
gkompach@3821
   539
  (SR: thus the hierarchy is loaded {\em once} at the beginning of a session)}\label{}}
wneuper@3256
   540
wneuper@3256
   541
agriesma@308
   542
wneuper@3439
   543
\paragraph{Context to examples\\}
wneuper@3439
   544
gkompach@3821
   545
{\bf\UR{The context of an example is the respective worksheet.}\label{}} If $<$Context on$>$ is set and a worksheet is brought to top, the respective example (i.e. the description of the example) is displayed in the example browser.
wneuper@3439
   546
gkompach@3821
   547
{\bf\UR{A worksheet started by $<$New$>$ has no context.}\label{}} It is handled according to UR.\ref{UR.WN-init-no-context}
wneuper@3439
   548
gkompach@3821
   549
{\bf\UR{$<$Context on/off$>$ is the only choice for examples.}\label{}} This choice is always available. It is never changed by the system.
wneuper@3439
   550
gkompach@3821
   551
{\bf\UR{A example may be displayed and {\em not} be allowed to calculate (according to the UserModel).}\label{}}
wneuper@3439
   552
wneuper@3439
   553
wneuper@3439
   554
wneuper@3259
   555
\paragraph{Context to elements of theories}
wneuper@3251
   556
gkompach@3821
   557
{\bf\UR{The context comes exactly from the current position on the worksheet.}\label{}}
wneuper@3259
   558
gkompach@3821
   559
{\bf\UR{$<$Context on/off$>$ is always available.}\label{}}
wneuper@3259
   560
gkompach@3821
   561
{\bf\UR{$<$To Worksheet$>$ is available if:}\label{}}
gkompach@3821
   562
\begin{enumerate}
gkompach@3821
   563
\item $<$Context on$>$ is selected {\em and}
gkompach@3821
   564
\item the worksheet on top is in the specify phase (and a CalcheadPanel is open)
gkompach@3821
   565
\end{enumerate}
wneuper@3439
   566
gkompach@3821
   567
{\bf\UR{$<$To Worksheet$>$ is {\em not} available:}\label{}}
gkompach@3821
   568
\begin{enumerate}
gkompach@3821
   569
\item if $<$Context off$>$ is selected, as described in UR.\ref{UR.GK-context-off-ref-worksheet-na}
gkompach@3821
   570
\item if no worksheet is open
gkompach@3821
   571
\item if the worksheet on top is in the solve phase (and {\em no} CalcheadPanel is open)
gkompach@3821
   572
\end{enumerate}
wneuper@3439
   573
wneuper@3259
   574
wneuper@3251
   575
wneuper@3439
   576
\paragraph{Context to problems\\}
wneuper@3251
   577
gkompach@3821
   578
{\bf\UR{The context of a formula to the problems is given by the headline of the calc-head on the next higher level in the calculation.}\label{}}
wneuper@3256
   579
gkompach@3821
   580
{\bf\UR{The context of problem concerns the model of the current position and the modelpattern of a problem.}\label{}} Thus there is always a context, only exception is UR.\ref{UR.WN-init-no-context}
wneuper@3256
   581
gkompach@3821
   582
{\bf\UR{$<$Context on/off$>$ is always available.}\label{}}
wneuper@3256
   583
gkompach@3821
   584
{\bf\UR{If $<$Context off$>$ is selected, then $<$Refine$>$ and $<$To Worksheet$>$ are not available.}\label{UR.GK-context-off-ref-worksheet-na}}
wneuper@3256
   585
gkompach@3821
   586
{\bf\UR{$<$Refine$>$ is available if $<$Context on$>$ is selected.}\label{}}
wneuper@3251
   587
gkompach@3821
   588
{\bf\UR{$<$Refine$>$ is {\em not} available:}\label{}}
wneuper@3439
   589
\begin{enumerate}
gkompach@3821
   590
\item if $<$Context off$>$ is selected, as described in UR.\ref{UR.GK-context-off-ref-worksheet-na}
gkompach@3821
   591
\item if no worksheet is open
wneuper@3439
   592
\end{enumerate}
wneuper@3439
   593
gkompach@3821
   594
{\bf\UR{$<$To Worksheet$>$ is available if:}\label{}}
wneuper@3439
   595
\begin{enumerate}
gkompach@3821
   596
\item $<$Context on$>$ is selected {\em and}
gkompach@3821
   597
\item the worksheet on top is in the specify phase (and a CalcheadPanel is open)
wneuper@3439
   598
\end{enumerate}
wneuper@3439
   599
gkompach@3821
   600
{\bf\UR{$<$To Worksheet$>$ is {\em not} available:}\label{}}
wneuper@3439
   601
\begin{enumerate}
gkompach@3821
   602
\item if $<$Context off$>$ is selected, as described in UR.\ref{UR.GK-context-off-ref-worksheet-na}
gkompach@3821
   603
\item if no worksheet is open
gkompach@3821
   604
\item if the worksheet on top is in the solve phase (and {\em no} CalcheadPanel is open)
wneuper@3439
   605
\end{enumerate}
wneuper@3439
   606
wneuper@3439
   607
wneuper@3439
   608
wneuper@3439
   609
\paragraph{Context to methods\\}
wneuper@3251
   610
gkompach@3821
   611
{\bf\UR{The context of a formula to the methods is given by the headline of the calc-head on the next higher level in the calculation.}\label{}}
wneuper@3256
   612
gkompach@3821
   613
{\bf\UR{The context of a method concerns the guard and the script.}\label{}} The script in context show the tactic which calculated the currents position; the guard is matched with the model of the problem at the current position.
wneuper@3256
   614
gkompach@3821
   615
{\bf\UR{$<$Context on/off$>$ is always available.}\label{}}
wneuper@3256
   616
gkompach@3821
   617
{\bf\UR{$<$To Worksheet$>$ is available if:}\label{}}
gkompach@3821
   618
\begin{enumerate}
gkompach@3821
   619
\item $<$Context on$>$ is selected {\em and}
gkompach@3821
   620
\item the worksheet on top is in the specify phase (and a CalcheadPanel is open)
gkompach@3821
   621
\end{enumerate}
wneuper@3256
   622
gkompach@3821
   623
{\bf\UR{$<$To Worksheet$>$ is {\em not} available:}\label{}}
gkompach@3821
   624
\begin{enumerate}
gkompach@3821
   625
\item if $<$Context off$>$ is selected, as described in UR.\ref{UR.GK-context-off-ref-worksheet-na}
gkompach@3821
   626
\item if no worksheet is open
gkompach@3821
   627
\item if the worksheet on top is in the solve phase (and {\em no} CalcheadPanel is open)
gkompach@3821
   628
\end{enumerate}
wneuper@3256
   629
gkompach@3821
   630
% GK070304- tag for quicksearch END
wneuper@3832
   631
\footnote{End of work extracted from \cite{ba-GK07}.}
wneuper@3251
   632
akremp@767
   633
\chapter{Requirements of the math author}\label{math-author}
wneuper@2329
   634
All the
wneuper@2329
   635
authoring of math knowledge is still be done on the SML toplevel,
agriesma@308
   636
i.e. immediately on the datastructures holding the knowledge. This
agriesma@308
   637
part of the task is described in the 'interfaces for authors of math
agriesma@308
   638
knowledge' \cite{develop-experiment}.
agriesma@308
   639
agriesma@308
   640
{\bf\UR Remote access to the sml-kernel \label{}} is required. However, knowledge modfied need not yet imported to the production (i.e. tutoring) system.\\
agriesma@308
   641
agriesma@308
   642
Another result of authoring math knowledge, however, will be tools for the visitor and the learner to view the knowledge generated. This part of the task is described here.
agriesma@308
   643
agriesma@308
   644
%{\bf\UR  \label{}}
agriesma@308
   645
%{\bf\UR  \label{}}
agriesma@308
   646
{\bf\UR Automatic linking-tool \label{URinterlink}} supports setting links to other occurrences of an item: the system suggests links, the author accepts or rejects.
agriesma@308
   647
%{\bf\UR Automatic links to additional, related informations if available. \label{URinterlink}}
agriesma@308
   648
%%W.N. kann ich mir nicht vorstellen ...
nsimic@3711
   649
%%A.G.(6.3.) ist nicht so unwahrscheinlich - vor allem mit dem event-modell
agriesma@308
   650
%%    von dinopolis sollte das moeglich sein - eventuell auch mit java-webstart
agriesma@308
   651
%%    (ab 1.4) - ich glaube die moeglichkeit besteht, ueber die implementierung
agriesma@308
   652
%%    hab ich mir noch nicht allzu viele gedanken gemacht - oder gibt es da ein
agriesma@308
   653
%%    problem an das ich nicht gedacht habe ?
agriesma@308
   654
%%W.N. um das zu beantworten verstehe ich die Details noch zu wenig
agriesma@308
   655
Automated linking is done between the following items:
agriesma@308
   656
\begin{center}
agriesma@308
   657
\begin{tabular}{l l l}
agriesma@308
   658
item          & in \dots          & linked to occurrence in\\
agriesma@308
   659
\hline\hline
agriesma@308
   660
predicate     & theorem           & definition in theory\\
agriesma@308
   661
              & pre/postcondition & definition in theory\\
agriesma@308
   662
theorem       & tactic            & definition in theory\\
agriesma@308
   663
\hline
agriesma@308
   664
TODO
agriesma@308
   665
\footnote{This list may be completed.}
agriesma@308
   666
\end{tabular}
agriesma@308
   667
\end{center}
agriesma@308
   668
agriesma@308
   669
{\bf\UR Exchange data with other \sisac{} sites.\label{x-isac}\\}
agriesma@308
   670
TODO
agriesma@308
   671
{\bf\UR Exchange data with other knowledge bases. \label{}\\}
agriesma@308
   672
TODO
agriesma@308
   673
nsimic@3711
   674
\subparagraph{Copyright}
wneuper@3190
   675
is important as \sisac's development will depend on the efforts of many, many authors.
wneuper@3190
   676
wneuper@3190
   677
{\bf\UR Copyright on any substantial item or part of math knowledge.\label{UR-(c)-math}}
nsimic@3711
   678
Such items are
wneuper@3190
   679
\begin{itemize}
nsimic@3711
   680
\item a theory, and within theories
wneuper@3190
   681
  \begin{itemize}
wneuper@3190
   682
  \item a rule set
nsimic@3711
   683
  %\item
nsimic@3711
   684
  %\item
wneuper@3190
   685
  \end{itemize}
wneuper@3190
   686
\item a problem
wneuper@3190
   687
\item method
nsimic@3711
   688
%\item
wneuper@3190
   689
\end{itemize}
wneuper@3190
   690
See UR.\ref{UR-(c)-explanation}.
wneuper@3190
   691
wneuper@3190
   692
{\bf\UR An item can have more than author\label{}} according to the \sisac-charta.
wneuper@3190
   693
%{\bf\UR \label{}}
agriesma@308
   694
agriesma@308
   695
agriesma@308
   696
\paragraph{Authoring theories\\}
agriesma@308
   697
The generation of the theory browser is already implemented by Isabelle. Within phase 1 of development, \sisac{} will take this component without any change.
agriesma@308
   698
agriesma@308
   699
\paragraph{Authoring problems\\}
agriesma@308
   700
TODO
agriesma@308
   701
agriesma@308
   702
\paragraph{Authoring methods\\}
agriesma@308
   703
TODO
agriesma@308
   704
akremp@767
   705
\chapter{Requirements of the dialog author}\label{dialog-author}
neuper@4108
   706
The dialog author focuses on learning theory; administrative aspects of dialogs are discussed in chap.\ref{course-admin} for the course admin.
wneuper@2329
   707
wneuper@2329
   708
%WN050519---AK04:thesis.p.38-40->isac-URD-----------BEGIN:dont delete this line
wneuper@2329
   709
\footnote{Begin of copy from \cite{AK04:thesis} p.38-40}
wneuper@2334
   710
\section{User Profiling}\label{DIALOG:PROFILE}
wneuper@2329
   711
%
wneuper@2329
   712
%% \subparagraph{The dialog regards} presettings of the course admin (see Sect.\ref{course-admin} below), when guiding the flow of interaction, and the dialog regards the ongoing interaction with the student.
wneuper@2329
   713
%
wneuper@2329
   714
%{\bf\UR{\isac{} records examples done by the user.\label{DIALOG:PROFILE:examples}}\\}
wneuper@2329
   715
%\isac{} keeps a per-user record of examples done and the user's performance in doing the example. The record is independent of the course the user has been logged into when doing the example.
wneuper@2329
   716
%
wneuper@2329
   717
%
wneuper@2329
   718
%{\bf\UR{\isac{} records items in the Knowledge Base viewed by the user.\label{DIALOG:PROFILE:knowledge}}\\}
wneuper@2329
   719
%This information can be used to base the Dialog Guide's behaviour on information supposedly known to the user.
wneuper@2329
   720
%
wneuper@2329
   721
%{\bf\UR{\isac{} records the user's success and errors.\label{DIALOG:PROFILE:success}}\\}
wneuper@2329
   722
%This extends to application of single tactics as well as whole examples or courses.
wneuper@2329
   723
%
wneuper@2329
   724
%{\bf\UR{\isac{} records the user's time performance.\label{DIALOG:PROFILE:speed}}\\}
wneuper@2329
   725
%In the future, assumptions about the user's familiarity with certain topics could be derived from these data.
wneuper@2329
   726
%
wneuper@2329
   727
%{\bf\UR{\isac{} records the user's activity.\label{DIALOG:PROFILE:activity}}\\}
wneuper@2329
   728
%In this context, activity means the ratio of steps done by the user to the steps the user had done by \isac{}.
wneuper@2329
   729
%
wneuper@2329
   730
%TODO: different weight for different activities ???
wneuper@2329
   731
%
wneuper@2329
   732
wneuper@2329
   733
agriesma@308
   734
wneuper@1693
   735
% \subparagraph{The dialog regards} presettings of the course admin (see Sect.\ref{course-admin} below), when guiding the flow of interaction, and the dialog regards the ongoing interaction with the student.
agriesma@308
   736
nsimic@3711
   737
{\bf\UR{\sisac{} records examples done by the user}\label{DIALOG:PROFILE:examples}}
wneuper@2365
   738
\sisac{} keeps a per-user record of examples done and the user's performance in doing the example. The record is independent of the course the user has been logged into when doing the example.
wneuper@1693
   739
wneuper@1693
   740
wneuper@2365
   741
{\bf\UR{\sisac{} records items in the Knowledge Base viewed by the user.}\label{DIALOG:PROFILE:knowledge}}
wneuper@1693
   742
This information can be used to base the Dialog Guide's behaviour on information supposedly known to the user.
wneuper@1693
   743
wneuper@2365
   744
{\bf\UR{\sisac{} records the user's success and errors.}\label{DIALOG:PROFILE:success}}
wneuper@2365
   745
This extends to application of single Tactics, fill-in patters and error-patterns as well as whole examples or courses.
wneuper@1693
   746
wneuper@2365
   747
{\bf\UR{\sisac{} records the user's time performance.}\label{DIALOG:PROFILE:speed}}
wneuper@1693
   748
In the future, assumptions about the user's familiarity with certain topics could be derived from these data.
wneuper@1693
   749
wneuper@2365
   750
{\bf\UR{\sisac{} records the user's activity.}\label{DIALOG:PROFILE:activity}}
wneuper@2365
   751
In this context, activity means the ratio of steps done by the user to the steps the user had done by \sisac{}.
wneuper@2329
   752
%WN040506 ... had let done ...
wneuper@4689
   753
%AK mein englischlehrer hats mir so erkl�rt, wie ichs geschrieben habe und die w�rterb�cher sind auch einverstanden.
wneuper@1693
   754
wneuper@1693
   755
wneuper@2334
   756
\section{Flexible Dialog Behaviour}\label{DIALOG:FLEX}
wneuper@2329
   757
%
wneuper@4689
   758
%%WN040506 Das Folgende passt nicht recht gut hierher, scheint aber trotzdem wichtig: vielleicht 'future work' irgendwo am Schluss der Arbeit, wo Du auch darauf hinweisen kannst, welche konkreten Voraussetzungen Du f�r so eine Sprache geschaffen hast ...
wneuper@2329
   759
%%AK040509 ist auch noch der text aus der alten doku. wird wie vorgeschlagen geschehen, sobald die zielkapitel form annehmen
wneuper@2329
   760
%
wneuper@2329
   761
%{\bf\UR{\isac{}'s Dialog behaviour is constructed from Dialog Atoms.\label{DIALOG:FLEX:atomic}}\\}
wneuper@2329
   762
%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.
wneuper@2329
   763
%
wneuper@2329
   764
%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.
wneuper@2329
   765
%
wneuper@4689
   766
%%WN040506 Hhhmmmm, as Folgende brauchst Du f�r das nachfolgende UR --- kann man das nicht irgendwo ganz am Anfang einf�hren ????
wneuper@2329
   767
%The dialog atoms are the following, ordered by descending 'activity' of the learner \cite{wn:diss} and UC \ref{DIALOG:PROFILE:activity}: 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$.
wneuper@2329
   768
%\begin{enumerate}
nsimic@3711
   769
%\item \label{putres} given \currf, input the next formula \res
wneuper@2329
   770
%\item \label{fillres} given a partial $f^\prime$ (supplied by \sisac), complete $f^\prime$ such that it is a derivation of \currf
wneuper@2329
   771
%\item \label{puttac}given \currf, input a tactic \tac to be applied to \currf
wneuper@2329
   772
%\item given \currf, select \tac from a list (supplied by \sisac) to be applied to \currf
wneuper@2329
   773
%\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
wneuper@2329
   774
%\item given \currf, \tac, and a partial \res, complete \res such that it is the result of applying \tac to \currf
wneuper@2329
   775
%\item given \currf and \res, input \tac such that \res is the result of \currf applying \tac
wneuper@2329
   776
%\item given \currf and \res, select \tac from a list (supplied by \sisac) such that \res is the result of \currf applying \tac
wneuper@2329
   777
%\item given \currf, \res and a partial \tac, complete \tac such that \res is the result of \currf applying \tac
wneuper@2329
   778
%\end{enumerate}
wneuper@2329
   779
%
wneuper@2329
   780
%% \UR{Dialog atoms according to the list above.}\label{dialog-atoms}
wneuper@2329
   781
%% 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.
wneuper@2329
   782
%
wneuper@2329
   783
%{\bf\UR{The Dialog's behaviour can be configured.\label{DIALOG:FLEX:configure}}\\}
nsimic@3711
   784
%The Dialog's behaviour can be preset by the course designer and the user to match the requirements of the situation in style and complexity. The probability of asking the user a question is an example of such a preset.
wneuper@2329
   785
%
wneuper@2329
   786
%
wneuper@2334
   787
%{\bf\UR{The Dialog adapts the amount of user guidance to the user's skills.\label{DIALOG:FLEX:adapt-behaviour}}\\}
wneuper@2329
   788
%Whenever possible, the dialog adapts its behaviour, i.e. the choice of Dialog Atoms, to challenge the user without frustrating him. The choice is based on the present and past actions of the individual user.
wneuper@2329
   789
%
wneuper@2329
   790
%
wneuper@2334
   791
%{\bf\UR{The Dialog adapts the amount of information displayed to the learning situation.\label{DIALOG:FLEX:adapt-info}}\\}
wneuper@2329
   792
%As with the Dialog's behaviour, the amount of information displayed adapts to the requirements of the current situation. This could mean displaying or not displaying the tactics used in the calculation or hiding specific steps in the calculation considered too complex or too trivial.
wneuper@2329
   793
%
wneuper@2329
   794
wneuper@1693
   795
wneuper@4689
   796
%WN040506 Das Folgende passt nicht recht gut hierher, scheint aber trotzdem wichtig: vielleicht 'future work' irgendwo am Schluss der Arbeit, wo Du auch darauf hinweisen kannst, welche konkreten Voraussetzungen Du f�r so eine Sprache geschaffen hast ...
wneuper@1693
   797
%AK040509 ist auch noch der text aus der alten doku. wird wie vorgeschlagen geschehen, sobald die zielkapitel form annehmen
wneuper@1693
   798
wneuper@2365
   799
{\bf\UR{\sisac{}'s Dialog behaviour is constructed from Dialog Atoms}\label{DIALOG:FLEX:atomic}\label{dialog-atoms}}
wneuper@2329
   800
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 a knowledge profile.
wneuper@1693
   801
wneuper@2329
   802
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.
wneuper@1693
   803
agriesma@308
   804
wneuper@2329
   805
% {\bf\UR{Dialog atoms according to the list above.}\label{dialog-atoms}}
wneuper@1693
   806
% 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.
agriesma@308
   807
wneuper@2329
   808
{\bf\UR{The Dialog's behaviour can be configured.}\label{DIALOG:FLEX:configure}}
nsimic@3711
   809
The Dialog's behaviour in terms of Dialog Atoms to be used can be preset by the course designer and the user to match the requirements of the situation in style and complexity. The probability of asking the user a question is an example of such a preset.
wneuper@2365
   810
%{DIALOG:ADAPT:history}
wneuper@2329
   811
% duplicate of the above?
wneuper@2329
   812
% \UR{The Dialog Guide regards activity requirements set by the Course Administrator}\label{DIALOG:FLEX:preset}}
wneuper@1693
   813
wneuper@2329
   814
{\bf\UR{The number of calculation steps taken at a time can be configured.}\label{DIALOG:FLEX:stepwidth}}
nsimic@3711
   815
This extends to taking several steps at a time and doing whole rulesets or subproblems in one step.
wneuper@2329
   816
%WN040506    ..... (we will call this feature 'stepwidth' below).
wneuper@1693
   817
wneuper@2329
   818
{\bf\UR{The amount of information displayed can be configured.}\label{DIALOG:FLEX:info}}
wneuper@2329
   819
As with the Dialog's behaviour, the amount of information can be preset to meet the requirements of the learning situation. This could mean displaying or not displaying the Tactics used in the calculation or hiding specific steps in the calculation considered too complex or too trivial.
wneuper@2329
   820
wneuper@2329
   821
wneuper@2329
   822
wneuper@2334
   823
\section{Adaptation to Individual Users}\label{DIALOG:ADAPT}
wneuper@2329
   824
%
wneuper@2334
   825
%\section{Adaptation to Individual Users}\label{DIALOG:ADAPT}
nsimic@3711
   826
%% The flow of interaction is adapted to the learner. The learner might be bored because the system offers too little challenge (by using less active dialog atoms -- see UR\ref{dialog-atoms}, or by proceeding in too little steps of calculation) -- or, in contrary, the user might be frustrated by too high challenges (in activity and/or stepwidth).
wneuper@2329
   827
%
wneuper@2329
   828
%{\bf\UR{The activity of the Dialog Guide adapts to the learner.\label{DIALOG:ADAPT:activity}}\\}
nsimic@3711
   829
%In a learning situation, active participation of the student is one key to acquiring and consolidating knowledge and skills.
wneuper@2329
   830
%The Dialog Guide will support this by asking questions or letting the user decide what to do in the next step. On the other hand, with growing expertise, once thrilling questions become trivial and boring. The Dialog Guide adapts his strategy by dropping challenges the user has alredy mastered a few times.
wneuper@2329
   831
%
wneuper@2329
   832
%{\bf\UR{The Dialog Guide regards activity requirements set by the Course Administrator.\label{DIALOG:ADAPT:preset}}}
wneuper@2329
   833
%
wneuper@2329
   834
%{\bf\UR{The dialog regards the performance of the user.\label{DIALOG:ADAPT:perform}}\\}
nsimic@3711
   835
%The performance is measured by response times, errors, difficulty of examples done,
nsimic@3711
   836
%requests into the knowledge base and active-passive behaviour.
wneuper@2329
   837
%%WN040506                            ^^^^^^^^^^^^^^ EXOR activity ??
wneuper@4689
   838
%%AK040509 ist mir beim ausputzen durch die lappen gegeangen. was w�re eine gute definition von "activity"?
wneuper@4689
   839
%%WN040510 in meiner Diss hab' ich jedem Dialogatom eine 'activity-Ma�zah' zugewiesen !?
wneuper@2329
   840
%% activity: beitrag user / beitrag isac
wneuper@2329
   841
%
wneuper@2329
   842
%{\bf\UR{The dialog regards the knowledge touched by the user in the current session.\label{DIALOG:ADAPT:knowledge}}}
wneuper@2329
   843
%
wneuper@2329
   844
%{\bf\UR{The dialog regards the history of the user.\label{DIALOG:ADAPT:history}}\\}
wneuper@2329
   845
%In addition to the of performance and knowledge touched in the current session, the history of the user's previous sessions is regarded as well.
wneuper@2329
   846
%
wneuper@2329
   847
%% wrong place? preset or adapt?
wneuper@2329
   848
%{\bf\UR{??? The number of calculation steps taken at a time can be configured.\label{DIALOG:ADAPT:stepwidth}}\\}
wneuper@2329
   849
%This extends to taking several steps at a time and doing whole rulesets or subproblems in one step.
wneuper@2329
   850
%%WN040506    ..... (we will call this feature 'stepwidth' below).
wneuper@2329
   851
%
wneuper@2329
   852
%{\bf\UR{The learner can override the dialog behaviour chosen by the system.\label{DIALOG:ADAPT:override}}\\}
wneuper@2329
   853
%This includes the settings for dialog activity, stepwidth and display filtering rules.
wneuper@2329
   854
%
wneuper@2329
   855
wneuper@2329
   856
wneuper@2329
   857
nsimic@3711
   858
% The flow of interaction is adapted to the learner. The learner might be bored because the system offers too little challenge (by using less active dialog atoms -- see UR\ref{dialog-atoms}, or by proceeding in too little steps of calculation) -- or, in contrary, the user might be frustrated by too high challenges (in activity and/or stepwidth).
wneuper@2329
   859
wneuper@2334
   860
%\UR{The Dialog adapts the amount of user guidance to the user's skills.}\label{DIALOG:FLEX:adapt-_behaviour}}
wneuper@2329
   861
wneuper@2329
   862
wneuper@2329
   863
{\bf\UR{The activity of the Dialog Guide adapts to the learner.}\label{DIALOG:ADAPT:activity}}
nsimic@3711
   864
In a learning situation, active participation of the student is one key to acquiring and consolidating knowledge and skills.
wneuper@2329
   865
The Dialog Guide will support this by asking questions or letting the user decide what to do in the next step. On the other hand, with growing expertise, once thrilling questions become trivial and boring. The Dialog Guide adapts his strategy by dropping challenges the user has alredy mastered a few times.
wneuper@1693
   866
Whenever possible, the dialog adapts its behaviour, i.e. the choice of Dialog Atoms, to challenge the user without frustrating him. The choice is based on the present and past actions of the individual user.
wneuper@1693
   867
wneuper@2329
   868
{\bf\UR{The Dialog adapts the amount of information displayed to the learning situation.}\label{DIALOG:ADAPT:info}}
wneuper@2329
   869
As with the Dialog's behaviour, the amount of information displayed adapts to the requirements of the current situation.
wneuper@1693
   870
nsimic@3711
   871
{\bf\UR{The Dialog regards the performance of the user.}\label{DIALOG:ADAPT:perform}}
nsimic@3711
   872
The performance is measured by response times, errors, difficulty of examples done,
nsimic@3711
   873
requests into the Knowledge Base and Dialog Activity.
wneuper@1693
   874
%WN040506                            ^^^^^^^^^^^^^^ EXOR activity ??
wneuper@4689
   875
%AK040509 ist mir beim ausputzen durch die lappen gegeangen. was w�re eine gute definition von "activity"?
wneuper@4689
   876
%WN040510 in meiner Diss hab' ich jedem Dialogatom eine 'activity-Ma�zah' zugewiesen !?
wneuper@1693
   877
% activity: beitrag user / beitrag isac
wneuper@1693
   878
wneuper@2329
   879
{\bf\UR{The Dialog regards the knowledge touched by the user in the current session.}\label{DIALOG:ADAPT:knowledge}}
wneuper@1693
   880
wneuper@2329
   881
{\bf\UR{The Dialog regards the history of the user.}\label{DIALOG:ADAPT:history}}
wneuper@1693
   882
In addition to the of performance and knowledge touched in the current session, the history of the user's previous sessions is regarded as well.
wneuper@1693
   883
wneuper@2365
   884
\footnote{End of copy from \cite{AK04:thesis} p.38-40.}
agriesma@308
   885
agriesma@308
   886
akremp@767
   887
\chapter{Requirements of the course admin}\label{course-admin}
wneuper@1693
   888
Authoring in \sisac{} comprises various tasks: authoring mathematics knowledge and authoring the dialog have been described in Chapt.\ref{math-author} and Chapt.\ref{dialog-author}; these both tasks require more special knowledge than the others. Chapt..\ref{course-designer} describes a kind of knowledge ('explanations') which may change from one course to the other, and wich does not require special knowledge on computer mathematics or dialog design.
agriesma@308
   889
wneuper@1693
   890
The latter part of authoring is done by the course designer preparing as course in advance (see Chapt.\ref{course-designer}). Some of the knowledge prepared in advance underlies time constraints, which are managed by the course admin. The requirements of the course admin are separated in this section (despite the fact that the course designer and the course admin are one and the same person, the lecturer or teacher of the course).
agriesma@308
   891
wneuper@3259
   892
\section{Groups of learners}\label{WN-urd-courses}
wneuper@2365
   893
There are groups of learners in order to support the adminstration of courses. The membership w.r.t. these groups determines the selections of examples in the example collecton (see UR.\ref{profile-details}), the selection of explanations in the knowledge (see UR.\ref{author-explanation})) and the initial setting of the dialog as captured in UR.\ref{DIALOG:FLEX:info} and UR.\ref{stepwidth}.
wneuper@2365
   894
{\bf\UR Learners can be grouped into courses. \label{groups}\label{COMMON:USERS:groups}}
neuper@4209
   895
There are groups of learners in order to support the adminstration of courses. The membership in these groups determines the selections of examples in the example collecton (see UR.\ref{profile-details}), the selection of explanations in the knowledge (see UR.\ref{author-explanation})) and the initial setting of the dialog as captured in UR.\ref{detail} and UR.\ref{stepwidth}.
neuper@4209
   896
neuper@4209
   897
{\bf\UR One learner may belong to different groups \label{mem}\label{COMMON:USERS:membership}} but only to {\em one} group within a session. For instance, a student of TUG can be member of Analysis semester 1, of Signal Processing semester 5, Analysis semester 2.
neuper@4209
   898
neuper@4209
   899
{\bf\UR Administrative information for groups \label{}} is part of any login, and should be available to the course admin for review at any time during a session.
wneuper@2329
   900
\footnote{End of copy from \cite{AK04:thesis} p.38-40}
wneuper@2329
   901
%WN050519---AK04:thesis.p.38-40->isac-URD-----------End:dont delete this line
agriesma@308
   902
wneuper@2329
   903
%WN050519---AK04:thesis.p.41->isac-URD-----------BEGIN:dont delete this line
wneuper@2329
   904
\footnote{Begin of copy from \cite{AK04:thesis} p.41}
wneuper@2334
   905
\section{Restrictions}\label{DIALOG:RESTRICT}
wneuper@1693
   906
nsimic@3711
   907
Restrictions will apply when using \sisac{} as a learning or tutoring tool, especially during exams. When being used as a calculation tool, restrictions are relaxed to gain access to the full power of the Math Engine.
wneuper@1693
   908
% \subparagraph{Time limits for delivering course material} are a general requirement for educational systems, and it applies for example collections as well. This requirement provides the course admin to distribute workload over time and to focus the attention of the learners. Sometimes it may be desirable to have some examples finished within a certain time limit. Also examples (for instance prepared for an examination) may be invisible for learners.
wneuper@1693
   909
wneuper@1693
   910
{\bf\UR{Restrictions are individual to a user or group.\label{DIALOG:RESTRICT:individual}}}
wneuper@1693
   911
wneuper@1693
   912
{\bf\UR{Groups of examples may be invisible.\label{DIALOG:RESTRICT:examples}}}
wneuper@1693
   913
Parts of the example collection may be inaccessible for specific groups of learners.
wneuper@1693
   914
%WN040506 Herzeigen, aber nicht Hergeben ... ist das gut ??? Das folgende UR schiene mir hinreichend zu sein; dieses hier wegzulassen ?!
wneuper@1693
   915
%AK040509 ist noch der alte text. drunter steht schon die notiz, die mich erinnern soll, nach dem unterschied zwischen "locked" und "invisible" zu fragen. wenn wir schon dabei sind: was war im alten text jeweils mit den worten gemeint?
wneuper@1693
   916
wneuper@1693
   917
% diff. locked/invisible?
nsimic@3711
   918
% \UR{??? Groups of examples may be invisible}\label{invisible} for all users except the % example author.
wneuper@1693
   919
wneuper@1693
   920
{\bf\UR{Access to items in the Knowledge Base can be restricted.\label{DIALOG:RESTRICT:knowledge}}}
wneuper@1693
   921
wneuper@1693
   922
{\bf\UR{The amount of User Guidance may be restricted.\label{DIALOG:RESTRICT:guidance}}}
wneuper@1693
   923
wneuper@1693
   924
{\bf\UR{The use of Dialog Patterns may be restricted.\label{DIALOG:RESTRICT:patterns}}}
wneuper@1693
   925
wneuper@1693
   926
{\bf\UR{Restrictions may be overridden.\label{DIALOG:RESTRICT:override}}}
wneuper@1693
   927
Depending on the settings provided by the course-designer and the user's access rights, some restriction may be overridden by the user. Overriding e.g. allows to look at explanations and examples for other courses.
wneuper@1693
   928
%WN040506 Da wird man also restrictions 'overridable' and 'non-overridable' by the user haben
wneuper@1693
   929
wneuper@1693
   930
{\bf\UR{Restrictions may apply within time limits.\label{DIALOG:RESTRICT:time}}}
wneuper@1693
   931
Some restrictions may apply only within certain time limits, e.g. during an exam or during class. Time limits can be given by start and finish or by their duration.
wneuper@1693
   932
wneuper@1693
   933
{\bf\UR{Restrictions may depend on the user's learning progress.\label{DIALOG:RESTRICT:goal}}}
wneuper@1693
   934
Some restrictions may apply until certain examples have been solved or the user has mastered certain aspects of knowledge.
wneuper@2365
   935
wneuper@2329
   936
\footnote{End of copy from \cite{AK04:thesis} p.41}
wneuper@2329
   937
%WN050519---AK04:thesis.p.41->isac-URD-----------End:dont delete this line
wneuper@1693
   938
wneuper@1693
   939
wneuper@1693
   940
agriesma@308
   941
\subparagraph{Time limits for delivering course material} are a general requirement for educational systems, and it applies for example collections as well. This requirement provides the course admin to distribute workload over time and to focus the attention of the learners. Sometimes it may be desirable to have some examples finished within a certain time limit. Also examples (for instance prepared for an examination) may be invisible for learners.
agriesma@308
   942
%{\bf\UR \label{}}
wneuper@2334
   943
{\bf\UR There are 2 kinds of time limits:\label{time-limits}} (1) given by start and finish, and (2) given by a duration (where start and finish are recorded with the user).
agriesma@308
   944
{\bf\UR Groups of examples may be locked\label{expl-locked}} for groups of learners for certain time limits. (SR: attention with links from the KB !)
agriesma@308
   945
{\bf\UR Groups of examples may be invisible\label{invisible}} for all users except the example author for certain time limits. (SR: examples have an author !)
nsimic@3711
   946
{\bf\UR Restricted help for the learners during a exam\label{restrict-know}} %WNnein: depending on the location (classroom) or
agriesma@308
   947
i.e. particular links into the knowledge base are restricted for a particular group for a limited time.
agriesma@308
   948
{\bf\UR Access-rights during an exam-session \label{}} are particularily restricted (a user might get unwanted information by opening another session as a member of another group).
agriesma@308
   949
{\bf\UR Restrictions may be overridden or not\label{other-courses}} depending on the setting by the course-designer. Overriding e.g. allows to look at explanations and examples for other courses.
agriesma@308
   950
wneuper@1693
   951
nsimic@3711
   952
\section{Survey on the progress of the learners} i.e. of the students in a course. Such surveys are indispensable requirements for a course admin. Thus all the surveys below are related to a specific course.
agriesma@308
   953
%{\bf\UR \label{}}
wneuper@2334
   954
{\bf\UR There is a statistics-tool\label{statistics}} for the learners progress
wneuper@2334
   955
{\bf\UR Statistics are drawn from\label{data-for-statistics}} the following data: TODO
agriesma@308
   956
agriesma@308
   957
Examples for statistics:
agriesma@308
   958
\begin{itemize}
agriesma@308
   959
\item Which examples have been done by whom with which performance
agriesma@308
   960
\item Sorts w.r.t. the examples: frequency of touched, not touched, solved, unsolved (, evaluation of performance, as soon as evaluation functions have been designed) over all students of a course
agriesma@308
   961
\item Sort w.r.t. the students: likewise over all examples in specified groups
agriesma@308
   962
\item Which lookups into the knowledge have been done
agriesma@308
   963
\item Sorts w.r.t. the destination: likewise over students
wneuper@3190
   964
\item Sorts w.r.t. the students: likewise over the knowledge.\\
wneuper@3190
   965
\end{itemize}
wneuper@3190
   966
wneuper@3190
   967
For preliminarily checking the usage of the system (as well as for preliminary monitoring of the system -- see sect.\ref{sysadmin-monitor}) the following requirement is stated, until the respective requirements analyses are done.
wneuper@3190
   968
wneuper@3190
   969
{\bf\UR A text-file records the usage of the system.\label{}} The records contain the following basic data for each user logging in during the life-time of the session-manager.
wneuper@3190
   970
\begin{itemize}
wneuper@3190
   971
\item at login
wneuper@3190
   972
  \begin{itemize}
wneuper@3190
   973
  \item user name (if there are anonymous users, record the mail address)
wneuper@3190
   974
  \item time of login
nsimic@3711
   975
  %\item
wneuper@3190
   976
  \end{itemize}
wneuper@3190
   977
\item for each example called (no recording of access to the knowledge base~!)
wneuper@3190
   978
  \begin{itemize}
nsimic@3711
   979
  \item example-ID
wneuper@3190
   980
  \item time of starting the example (i.e. the respective worksheet)
wneuper@3190
   981
  \item time of removing the example (i.e. the respective worksheet)
nsimic@3711
   982
  %\item
wneuper@3190
   983
  \end{itemize}
wneuper@3190
   984
\item at logout
wneuper@3190
   985
  \begin{itemize}
wneuper@3190
   986
  \item user name (if there are anonymous users, record the mail address)
nsimic@3711
   987
  \item number of examples
wneuper@3190
   988
  \item time of login and logout
nsimic@3711
   989
  %\item
wneuper@3190
   990
  \end{itemize}
nsimic@3711
   991
%\item
agriesma@308
   992
\end{itemize}
agriesma@308
   993
neuper@4177
   994
Special requirements may be raised by field studies on learning
neuper@4177
   995
mathematics. \sisac{} shall be open for such special
neuper@4177
   996
research. I.e. queries over examples, lookups, students {\em and
neuper@4177
   997
courses}. Anonymous evaluation has to be regarded.  {\bf\UR Anonymous
neuper@4177
   998
evaluation of statistics.\label{}}
agriesma@308
   999
neuper@4177
  1000
\section{Written examinations} can be done due to requirements stated
neuper@4177
  1001
elsewhere: hidden examples UR.\ref{invisible}, restricted access to
neuper@4177
  1002
knowledge UR.\ref{restrict-know}, and adapted dialog
neuper@4177
  1003
UR.\ref{dialog-atoms}.
wneuper@3190
  1004
neuper@4177
  1005
{\bf\UR The course admin can force a student to
neuper@4177
  1006
exam-mode:\label{UR.WN-force-exam}} That includes, that there is no
neuper@4177
  1007
way for this user, to open a session with a user-model which would
neuper@4177
  1008
undermine the exam-mode. A student, in spite of being a member of a
neuper@4177
  1009
group (or several groups), might be examined separated from other
neuper@4177
  1010
members of the group (in case of illness at the time of the group's
neuper@4177
  1011
exam etc.)
wneuper@3190
  1012
neuper@4177
  1013
{\bf\UR The course admin can force a group of users to
neuper@4177
  1014
exam-mode:\label{}} Sideconditions as in UR.\ref{UR.WN-force-exam}.
wneuper@3190
  1015
neuper@4177
  1016
{\bf\UR The exam-mode is described as
neuper@4177
  1017
follows:\label{UR:exam-mode-prelim}} Preliminarily, the buttons
neuper@4177
  1018
$<$next$>$ and $<$auto$>$ are not available, neither in the
neuper@4177
  1019
specification phase nor in the solve phase.
agriesma@308
  1020
neuper@4177
  1021
{\bf\UR The exam-mode can be quitted in several
neuper@4177
  1022
ways:\label{UR:quit-exam}}
neuper@4172
  1023
\begin{enumerate}
neuper@4172
  1024
\item by the learner any time
neuper@4177
  1025
\item predifined by settings (given by the course admin) the system
neuper@4177
  1026
closes the exam-mode due to the time constraints set (and kindly
neuper@4177
  1027
warning the learner in time)
neuper@4172
  1028
\item by the course admin at any time (in case of cheating, etc)
neuper@4172
  1029
\end{enumerate}
neuper@4172
  1030
neuper@4177
  1031
{\bf\UR The couse admin gets several views on the results of an
neuper@4177
  1032
exam:\label{}} Required are views to individual results
neuper@4177
  1033
(``Pr\"ufungseinsicht''), to groups, to several groups for comparison,
neuper@4177
  1034
etc. These views can be printed out (``Pr\"ufungsliste'' only with
neuper@4177
  1035
``Matrikelnummer'' for public announcement, etc).
neuper@4172
  1036
neuper@4172
  1037
%{\bf\UR :\label{}}
agriesma@308
  1038
akremp@767
  1039
\chapter{Requirements of the course designer}\label{course-designer}
agriesma@308
  1040
wneuper@3185
  1041
%WN060324--->thesis.ML-----------------BEGIN---please don't remove this line
wneuper@1693
  1042
\section{General}
agriesma@308
  1043
A course desinger prepares the learning materials and exercises for a course according to the goals of that course, or according to the learners' level. If \sisac{} is being used for a course, specific explanations may be added to the knowledge
agriesma@308
  1044
\footnote{It is the task of a {\em mathematics author}, however, to edit the {\em contents} of a math knowledgebase~!}
agriesma@308
  1045
and examples will be prepared within the example collection.
agriesma@308
  1046
{\bf\UR Explanations from other \sisac-sites can be imported.\label{}}
agriesma@308
  1047
{\bf\UR Examples from other \sisac-sites can be imported.\label{}}
wneuper@3176
  1048
\\
wneuper@3176
  1049
\\
wneuper@3190
  1050
\noindent These requirements are important, because \sisac{} will be an open system in all respects. In particular, each \sisac-site shall go public with the knowledge and the examples available at this site --- for information of individual learners as well as a starting point for exchange of course-content between educational institutions.
wneuper@3176
  1051
wneuper@3190
  1052
{\bf\UR Copyright for the author of explanations.\label{UR-(c)-explanation}} See UR.\ref{UR-(c)-math}.
agriesma@308
  1053
{\bf\UR Copyright for the author of examples.\label{}}
wneuper@3190
  1054
%{\bf\UR \label{}}
agriesma@308
  1055
agriesma@308
  1056
wneuper@3190
  1057
\section{Appearance of example collections}\label{exp-coll}
agriesma@308
  1058
One application of \sisac{} will be to mechanize tutoring on existing example collections, as found for instance in traditional textbooks. Thus the example collection must copy the structure already given (the enumerations, page breaks, assembly on a page etc.) in order to allow the learner to find a particular example (e.g. given as homework). Traditional textbooks use arbitrary labels for their chapters and sections, the levels are nested arbitrarily deep, and there are arbitrary labels for the examples.
agriesma@308
  1059
agriesma@308
  1060
For copy-right reasons it also may happen, that the example itself (i.e. text, formulas, figures) is not displayed, only the respective label. In this case the label should be located exactly at the same position on a virtual 'page' on the screen as the original position in the page of the textbook.
agriesma@308
  1061
%{\bf\UR Each example has a unique label. \label{}} Klaus.19.12.02
wneuper@3190
  1062
{\bf\UR The labels of examples are defined by the author}\label{UR161a}
wneuper@3190
  1063
{\bf\UR The layout can model textsbooks.\label{expl-layout}} i.e. the structure of the underlying system must be strong enough to model the structure of textbooks (but also exceeds this structure, e.g. with links)
agriesma@308
  1064
%{\bf\UR \label{}}
agriesma@308
  1065
wneuper@3190
  1066
\section{The structure of example collections}\label{exp-struct} is a hierarchy of groups of examples. A group of examples consists of the part visible to the learner (which may be copied from a textbook) and meta data for \sisac{} to suggest examples of a level appropriate to an individual learner. There are already requirements concerning examples, UR.\ref{expl-locked} and UR.\ref{invisible}, which apply to groups of examples for convenience.
agriesma@308
  1067
%{\bf\UR \label{}}
wneuper@3190
  1068
{\bf\UR There is only one example collection in the system\label{}} in analogy to {\em one} problem-hierarchy and {\em one} method hierarchy, see UR.\ref{UR-hierarchy}. This collection, however, even may comprise several textbooks.
wneuper@2365
  1069
{\bf\UR There are groups of examples \label{}} with common properties, see UR.\ref{expl-locked} and UR.\ref{invisible}.
agriesma@308
  1070
%{\bf\UR The hierarchy of groups of examples can be zoomed in/out.} Klaus.19.12.02 nona
agriesma@308
  1071
{\bf\UR A group and/or an example are weighted\label{}} w.r.t. properties to be defined in a later phase of development (at least the properties 'difficulty' and 'length').
agriesma@308
  1072
{\bf\UR A tool for selecting examples\label{}} w.r.t. the weights (and the user-model etc.) is required. There may be also administrative concerns:
agriesma@308
  1073
\begin{itemize}
agriesma@308
  1074
\item A limit of the number of solved examples may be defined for a group; if the limit is touched, this group has been mastered successfully by a student within a certain course. An evaluation-function for the performance will be advantageous here in the future.
agriesma@308
  1075
\item There might be obligatory examples in a group; i.e. such an example must be solved by a student in order to have the group mastered successfully.
agriesma@308
  1076
\end{itemize}
agriesma@308
  1077
%{\bf\UR \label{}}
agriesma@308
  1078
wneuper@3190
  1079
\section{Edit examples in the example collection}\label{exp-edit}
wneuper@3176
  1080
An example can be described by verbal text, by formulas, and by figures (and eventual by movies). Additionally, each example contains data hidden from the visitor and the learner.
wneuper@2323
  1081
%{\bf\UR Integrated editing of text, formulas and figures}\label{editors}
wneuper@2323
  1082
{\bf\UR{Explanatory data can be embedded into examples}\label{COMMON:CALCDATA:explanations}}
wneuper@2323
  1083
An example can be described by verbal text, by formulas, by figures and possibly by movies. Additionally, each example contains data hidden from the visitor and the learner.
wneuper@2323
  1084
wneuper@2323
  1085
{\bf\UR A formalization is a list of formulas.\label{COMMON:CALCDATA:formalization}}
wneuper@2323
  1086
{\bf\UR A specification is a triple\label{COMMON:CALCDATA:specification}} of three pointers to a theory, a problem and a method respectively.
wneuper@2323
  1087
{\bf\UR Each example is combined with a list of pairs of\label{COMMON:CALCDATA:example}} a formalization and a specification respectively.
wneuper@2323
  1088
The pairs of Formalization and Specification are used for user guidance while specifying a calculation and are remain to users in a learning situation.
wneuper@3176
  1089
{\bf\UR Formalizations and specifications are hidden\label{}} from the learner.
wneuper@2323
  1090
{\bf\UR{An example may contain Error Schemes}\label{COMMON:CALCDATA:errorscheme}}
nsimic@3711
  1091
An Error Scheme modelling typical errors and providing explanations
nsimic@3711
  1092
and specific user guidance for resolving the errors
wneuper@3185
  1093
may be stored with an example.An Error Scheme may be paired with an explanation (see UR.\ref{UR-explanation}\dots UR.\ref{UR-explanation-forall} below).
agriesma@308
  1094
agriesma@308
  1095
wneuper@3204
  1096
\section{Checks for example collections}
wneuper@3204
  1097
For each example or for groups of examples is necessary to run particular checks before delivery to the learners.
wneuper@3204
  1098
\subsection{Check of format}
nsimic@3711
  1099
Like the other items of \sisac s knowledge base, examples are stored in XML-format. The data in the XML-files are filtered and converted to HTML for presentation to the user.
wneuper@3204
  1100
{\bf\UR A tool for checks on the conversion from XML to HTML\label{}} for groups of examples is required, and also for particular examples found to be buggy.
wneuper@3204
  1101
\subsection{Check of solvability}
wneuper@3204
  1102
The course designer addresses items of the mathematics knowledge (theories, problems, methods) prepared by math authors. It may be, that particular examples cannot be solved automatically by means of the knowledge addressed.
agriesma@308
  1103
{\bf\UR A tool for batch-processing examples \label{}} is required.
agriesma@308
  1104
{\bf\UR Errors for batch-processing \label{}} are: TODO
agriesma@308
  1105
%{\bf\UR \label{}}
agriesma@308
  1106
\\
agriesma@308
  1107
wneuper@3185
  1108
\section{Edit explanations in the knowledge base}
nsimic@3711
  1109
As already mentioned, explanations are multi-media add-ons to the math-contents of the knowledge base. The latter is generated automatically from the SML-representation in the SML-kernel (where the knowledge in the SML-kernel is due to authoring by math-authors, see chap.\ref{math-author}.).
wneuper@3176
  1110
wneuper@3185
  1111
{\bf\UR An explanation may consist of\label{UR-explanation}} text, formulas, figures, movies, and links into \sisac's knowledge base itself, into the web, to an example in the resident site. Most HTML-editors, as presently available, meet the requirements for editing explanations.
wneuper@3176
  1112
wneuper@3190
  1113
{\bf\UR Each item in a knowledge base can have an explanation\label{UR-explanation-forall}}. This should also be possible within formulas, e.g. an explanation to a predicate in a 'where'-field of a model etc. . See also UR.\ref{DIALOG:GUIDE:description}.
wneuper@3176
  1114
agriesma@308
  1115
{\bf\UR Explanations are course-specific. \label{author-explanation}}
agriesma@308
  1116
Each course might have different explanations according to the contents of the course, according to the specific example collection, and according to the learners' level.
wneuper@3185
  1117
wneuper@3185
  1118
{\bf\UR{The location of an item in the hierarchy is not persistent over time.\label{UR.WN-hier-location-not-persistent}}} For instance, a problem like 'linear equation' (together with its children) can be shifted around in the hierarchy of equations. As the knowledge comes from 2 sources, (1) exported from the SML-kernel after authoring by math-authors and (2) manually addition of explanations by course-designers, the identification of a primary key requires particular attention.
wneuper@3185
  1119
wneuper@3185
  1120
%WN060324--->thesis.ML-----------------END---please don't remove this line
wneuper@3185
  1121
wneuper@3185
  1122
{\bf\UR{There are tools to shift hundreds of explanations together with their items.\label{UR.WN-shift-items}}} This may happen with the above example for 'linear equation' together with its children, and with explanations for several user groups.
wneuper@3185
  1123
wneuper@3185
  1124
{\bf\UR{There are tools for searching the knowledge base.\label{UR.WN-search-kb}}} Not only the learner (see sect.\ref{kb-context-views}) but also the author depends on requirements for searching the knowledge; these requirements are different.
wneuper@3185
  1125
wneuper@3185
  1126
%{\bf\UR{.\label{}}\\}
wneuper@3185
  1127
%{\bf\UR{.\label{}}\\}
wneuper@3185
  1128
agriesma@308
  1129
agriesma@308
  1130
nsimic@3711
  1131
\section{A knowledge profile} for each course results from the explanations following the requirements from above, plus from the detail knowledge is used in, from error schemes and from fill-in patterns for theorems.
wneuper@2365
  1132
{\bf\UR An example group and/or an example specifies the details\label{profile-details}} as defined in UR.\ref{detail}.
wneuper@3185
  1133
{\bf\UR There are error schemes,\label{}} eventually several for one theorem in a particular method, or for specific tactics in a particular method. An error scheme is paired with an explanation (UR.\ref{UR-explanation}\dots UR.\ref{UR-explanation-forall}).
agriesma@308
  1134
nsimic@3711
  1135
An Error Scheme modelling typical errors and providing explanations
nsimic@3711
  1136
and specific User Guidance for resolving the errors
agriesma@308
  1137
wneuper@2365
  1138
{\bf\UR There are fill-in patterns\label{}} for theorems, eventually several for one theorem in a particular method. Such patterns are used for the dialog atoms UR.\ref{dialog-atoms}, e.g. \ref{fillres} or \ref{filltac}.
wneuper@1693
  1139
wneuper@2365
  1140
In addition to a tactic being applied manually by the user or automatically by \sisac{}, a tactic can be presented with parts left blank to be filled in by the user.
wneuper@1693
  1141
wneuper@1693
  1142
\section{A dialog profile} can be preset according to the students' level. These predefined setting can be overridden by the students in most cases, but not in all cases. The dialog profile will be more elaborated as soon the 'dialog programming' and the user model habe been clarified in a future development phase.
nsimic@3711
  1143
{\bf\UR A dialog mode restricts the dialog atoms\label{}} (UR.\ref{dialog-atoms}) to be used by the learner within certain time limits (e.g. during the time of a written examination).
agriesma@308
  1144
agriesma@308
  1145
%\subparagraph{}
agriesma@308
  1146
%{\bf\UR . \label{}\\}
agriesma@308
  1147
%{\bf\UR . \label{}\\}
agriesma@308
  1148
%{\bf\UR . \label{}\\}
agriesma@308
  1149
%{\bf\UR . \label{}\\}
agriesma@308
  1150
agriesma@308
  1151
akremp@767
  1152
\chapter{Requirements of the administrator}
wneuper@3190
  1153
The administrator has to install the system and to monitor it. Moreover his duty is to implement the overall design of an \sisac-site. This includes introductory pages as well as an basic overall design (Corporate Design, links to ``home''...)
agriesma@308
  1154
wneuper@3190
  1155
\section{Install and monitor the system}\label{sysadmin-monitor}
wneuper@1693
  1156
TODO
wneuper@1693
  1157
wneuper@3190
  1158
preliminary requirements:
wneuper@3190
  1159
nsimic@3711
  1160
{\bf\UR A text-file records the data exchange with the sml-kernel.\label{UR.WN-java-sml}} This file serves as a primitive way to check if the sml-kernel is alive as well as for debugging.
wneuper@3190
  1161
%WN060407 presently called 'BridgeLog Java <=> SML'
wneuper@3190
  1162
wneuper@3190
  1163
{\bf\UR The system can be asked for the number of users logged in.\label{}}
wneuper@3190
  1164
wneuper@3190
  1165
{\bf\UR The system can be asked for the number of calculations under construction.\label{}}
wneuper@3190
  1166
wneuper@3190
  1167
wneuper@3190
  1168
\section{Customize the appearance in the web}
wneuper@3190
  1169
TODO
wneuper@3190
  1170
wneuper@3190
  1171
preliminary requirement:
wneuper@3190
  1172
wneuper@3190
  1173
{\bf\UR Basic parameters to adapt the HTML-outtput to a corporate
wneuper@3190
  1174
design (e.g. colors, font, \dots)}
wneuper@3190
  1175
wneuper@3190
  1176
wneuper@3190
  1177
%{\bf\UR \label{}}
agriesma@308
  1178
%\subparagraph{}
agriesma@308
  1179
wneuper@3190
  1180
\newpage %to keep page numbering after some editing
wneuper@2566
  1181
.