cleaned up UC and UR
authorakremp
Fri, 11 Mar 2005 04:41:53 +0100
changeset 215837e3b2b03e0c
parent 2157 522ecf7b76e6
child 2159 05489e6d4502
cleaned up UC and UR
chapter on design of DG added
doc/krempler/design-ak.tex
doc/krempler/implement-ak.tex
doc/krempler/thesis_krempler.tex
doc/krempler/thesis_krempler.toc
doc/krempler/urd-ak.aux
doc/krempler/urd-ak.tex
doc/krempler/usecases-ak.tex
     1.1 --- a/doc/krempler/design-ak.tex	Wed Mar 09 05:53:06 2005 +0100
     1.2 +++ b/doc/krempler/design-ak.tex	Fri Mar 11 04:41:53 2005 +0100
     1.3 @@ -3,13 +3,13 @@
     1.4  
     1.5  In this chapter, design specific to the Dialog Guide component will be dealt with. 
     1.6  We will start with a closer look at the Dialog Guide's internal organization and behaviour. 
     1.7 -In the remaining sections, we will concentrate how the Dialog Guide deals with data or components shared with other parts of the system.
     1.8 +In the remaining sections, we will concentrate how the Dialog Guide deals with data or components shared with other parts of the system. Relationships to design patterns described in \cite{Gamma95} will be pointed out where appropriate.
     1.9  
    1.10  \section{Controlling the Course of Interaction}
    1.11  The Dialog Guide is responsible for guiding the user the way to obtaining a solution to a problem. 
    1.12  
    1.13  \subsection{Dialog Phases}
    1.14 -On a coarse level, interaction goes through several phases with fixed sequence, independent of the particular problem being solved (\refUR{COMMON:CALCDATA:phases}). These so-called Dialog Phases have been modelled on a state machine with well-defined states and transitions between the states. During each of these phases, the Dialog Guide behaves differently and reacts to different requests. Regardless of mathematical context, the Dialog Phases provide a certain degree of error-robustness by recognising out-of-order events.
    1.15 +On a coarse level, interaction goes through several phases with fixed sequence, independent of the particular problem being solved (\refUR{COMMON:CALCDATA:phases}). These so-called Dialog Phases have been modelled on a state machine with well-defined states and transitions between the states. During each of these phases, the Dialog Guide behaves differently and reacts to different requests. Regardless of mathematical context, the Dialog Phases provide a certain degree of error-robustness by recognising out-of-order events. With the Dialog Phases and their relationships becoming more complex in future development, providing separate sub-classes for the Dialog's behaviour in different states may be appropriate, as described in the State pattern \cite{Gamma95}.
    1.16  \subsubsection{Initialising}
    1.17  To start interaction, the Dialog Guide has to establish connections with the components it interacts with, a Worksheet representing the Presentation Layer and a Math Engine representing the application (\refUC{START:contact_math}). In addition to that, the Dialog Guide needs information about the user it deals with, to be able to adapt its behaviour accordingly (\refUC{START:ident_user}, \refUR{COMMON:USERS:multi}).
    1.18  Only after being provided with a CalcHead to act upon and - optionally - a Formalization of a pre-defined Example (\refUC{START:from_example}), the Dialog can enter the Specification Phase.
    1.19 @@ -28,7 +28,7 @@
    1.20  % add state diagram
    1.21  
    1.22  \subsection{Dialog Atoms}
    1.23 -As opposed to the high-level Dialog Phases, Dialog Atoms are basic building blocks of system-user interaction at the level of a single interaction. For configuring the Dialog Guide's interactional behaviour, we aim at developing an abstract language with Dialog atoms as "nouns".
    1.24 +As opposed to the high-level Dialog Phases, Dialog Atoms are basic building blocks of system-user interaction at the level of a single interaction. For configuring the Dialog Guide's interactional behaviour, we aim at developing an abstract language with Dialog atoms as part of the vocabulary. The Dialog Guide could contain an API for programming its behaviour, with a lower-level interface implementing an Interpreter pattern \cite{Gamma95} for Dialog Atoms and a high-level interface implementing the Strategy pattern.
    1.25  %WN040506 Hhhmmmm, as Folgende brauchst Du für das nachfolgende UR --- kann man das nicht irgendwo ganz am Anfang einführen ????
    1.26  The following proposal for possible atomic interactions when taking a step in a calculation during the Solving Phase is taken from \cite{wn:diss}:
    1.27  \begin{quotation}
    1.28 @@ -49,18 +49,50 @@
    1.29  Taking atom 1 as an example, it is essentially the same whether \currf is supplied by \isac{} and \res is expected to be input by the user or the user asks \isac{} to derive \res from \currf. In abstract terms, in both cases one part provides \currf and the other part is expected to supply \res. For this reason, the Dialog Guide tries to provide symmetric Dialog Atoms and make use of this symmetry in the implementation.
    1.30  
    1.31  \section{Communicating the State of Calculation}
    1.32 +As a component sitting between the Application and the Presentation Layer, one of the tasks of the Dialog Guide is to propagate information about changes or events in one component to the other.
    1.33 +The Dialog Guide intercepts the flow of information and modifies it by implementing \isac{}'s logic of user-interaction. 
    1.34  \subsection{Wrapper-based Design}
    1.35 +One approach is wrapping the objects representing the calculation - the Calculation Tree and associated objects - into objects with the same interfaces but different behaviour, following the Decorator pattern \cite{Gamma95}. This way, the Dialog Guide can filter information considered not appropriate for being presented to the user by simply removing these data from the representation accessible to the Presentation Layer. For an example, if the user is not interested in the Tactics transfoming one formula into another, the Tactics simply do not show up in the representation of the calculation seen by the Presentation Layer. This has the advantage of simplicity - the Presentation Layer and the Application need not consider filtering taking place or even know about filtering at all. Moreover, the same interface can still be used if one would want a system without the intervention of a Dialog Guide for direct communication between the Application and the Presentation Layer.
    1.36  \subsection{Event-driven Design}
    1.37 -when do we use events, when do we use function calls?
    1.38 +In addition to data representing the state of calculation, there is data representing changes in time. Many of these changes occur asynchronously at unpredictable intervals - such as interactions of the user - or with considerable unpredictable delay after the event that that triggered them - such as results of a lengthy transformation becoming available. This sort of changes is communicated through event messages, with objects interested in such notifications registering as Observers \cite{Gamma95} with sources of events. The main sources of events are the Presentation Layer for user actions and the Application for new information about the calculation becoming available. The Dialog Guide intercepts and filters these messages using the Mediator pattern \cite{Gamma95}.
    1.39  
    1.40  \section{Configurable User-Interface}
    1.41 -dividing responsibilities between components
    1.42 -what the dialog guide need and need not control
    1.43 -controlling the Presentation Layer
    1.44 +The Dialog Guide and the Presentation Layer have to cooperate closely in user interaction. Consider a button on the screen triggering some action. It is the Presentation Layer's responsibility to render the button and to notice the user clicking it. It is the Dialog Guide's responsibility to decide whether the user is allowed to request such action and to trigger appropriate action in the Application. 
    1.45 +
    1.46 +The division is not always so clear-cut. Consider internationalisation of the user-interface \refUR{COMMON:MISC:i18n}: Is it the Presentation Layer, which is responsible for rendering in general and the language environment, that decides which text to set on the button? Or is it the Dialog Guide, which knows the meaning of the action triggered by the button? For the following considerations, we will stick to the example of the button.
    1.47 +\subsection{The Presentation Layer in Control}
    1.48 +If the Presentation Layer controls every aspect of a button, such as visual appearance, placement on screen and the actions triggered, everything seems easy. 
    1.49 +Problems arise if we consider buttons which are needed only in special contexts. A button asking for the next Tactic to be applied to a formula does not make sense during the Specifying Phase, where no Tactics occur. 
    1.50 +
    1.51 +We could show the button all the time, with the Dialog Guide simply ignoring requests when not appropriate. This has the disadvantage of confusing the user with lots of buttons which can be clicked but make no sense in the current context.
    1.52 +
    1.53 +We could show buttons only if clicking them makes sense. If the Presentation Layer were to solve this problem, it would need information about the current phase of the dialog. While this may seem feasible, in other situations the applicability of the button might depend on the user's role or privileges, or on the user's level of expertise, which in turn might change even during a session. Especially if buttons depend on didactic strategies, this involves knowledge which has nothing to do with presentation but is clearly part of the Dialog Guide. 
    1.54 +
    1.55 +\subsection{The Dialog Guide in Control}
    1.56 +If we put the Dialog Guide in control of the buttons, it becomes easy to solve problems with context, but this would require the Dialog Guide to care about internationalisation and visual appearance, which is out of interactional context and should be left to the Presentation Layer.
    1.57 +
    1.58 +\subsection{Splitting up Responsibilities and Providing for Interaction}
    1.59 +It seems best to have the various aspects of a button controlled by the component which posesses the information necessary to do so. 
    1.60 +While the Presentation Layer should control every visual aspect of a button such as text, shape and placement on screen, the Dialog Guide should control the context in which the button appears and the action it triggers.
    1.61 +First attempts aimed at providing means for the Dialog Guide to enable or disable buttons otherwise controlled by the Presentation Layer. In the meantime, the goal changed to having the Dialog Guide control the creation and destruction of elements of user-interaction as well.
    1.62 +The Dialog Guide creates a element of user-interaction by providing an identification of the action it triggers. The presentation layer need not even understand the meaning of the action, it uses the identification merely for notifying the Dialog Guide which action has been triggered by the user. In addition to that, the Dialog Guide provides the Presentation Layer with hints about the context of the user interaction, such as whether the action relates to a single formula or the user's session as a whole. The Presentation Layer can use this information to choose an appropriate visual representation. Moreover, the the Dialog Guide does not even request the trigger to be a button. It requests that a means for the user to trigger a request be created and it is left to the design of the Presentation Layer to offer a button, a menu item or both. This approach bears similarites to the Factory pattern \cite{Gamma95}.
    1.63 +
    1.64  
    1.65  \section{Obtaining and Storing Configuration Data}
    1.66 +Much of the Dialog Guide's behaviour can be parameterised (\refUR{DIALOG:FLEX}), and many of these parameters are individual to a user (\refUR{DIALOG:ADAPT}). Moreover, some of the parameters are modified by the system itself during a session (\refUR{DIALOG:ADAPT}) based on data collected (\refUR{DIALOG:PROFILE}).
    1.67 +
    1.68  \subsection{The User Settings}
    1.69 +By user settings we denote preferences on aspects of the system set by the user, such as amount of data shown, levels of difficulty or custimisations of the visual appearance of the program. As these settings do not pertain only to the Dialog Guide but also to other parts of the system, they will be managed outside the Dialog Guide. It is to be noted that this information does not change very often, so efficient processing is not an issue. 
    1.70 +
    1.71 +\subsection{Permissions and Security Issues}
    1.72 +With \isac{} being developed as groupware (\refUR{COMMON:USERS:groups}), special attention has to be paid to the fact that settings will be set not only by the individual user, but also by privileged persons such as course administrators (\refUR{COMMON:USERS:roles}). In addition to that, changing some of the settings may be subject to restrictions (\refUR{DIALOG:RESTRICT:individual}) depending on the role of the user. It is assumed that reconciliation of contradictory settings and security issues have already been resolved by user management and that the Dialog Guide has access to the settings in effect for the current session.
    1.73 +
    1.74  \subsection{The User Model}
    1.75 -\subsection{Permissions and Security Issues}
    1.76 +As required in \refUR{DIALOG:ADAPT}, the Dialog Guide will adapt to the assumed knowledge and abilities of the user. Decisions about which information to show and which actions to take will be based on an internal abstraction of the experience the system had with the user, the User Model.
    1.77  
    1.78 -\section{object world}
    1.79 \ No newline at end of file
    1.80 +The User Model is notified about every interaction between user and mathematical knowledge and information about the knowledge involved (\refUR{DIALOG:ADAPT:knowledge}) and the user's performance (\refUR{DIALOG:ADAPT:perform}) is recorded together with information about the context of the interaction, i.e. the Dialog Atom used in the interaction. For efficiency reasons, data are stored as statistical digest rather than as log. The User Model is accessed frequently, at least once per interaction both for query and for recording the outcome, and logging every event would grow the amount of data processed unmamageable very soon.
    1.81 +
    1.82 +Note that the User Model gathers and processes the data, but is not aware of their meaning - knowledge items and Dialog Atoms are processed as identifying numbers. Interpretation of the data is left to the components which use them, i.e. the Dialog Guide and, in the future, the Knowledge Browser.
    1.83 +
    1.84 +As the user's history has to be regarded as well (\refUR{DIALOG:ADAPT:history}), the User Model will be stored across sessions along with the user's settings.
    1.85 +
     2.1 --- a/doc/krempler/implement-ak.tex	Wed Mar 09 05:53:06 2005 +0100
     2.2 +++ b/doc/krempler/implement-ak.tex	Fri Mar 11 04:41:53 2005 +0100
     2.3 @@ -7,9 +7,6 @@
     2.4  
     2.5  \section{Accessing the Calculation Tree}
     2.6  
     2.7 -\section{Interfaces Aiming at a Detachable Dialog Guide}
     2.8 -dialog=wrapper for bridge
     2.9 -
    2.10  \section{The Dialog Guide Intercepting the Flow of Interaction}
    2.11  Where the Dialog intercepts the flow of interaction
    2.12  
     3.1 --- a/doc/krempler/thesis_krempler.tex	Wed Mar 09 05:53:06 2005 +0100
     3.2 +++ b/doc/krempler/thesis_krempler.tex	Fri Mar 11 04:41:53 2005 +0100
     3.3 @@ -65,24 +65,20 @@
     3.4  \chapter{Project Reflection}
     3.5  Reflection on the work done.
     3.6  
     3.7 -\chapter{Related Work}
     3.8 -Groups and projects doing research related to \isac{}.
     3.9  
    3.10 -\section{Single-stepping Algebra Systems}
    3.11 -Examples of algebra systems giving limited insight into their reasoning by revealing intermediate steps.
    3.12 -
    3.13 -\section{Guiding Other Systems}
    3.14 -Possible adaptation of the Dialog Guide component to systems other than \isac{}.
    3.15  
    3.16  \chapter{Future Developments}
    3.17  Collection of ideas for the future development of \isac{} or related systems.
    3.18  
    3.19  Using the Dialog Guide independent of the context of \isac{}.
    3.20 +Possible adaptation of the Dialog Guide component to systems other than \isac{}.
    3.21  
    3.22  Guiding interaction where learning takes place on both sides.
    3.23  
    3.24  Modelling terms, operators and operands as objects. 
    3.25  
    3.26 +transformation of data representation of math objects
    3.27 +
    3.28  Moving the logic of adaptation to individual users from the Dialog Guide to the objects themselves. (dinopolis' dynamic typing)
    3.29  
    3.30  Sharing centralized knowledge dynamically throughout the entire system instead of building tools statically from shared config files (syntax: formula editor / math engine. knowledge base: math engine / knowledge browser)
     4.1 --- a/doc/krempler/thesis_krempler.toc	Wed Mar 09 05:53:06 2005 +0100
     4.2 +++ b/doc/krempler/thesis_krempler.toc	Fri Mar 11 04:41:53 2005 +0100
     4.3 @@ -64,96 +64,94 @@
     4.4  \contentsline {section}{\numberline {2.1}Users of ${\cal I}\mkern -2mu{\cal S}\mkern -5mu{\cal AC}${}}{27}
     4.5  \contentsline {section}{\numberline {2.2}Calculations and Data Involved}{28}
     4.6  \contentsline {section}{\numberline {2.3}Miscellaneous}{30}
     4.7 -\contentsline {chapter}{\numberline {3}Requirements Specific to the Dialog Guide}{31}
     4.8 -\contentsline {section}{\numberline {3.1}User Guidance}{32}
     4.9 -\contentsline {section}{\numberline {3.2}User Profiling}{33}
    4.10 -\contentsline {section}{\numberline {3.3}Flexible Dialog Behaviour}{34}
    4.11 -\contentsline {section}{\numberline {3.4}Adaptation to Individual Users}{35}
    4.12 -\contentsline {section}{\numberline {3.5}Restrictions}{36}
    4.13 -\contentsline {part}{III\hspace {1em}Design Considerations}{37}
    4.14 -\contentsline {chapter}{\numberline {4}User Interaction from a Didactic Point of View}{38}
    4.15 -\contentsline {section}{\numberline {4.1}Basic Theories about Learning and Teaching}{38}
    4.16 -\contentsline {subsection}{\numberline {4.1.1}Behaviouristic Learning}{38}
    4.17 -\contentsline {subsubsection}{Behaviouristic Theory of Learning}{38}
    4.18 -\contentsline {subsubsection}{Behaviouristic Teaching Strategies}{38}
    4.19 -\contentsline {subsubsection}{Advantages and Drawbacks}{39}
    4.20 -\contentsline {subsubsection}{${\cal I}\mkern -2mu{\cal S}\mkern -5mu{\cal AC}${}'s Support for Behaviouristic Learning}{39}
    4.21 -\contentsline {subsection}{\numberline {4.1.2}Cognitivistic Learning}{40}
    4.22 -\contentsline {subsubsection}{Cognitivistic Theory of Learning}{40}
    4.23 -\contentsline {subsubsection}{Cognitivistic Teaching Strategies}{40}
    4.24 +\contentsline {chapter}{\numberline {3}Requirements Specific to the Dialog Guide}{32}
    4.25 +\contentsline {section}{\numberline {3.1}User Guidance}{33}
    4.26 +\contentsline {section}{\numberline {3.2}User Profiling}{34}
    4.27 +\contentsline {section}{\numberline {3.3}Flexible Dialog Behaviour}{35}
    4.28 +\contentsline {section}{\numberline {3.4}Adaptation to Individual Users}{36}
    4.29 +\contentsline {section}{\numberline {3.5}Restrictions}{37}
    4.30 +\contentsline {part}{III\hspace {1em}Design Considerations}{38}
    4.31 +\contentsline {chapter}{\numberline {4}User Interaction from a Didactic Point of View}{39}
    4.32 +\contentsline {section}{\numberline {4.1}Basic Theories about Learning and Teaching}{39}
    4.33 +\contentsline {subsection}{\numberline {4.1.1}Behaviouristic Learning}{39}
    4.34 +\contentsline {subsubsection}{Behaviouristic Theory of Learning}{39}
    4.35 +\contentsline {subsubsection}{Behaviouristic Teaching Strategies}{39}
    4.36  \contentsline {subsubsection}{Advantages and Drawbacks}{40}
    4.37 -\contentsline {subsubsection}{${\cal I}\mkern -2mu{\cal S}\mkern -5mu{\cal AC}${}'s Support for Cognitivistic Learning}{41}
    4.38 -\contentsline {subsection}{\numberline {4.1.3}Constructivistic Learning}{41}
    4.39 -\contentsline {subsubsection}{Constructivistic Theory of Learning}{41}
    4.40 -\contentsline {subsubsection}{Constructivistic Teaching Strategies}{41}
    4.41 -\contentsline {subsubsection}{Advantages and Drawbacks}{42}
    4.42 -\contentsline {subsubsection}{${\cal I}\mkern -2mu{\cal S}\mkern -5mu{\cal AC}${}'s Support for Constructivistic Learning}{42}
    4.43 -\contentsline {section}{\numberline {4.2}Modelling Interaction With a Peer}{42}
    4.44 -\contentsline {section}{\numberline {4.3}Symmetric Dialog Atoms}{43}
    4.45 -\contentsline {chapter}{\numberline {5}User Interaction from a Technical Point of View}{44}
    4.46 -\contentsline {section}{\numberline {5.1}Describing a Dialog}{44}
    4.47 -\contentsline {section}{\numberline {5.2}Adapting to Individual Users}{44}
    4.48 -\contentsline {chapter}{\numberline {6}System Environment}{45}
    4.49 -\contentsline {section}{\numberline {6.1}Basic Concepts for Separable User Interfaces}{45}
    4.50 -\contentsline {subsection}{\numberline {6.1.1}The Seeheim Model}{45}
    4.51 -\contentsline {subsection}{\numberline {6.1.2}The MVC Architecture}{46}
    4.52 -\contentsline {subsection}{\numberline {6.1.3}Comparing the approaches}{46}
    4.53 -\contentsline {subsection}{\numberline {6.1.4}Implications for ${\cal I}\mkern -2mu{\cal S}\mkern -5mu{\cal AC}${}}{47}
    4.54 -\contentsline {section}{\numberline {6.2}Distributed Components in a Heterogenous Environment}{49}
    4.55 -\contentsline {subsection}{\numberline {6.2.1}Location of the Dialog Guide}{49}
    4.56 -\contentsline {subsection}{\numberline {6.2.2}Interfacing Java and SML}{49}
    4.57 -\contentsline {subsection}{\numberline {6.2.3}Choosing a Means of Communication}{49}
    4.58 -\contentsline {subsection}{\numberline {6.2.4}The Dinopolis Middleware project}{50}
    4.59 -\contentsline {section}{\numberline {6.3}The Architectural Design of the ${\cal I}\mkern -2mu{\cal S}\mkern -5mu{\cal AC}${} System}{51}
    4.60 -\contentsline {subsection}{\numberline {6.3.1}The Overall Design of ${\cal I}\mkern -2mu{\cal S}\mkern -5mu{\cal AC}${}}{52}
    4.61 -\contentsline {subsubsection}{Browsing the Knowledge Base}{52}
    4.62 -\contentsline {subsubsection}{Authoring Tools}{53}
    4.63 -\contentsline {subsubsection}{Logging into the System and Bootstrapping}{53}
    4.64 -\contentsline {subsection}{\numberline {6.3.2}The Interfaces to the Dialog Guide Component}{55}
    4.65 -\contentsline {chapter}{\numberline {7}Designing a Dialog Guide Component}{57}
    4.66 -\contentsline {section}{\numberline {7.1}Controlling the Course of Interaction}{57}
    4.67 -\contentsline {subsection}{\numberline {7.1.1}Dialog Phases}{57}
    4.68 -\contentsline {subsubsection}{Initialising}{57}
    4.69 -\contentsline {subsubsection}{Specifying}{58}
    4.70 -\contentsline {subsubsection}{Solving}{58}
    4.71 -\contentsline {paragraph}{}{58}
    4.72 -\contentsline {subsubsection}{Subproblems}{58}
    4.73 -\contentsline {subsection}{\numberline {7.1.2}Dialog Atoms}{59}
    4.74 -\contentsline {section}{\numberline {7.2}Communicating the State of Calculation}{60}
    4.75 -\contentsline {subsection}{\numberline {7.2.1}Wrapper-based Design}{60}
    4.76 -\contentsline {subsection}{\numberline {7.2.2}Event-driven Design}{60}
    4.77 -\contentsline {section}{\numberline {7.3}Configurable User-Interface}{60}
    4.78 -\contentsline {section}{\numberline {7.4}Obtaining and Storing Configuration Data}{60}
    4.79 -\contentsline {subsection}{\numberline {7.4.1}The User Settings}{60}
    4.80 -\contentsline {subsection}{\numberline {7.4.2}The User Model}{60}
    4.81 -\contentsline {subsection}{\numberline {7.4.3}Permissions and Security Issues}{60}
    4.82 -\contentsline {section}{\numberline {7.5}object world}{60}
    4.83 -\contentsline {part}{IV\hspace {1em}Implementation}{61}
    4.84 -\contentsline {chapter}{\numberline {8}Implementation Details}{62}
    4.85 -\contentsline {section}{\numberline {8.1}The Hierarchy of Mathematical Objects}{62}
    4.86 -\contentsline {section}{\numberline {8.2}The CalcHead}{62}
    4.87 -\contentsline {section}{\numberline {8.3}Separable Sub-trees for Sub-problems}{62}
    4.88 -\contentsline {section}{\numberline {8.4}Accessing the Calculation Tree}{62}
    4.89 -\contentsline {section}{\numberline {8.5}Interfaces Aiming at a Detachable Dialog Guide}{62}
    4.90 -\contentsline {section}{\numberline {8.6}The Dialog Guide Intercepting the Flow of Interaction}{62}
    4.91 -\contentsline {section}{\numberline {8.7}Controlling the Presentation}{62}
    4.92 -\contentsline {section}{\numberline {8.8}Interfaces of the Dialog Guide}{62}
    4.93 -\contentsline {part}{V\hspace {1em}Summary, Project Reflection, Future Developments}{63}
    4.94 -\contentsline {chapter}{\numberline {9}Project Reflection}{64}
    4.95 -\contentsline {chapter}{\numberline {10}Related Work}{65}
    4.96 -\contentsline {section}{\numberline {10.1}Single-stepping Algebra Systems}{65}
    4.97 -\contentsline {section}{\numberline {10.2}Guiding Other Systems}{65}
    4.98 -\contentsline {chapter}{\numberline {11}Future Developments}{66}
    4.99 -\contentsline {part}{VI\hspace {1em}Appendices}{67}
   4.100 -\contentsline {chapter}{\numberline {A}An example for reference}{68}
   4.101 -\contentsline {section}{\numberline {A.1}Description, formalization and modeling phase}{68}
   4.102 -\contentsline {section}{\numberline {A.2}Knowledgebase and specification phase}{69}
   4.103 -\contentsline {paragraph}{Theories}{69}
   4.104 -\contentsline {paragraph}{Problems}{70}
   4.105 -\contentsline {paragraph}{Methods}{71}
   4.106 -\contentsline {section}{\numberline {A.3}Interaction on the worksheet and the browsers}{71}
   4.107 -\contentsline {paragraph}{In the modeling phase}{72}
   4.108 -\contentsline {paragraph}{The specification phase}{72}
   4.109 -\contentsline {section}{\numberline {A.4}The solving phase and subproblems}{73}
   4.110 -\contentsline {chapter}{\numberline {B}${\cal I}\mkern -2mu{\cal S}\mkern -5mu{\cal AC}$s tactics}{75}
   4.111 -\contentsline {chapter}{\numberline {C}List of terms used in the ${\cal I}\mkern -2mu{\cal S}\mkern -5mu{\cal AC}$-project}{77}
   4.112 +\contentsline {subsubsection}{${\cal I}\mkern -2mu{\cal S}\mkern -5mu{\cal AC}${}'s Support for Behaviouristic Learning}{40}
   4.113 +\contentsline {subsection}{\numberline {4.1.2}Cognitivistic Learning}{41}
   4.114 +\contentsline {subsubsection}{Cognitivistic Theory of Learning}{41}
   4.115 +\contentsline {subsubsection}{Cognitivistic Teaching Strategies}{41}
   4.116 +\contentsline {subsubsection}{Advantages and Drawbacks}{41}
   4.117 +\contentsline {subsubsection}{${\cal I}\mkern -2mu{\cal S}\mkern -5mu{\cal AC}${}'s Support for Cognitivistic Learning}{42}
   4.118 +\contentsline {subsection}{\numberline {4.1.3}Constructivistic Learning}{42}
   4.119 +\contentsline {subsubsection}{Constructivistic Theory of Learning}{42}
   4.120 +\contentsline {subsubsection}{Constructivistic Teaching Strategies}{42}
   4.121 +\contentsline {subsubsection}{Advantages and Drawbacks}{43}
   4.122 +\contentsline {subsubsection}{${\cal I}\mkern -2mu{\cal S}\mkern -5mu{\cal AC}${}'s Support for Constructivistic Learning}{43}
   4.123 +\contentsline {section}{\numberline {4.2}Modelling Interaction With a Peer}{43}
   4.124 +\contentsline {section}{\numberline {4.3}Symmetric Dialog Atoms}{44}
   4.125 +\contentsline {chapter}{\numberline {5}User Interaction from a Technical Point of View}{45}
   4.126 +\contentsline {section}{\numberline {5.1}Describing a Dialog}{45}
   4.127 +\contentsline {section}{\numberline {5.2}Adapting to Individual Users}{45}
   4.128 +\contentsline {chapter}{\numberline {6}System Environment}{46}
   4.129 +\contentsline {section}{\numberline {6.1}Basic Concepts for Separable User Interfaces}{46}
   4.130 +\contentsline {subsection}{\numberline {6.1.1}The Seeheim Model}{46}
   4.131 +\contentsline {subsection}{\numberline {6.1.2}The MVC Architecture}{47}
   4.132 +\contentsline {subsection}{\numberline {6.1.3}Comparing the approaches}{48}
   4.133 +\contentsline {subsection}{\numberline {6.1.4}Implications for ${\cal I}\mkern -2mu{\cal S}\mkern -5mu{\cal AC}${}}{48}
   4.134 +\contentsline {section}{\numberline {6.2}Distributed Components in a Heterogenous Environment}{50}
   4.135 +\contentsline {subsection}{\numberline {6.2.1}Location of the Dialog Guide}{50}
   4.136 +\contentsline {subsection}{\numberline {6.2.2}Interfacing Java and SML}{51}
   4.137 +\contentsline {subsection}{\numberline {6.2.3}Choosing a Means of Communication}{51}
   4.138 +\contentsline {subsection}{\numberline {6.2.4}The Dinopolis Middleware project}{52}
   4.139 +\contentsline {section}{\numberline {6.3}The Architectural Design of the ${\cal I}\mkern -2mu{\cal S}\mkern -5mu{\cal AC}${} System}{53}
   4.140 +\contentsline {subsection}{\numberline {6.3.1}The Overall Design of ${\cal I}\mkern -2mu{\cal S}\mkern -5mu{\cal AC}${}}{53}
   4.141 +\contentsline {subsubsection}{Browsing the Knowledge Base}{53}
   4.142 +\contentsline {subsubsection}{Authoring Tools}{55}
   4.143 +\contentsline {subsubsection}{Logging into the System and Bootstrapping}{55}
   4.144 +\contentsline {subsection}{\numberline {6.3.2}The Interfaces to the Dialog Guide Component}{56}
   4.145 +\contentsline {chapter}{\numberline {7}Designing a Dialog Guide Component}{61}
   4.146 +\contentsline {section}{\numberline {7.1}Controlling the Course of Interaction}{61}
   4.147 +\contentsline {subsection}{\numberline {7.1.1}Dialog Phases}{61}
   4.148 +\contentsline {subsubsection}{Initialising}{61}
   4.149 +\contentsline {subsubsection}{Specifying}{62}
   4.150 +\contentsline {subsubsection}{Solving}{62}
   4.151 +\contentsline {paragraph}{}{62}
   4.152 +\contentsline {subsubsection}{Subproblems}{62}
   4.153 +\contentsline {subsection}{\numberline {7.1.2}Dialog Atoms}{63}
   4.154 +\contentsline {section}{\numberline {7.2}Communicating the State of Calculation}{64}
   4.155 +\contentsline {subsection}{\numberline {7.2.1}Wrapper-based Design}{64}
   4.156 +\contentsline {subsection}{\numberline {7.2.2}Event-driven Design}{64}
   4.157 +\contentsline {section}{\numberline {7.3}Configurable User-Interface}{65}
   4.158 +\contentsline {subsection}{\numberline {7.3.1}The Presentation Layer in Control}{65}
   4.159 +\contentsline {subsection}{\numberline {7.3.2}The Dialog Guide in Control}{65}
   4.160 +\contentsline {subsection}{\numberline {7.3.3}Splitting up Responsibilities and Providing for Interaction}{66}
   4.161 +\contentsline {section}{\numberline {7.4}Obtaining and Storing Configuration Data}{66}
   4.162 +\contentsline {subsection}{\numberline {7.4.1}The User Settings}{66}
   4.163 +\contentsline {subsection}{\numberline {7.4.2}Permissions and Security Issues}{67}
   4.164 +\contentsline {subsection}{\numberline {7.4.3}The User Model}{67}
   4.165 +\contentsline {part}{IV\hspace {1em}Implementation}{68}
   4.166 +\contentsline {chapter}{\numberline {8}Implementation Details}{69}
   4.167 +\contentsline {section}{\numberline {8.1}The Hierarchy of Mathematical Objects}{69}
   4.168 +\contentsline {section}{\numberline {8.2}The CalcHead}{69}
   4.169 +\contentsline {section}{\numberline {8.3}Separable Sub-trees for Sub-problems}{69}
   4.170 +\contentsline {section}{\numberline {8.4}Accessing the Calculation Tree}{69}
   4.171 +\contentsline {section}{\numberline {8.5}The Dialog Guide Intercepting the Flow of Interaction}{69}
   4.172 +\contentsline {section}{\numberline {8.6}Controlling the Presentation}{69}
   4.173 +\contentsline {section}{\numberline {8.7}Interfaces of the Dialog Guide}{69}
   4.174 +\contentsline {part}{V\hspace {1em}Summary, Project Reflection, Future Developments}{70}
   4.175 +\contentsline {chapter}{\numberline {9}Project Reflection}{71}
   4.176 +\contentsline {chapter}{\numberline {10}Future Developments}{72}
   4.177 +\contentsline {part}{VI\hspace {1em}Appendices}{73}
   4.178 +\contentsline {chapter}{\numberline {A}An example for reference}{74}
   4.179 +\contentsline {section}{\numberline {A.1}Description, formalization and modeling phase}{74}
   4.180 +\contentsline {section}{\numberline {A.2}Knowledgebase and specification phase}{75}
   4.181 +\contentsline {paragraph}{Theories}{75}
   4.182 +\contentsline {paragraph}{Problems}{76}
   4.183 +\contentsline {paragraph}{Methods}{77}
   4.184 +\contentsline {section}{\numberline {A.3}Interaction on the worksheet and the browsers}{77}
   4.185 +\contentsline {paragraph}{In the modeling phase}{78}
   4.186 +\contentsline {paragraph}{The specification phase}{78}
   4.187 +\contentsline {section}{\numberline {A.4}The solving phase and subproblems}{79}
   4.188 +\contentsline {chapter}{\numberline {B}${\cal I}\mkern -2mu{\cal S}\mkern -5mu{\cal AC}$s tactics}{81}
   4.189 +\contentsline {chapter}{\numberline {C}List of terms used in the ${\cal I}\mkern -2mu{\cal S}\mkern -5mu{\cal AC}$-project}{83}
     5.1 --- a/doc/krempler/urd-ak.aux	Wed Mar 09 05:53:06 2005 +0100
     5.2 +++ b/doc/krempler/urd-ak.aux	Fri Mar 11 04:41:53 2005 +0100
     5.3 @@ -9,22 +9,23 @@
     5.4  \newlabel{AK:UR:COMMON:USERS:www}{{2.1.2}{27}}
     5.5  \newlabel{AK:UR:COMMON:USERS:access}{{2.1.3}{27}}
     5.6  \newlabel{AK:UR:COMMON:USERS:roles}{{2.1.4}{27}}
     5.7 +\citation{wn:matheng04}
     5.8  \newlabel{AK:UR:COMMON:USERS:groups}{{2.1.5}{28}}
     5.9  \newlabel{AK:UR:COMMON:USERS:membership}{{2.1.6}{28}}
    5.10  \@writefile{toc}{\contentsline {section}{\numberline {2.2}Calculations and Data Involved}{28}}
    5.11  \newlabel{AK:UR:COMMON:CALCDATA}{{2.2}{28}}
    5.12  \newlabel{AK:UR:COMMON:CALCDATA:mathengine}{{2.2.1}{28}}
    5.13 -\newlabel{AK:UR:COMMON:CALCDATA:knowledge}{{2.2.2}{28}}
    5.14  \citation{wn:diss}
    5.15 -\newlabel{AK:UR:COMMON:CALCDATA:phases}{{2.2.3}{29}}
    5.16 -\newlabel{AK:UR:COMMON:CALCDATA:explanations}{{2.2.4}{29}}
    5.17 -\newlabel{AK:UR:COMMON:CALCDATA:formalization}{{2.2.5}{29}}
    5.18 -\newlabel{AK:UR:COMMON:CALCDATA:specification}{{2.2.6}{29}}
    5.19 -\newlabel{AK:UR:COMMON:CALCDATA:example}{{2.2.7}{29}}
    5.20 -\newlabel{AK:UR:COMMON:CALCDATA:hidden}{{2.2.8}{29}}
    5.21 -\newlabel{AK:UR:COMMON:CALCDATA:errorscheme}{{2.2.9}{29}}
    5.22 +\newlabel{AK:UR:COMMON:CALCDATA:knowledge}{{2.2.2}{29}}
    5.23 +\newlabel{AK:UR:COMMON:CALCDATA:explanations}{{2.2.3}{29}}
    5.24 +\newlabel{AK:UR:COMMON:CALCDATA:formalization}{{2.2.4}{29}}
    5.25 +\newlabel{AK:UR:COMMON:CALCDATA:specification}{{2.2.5}{29}}
    5.26 +\newlabel{AK:UR:COMMON:CALCDATA:example}{{2.2.6}{29}}
    5.27 +\newlabel{AK:UR:COMMON:CALCDATA:hidden}{{2.2.7}{29}}
    5.28 +\newlabel{AK:UR:COMMON:CALCDATA:errorscheme}{{2.2.8}{29}}
    5.29 +\newlabel{AK:UR:COMMON:CALCDATA:phases}{{2.2.9}{29}}
    5.30  \newlabel{AK:UR:COMMON:CALCDATA:stepwise}{{2.2.10}{29}}
    5.31 -\newlabel{AK:UR:COMMON:CALCDATA:tactic}{{2.2.11}{29}}
    5.32 +\newlabel{AK:UR:COMMON:CALCDATA:tactic}{{2.2.11}{30}}
    5.33  \newlabel{AK:UR:COMMON:CALCDATA:tactic_list}{{2.2.12}{30}}
    5.34  \newlabel{AK:UR:COMMON:CALCDATA:calc_tree}{{2.2.13}{30}}
    5.35  \newlabel{AK:UR:COMMON:CALCDATA:correct}{{2.2.14}{30}}
    5.36 @@ -37,64 +38,63 @@
    5.37  \newlabel{AK:UR:COMMON:MISC:xlink_know}{{2.3.2}{30}}
    5.38  \newlabel{AK:UR:COMMON:MISC:xml}{{2.3.3}{30}}
    5.39  \newlabel{AK:UR:COMMON:MISC:watch}{{2.3.4}{30}}
    5.40 -\newlabel{AK:UR:COMMON:MISC:edit}{{2.3.5}{30}}
    5.41 -\@writefile{toc}{\contentsline {chapter}{\numberline {3}Requirements Specific to the Dialog Guide}{31}}
    5.42 +\newlabel{AK:UR:COMMON:MISC:edit}{{2.3.5}{31}}
    5.43 +\@writefile{toc}{\contentsline {chapter}{\numberline {3}Requirements Specific to the Dialog Guide}{32}}
    5.44  \@writefile{lof}{\addvspace {10\p@ }}
    5.45  \@writefile{lot}{\addvspace {10\p@ }}
    5.46 -\newlabel{AK:UR:DIALOG}{{3}{31}}
    5.47 -\newlabel{AK:UR:DIALOG:user_guide}{{3.0.6}{31}}
    5.48 -\newlabel{AK:UR:DIALOG:EXAMPLE:unknown}{{3.0.7}{31}}
    5.49 -\newlabel{AK:UR:DIALOG:EXAMPLE:collection}{{3.0.8}{31}}
    5.50 -\newlabel{AK:UR:DIALOG:EXAMPLE:knowledge}{{3.0.9}{31}}
    5.51 -\newlabel{AK:UR:DIALOG:problem_type}{{3.0.10}{31}}
    5.52 -\newlabel{AK:UR:DIALOG:empty}{{3.0.11}{32}}
    5.53 -\@writefile{toc}{\contentsline {section}{\numberline {3.1}User Guidance}{32}}
    5.54 -\newlabel{AK:UR:DIALOG:GUIDE}{{3.1}{32}}
    5.55 -\newlabel{AK:UR:DIALOG:GUIDE:ACTIONS:known}{{3.1.1}{32}}
    5.56 -\newlabel{AK:UR:DIALOG:GUIDE:ACTIONS:applicable}{{3.1.2}{32}}
    5.57 -\newlabel{AK:UR:DIALOG:GUIDE:ACTIONS:next}{{3.1.3}{32}}
    5.58 -\newlabel{AK:UR:DIALOG:GUIDE:auto}{{3.1.4}{32}}
    5.59 -\newlabel{AK:UR:DIALOG:GUIDE:model_feedback}{{3.1.5}{32}}
    5.60 -\newlabel{AK:UR:DIALOG:GUIDE:match}{{3.1.6}{32}}
    5.61 -\newlabel{AK:UR:DIALOG:GUIDE:refine}{{3.1.7}{32}}
    5.62 -\newlabel{AK:UR:DIALOG:GUIDE:dynamic_view}{{3.1.8}{32}}
    5.63 -\newlabel{AK:UR:DIALOG:GUIDE:detail}{{3.1.9}{32}}
    5.64 -\newlabel{AK:UR:explanation}{{3.1.10}{33}}
    5.65 -\newlabel{AK:UR:DIALOG:GUIDE:configure}{{3.1.11}{33}}
    5.66 -\@writefile{toc}{\contentsline {section}{\numberline {3.2}User Profiling}{33}}
    5.67 -\newlabel{AK:UR:DIALOG:PROFILE}{{3.2}{33}}
    5.68 -\newlabel{AK:UR:DIALOG:PROFILE:examples}{{3.2.1}{33}}
    5.69 -\newlabel{AK:UR:DIALOG:PROFILE:knowledge}{{3.2.2}{33}}
    5.70 -\newlabel{AK:UR:DIALOG:PROFILE:success}{{3.2.3}{34}}
    5.71 -\newlabel{AK:UR:DIALOG:PROFILE:speed}{{3.2.4}{34}}
    5.72 -\newlabel{AK:UR:DIALOG:PROFILE:activity}{{3.2.5}{34}}
    5.73 -\@writefile{toc}{\contentsline {section}{\numberline {3.3}Flexible Dialog Behaviour}{34}}
    5.74 -\newlabel{AK:UR:DIALOG:FLEX}{{3.3}{34}}
    5.75 -\newlabel{AK:UR:DIALOG:FLEX:atomic}{{3.3.1}{34}}
    5.76 -\newlabel{AK:UR:DIALOG:FLEX:configure}{{3.3.2}{34}}
    5.77 -\newlabel{AK:UR:DIALOG:FLEX:adapt_behaviour}{{3.3.3}{34}}
    5.78 -\newlabel{AK:UR:DIALOG:FLEX:adapt_info}{{3.3.4}{34}}
    5.79 -\@writefile{toc}{\contentsline {section}{\numberline {3.4}Adaptation to Individual Users}{35}}
    5.80 -\newlabel{AK:UR:DIALOG:ADAPT}{{3.4}{35}}
    5.81 -\newlabel{AK:UR:DIALOG:ADAPT:activity}{{3.4.1}{35}}
    5.82 -\newlabel{AK:UR:DIALOG:ADAPT:preset}{{3.4.2}{35}}
    5.83 -\newlabel{AK:UR:DIALOG:ADAPT:perform}{{3.4.3}{35}}
    5.84 -\newlabel{AK:UR:DIALOG:ADAPT:knowledge}{{3.4.4}{35}}
    5.85 -\newlabel{AK:UR:DIALOG:ADAPT:history}{{3.4.5}{35}}
    5.86 -\newlabel{AK:UR:DIALOG:ADAPT:stepwidth}{{3.4.6}{35}}
    5.87 -\newlabel{AK:UR:DIALOG:ADAPT:override}{{3.4.7}{35}}
    5.88 -\@writefile{toc}{\contentsline {section}{\numberline {3.5}Restrictions}{36}}
    5.89 -\newlabel{AK:UR:DIALOG:RESTRICT}{{3.5}{36}}
    5.90 -\newlabel{AK:UR:DIALOG:RESTRICT:individual}{{3.5.1}{36}}
    5.91 -\newlabel{AK:UR:DIALOG:RESTRICT:examples}{{3.5.2}{36}}
    5.92 -\newlabel{AK:UR:DIALOG:RESTRICT:knowledge}{{3.5.3}{36}}
    5.93 -\newlabel{AK:UR:DIALOG:RESTRICT:guidance}{{3.5.4}{36}}
    5.94 -\newlabel{AK:UR:DIALOG:RESTRICT:patterns}{{3.5.5}{36}}
    5.95 -\newlabel{AK:UR:DIALOG:RESTRICT:override}{{3.5.6}{36}}
    5.96 -\newlabel{AK:UR:DIALOG:RESTRICT:time}{{3.5.7}{36}}
    5.97 -\newlabel{AK:UR:DIALOG:RESTRICT:goal}{{3.5.8}{36}}
    5.98 +\newlabel{AK:UR:DIALOG}{{3}{32}}
    5.99 +\newlabel{AK:UR:DIALOG:user_guide}{{3.0.6}{32}}
   5.100 +\newlabel{AK:UR:DIALOG:EXAMPLE:unknown}{{3.0.7}{32}}
   5.101 +\newlabel{AK:UR:DIALOG:EXAMPLE:collection}{{3.0.8}{32}}
   5.102 +\newlabel{AK:UR:DIALOG:EXAMPLE:knowledge}{{3.0.9}{32}}
   5.103 +\newlabel{AK:UR:DIALOG:problem_type}{{3.0.10}{33}}
   5.104 +\newlabel{AK:UR:DIALOG:empty}{{3.0.11}{33}}
   5.105 +\@writefile{toc}{\contentsline {section}{\numberline {3.1}User Guidance}{33}}
   5.106 +\newlabel{AK:UR:DIALOG:GUIDE}{{3.1}{33}}
   5.107 +\newlabel{AK:UR:DIALOG:GUIDE:ACTIONS:known}{{3.1.1}{33}}
   5.108 +\newlabel{AK:UR:DIALOG:GUIDE:ACTIONS:applicable}{{3.1.2}{33}}
   5.109 +\newlabel{AK:UR:DIALOG:GUIDE:ACTIONS:next}{{3.1.3}{33}}
   5.110 +\newlabel{AK:UR:DIALOG:GUIDE:auto}{{3.1.4}{33}}
   5.111 +\newlabel{AK:UR:DIALOG:GUIDE:model_feedback}{{3.1.5}{33}}
   5.112 +\newlabel{AK:UR:DIALOG:GUIDE:match}{{3.1.6}{33}}
   5.113 +\newlabel{AK:UR:DIALOG:GUIDE:refine}{{3.1.7}{33}}
   5.114 +\newlabel{AK:UR:DIALOG:GUIDE:dynamic_view}{{3.1.8}{33}}
   5.115 +\newlabel{AK:UR:DIALOG:GUIDE:detail}{{3.1.9}{33}}
   5.116 +\newlabel{AK:UR:explanation}{{3.1.10}{34}}
   5.117 +\newlabel{AK:UR:DIALOG:GUIDE:configure}{{3.1.11}{34}}
   5.118 +\@writefile{toc}{\contentsline {section}{\numberline {3.2}User Profiling}{34}}
   5.119 +\newlabel{AK:UR:DIALOG:PROFILE}{{3.2}{34}}
   5.120 +\newlabel{AK:UR:DIALOG:PROFILE:examples}{{3.2.1}{34}}
   5.121 +\newlabel{AK:UR:DIALOG:PROFILE:knowledge}{{3.2.2}{34}}
   5.122 +\newlabel{AK:UR:DIALOG:PROFILE:success}{{3.2.3}{35}}
   5.123 +\newlabel{AK:UR:DIALOG:PROFILE:speed}{{3.2.4}{35}}
   5.124 +\newlabel{AK:UR:DIALOG:PROFILE:activity}{{3.2.5}{35}}
   5.125 +\@writefile{toc}{\contentsline {section}{\numberline {3.3}Flexible Dialog Behaviour}{35}}
   5.126 +\newlabel{AK:UR:DIALOG:FLEX}{{3.3}{35}}
   5.127 +\newlabel{AK:UR:DIALOG:FLEX:atomic}{{3.3.1}{35}}
   5.128 +\newlabel{AK:UR:DIALOG:FLEX:configure}{{3.3.2}{35}}
   5.129 +\newlabel{AK:UR:DIALOG:FLEX:stepwidth}{{3.3.3}{35}}
   5.130 +\newlabel{AK:UR:DIALOG:FLEX:info}{{3.3.4}{36}}
   5.131 +\@writefile{toc}{\contentsline {section}{\numberline {3.4}Adaptation to Individual Users}{36}}
   5.132 +\newlabel{AK:UR:DIALOG:ADAPT}{{3.4}{36}}
   5.133 +\newlabel{AK:UR:DIALOG:ADAPT:activity}{{3.4.1}{36}}
   5.134 +\newlabel{AK:UR:DIALOG:ADAPT:info}{{3.4.2}{36}}
   5.135 +\newlabel{AK:UR:DIALOG:ADAPT:perform}{{3.4.3}{36}}
   5.136 +\newlabel{AK:UR:DIALOG:ADAPT:knowledge}{{3.4.4}{36}}
   5.137 +\newlabel{AK:UR:DIALOG:ADAPT:history}{{3.4.5}{36}}
   5.138 +\newlabel{AK:UR:DIALOG:ADAPT:override}{{3.4.6}{36}}
   5.139 +\@writefile{toc}{\contentsline {section}{\numberline {3.5}Restrictions}{37}}
   5.140 +\newlabel{AK:UR:DIALOG:RESTRICT}{{3.5}{37}}
   5.141 +\newlabel{AK:UR:DIALOG:RESTRICT:individual}{{3.5.1}{37}}
   5.142 +\newlabel{AK:UR:DIALOG:RESTRICT:examples}{{3.5.2}{37}}
   5.143 +\newlabel{AK:UR:DIALOG:RESTRICT:knowledge}{{3.5.3}{37}}
   5.144 +\newlabel{AK:UR:DIALOG:RESTRICT:guidance}{{3.5.4}{37}}
   5.145 +\newlabel{AK:UR:DIALOG:RESTRICT:patterns}{{3.5.5}{37}}
   5.146 +\newlabel{AK:UR:DIALOG:RESTRICT:override}{{3.5.6}{37}}
   5.147 +\newlabel{AK:UR:DIALOG:RESTRICT:time}{{3.5.7}{37}}
   5.148 +\newlabel{AK:UR:DIALOG:RESTRICT:goal}{{3.5.8}{37}}
   5.149  \@setckpt{urd-ak}{
   5.150 -\setcounter{page}{37}
   5.151 +\setcounter{page}{38}
   5.152  \setcounter{equation}{0}
   5.153  \setcounter{enumi}{0}
   5.154  \setcounter{enumii}{0}
     6.1 --- a/doc/krempler/urd-ak.tex	Wed Mar 09 05:53:06 2005 +0100
     6.2 +++ b/doc/krempler/urd-ak.tex	Fri Mar 11 04:41:53 2005 +0100
     6.3 @@ -1,6 +1,5 @@
     6.4  \chapter{Selected Requirements of the \isac{} System}\label{\preUR:COMMON}
     6.5 -%WN040506 This sections contains the ...
     6.6 -Requirements essential for the design of the overall system, not necessarily specific to the Dialog Guide.
     6.7 +In this chapter, requirements for the design of the overall system, not necessarily specific but pertaining to the Dialog Guide will be listed.
     6.8  
     6.9  
    6.10  \section{Users of \isac{}}\label{\preUR:COMMON:USERS}
    6.11 @@ -45,8 +44,7 @@
    6.12  \section{Calculations and Data Involved}\label{\preUR:COMMON:CALCDATA}
    6.13  
    6.14  \UR{\isac{}'s math engine is given as an already-implemented module.}{COMMON:CALCDATA:mathengine}
    6.15 -The Math Engine is already implemented in the same program language as Isabelle, SML. The Math Engine is described in \cite{}.
    6.16 -%WN040506  cite: http://www.ist.tugraz.at/pub/projects/isac/publ/mat-eng.abs
    6.17 +The Math Engine is already implemented in the same program language as Isabelle, SML. The Math Engine is described in \cite{wn:matheng04}. Many of the following requirements may seem too specific for an early stage in development. This is in part due to the Math Engine being already implemented and its interfaces being already known.
    6.18  
    6.19  \UR{\isac{} stores 4 kinds of Mathematical Knowledge}{COMMON:CALCDATA:knowledge}
    6.20  \begin{description}
    6.21 @@ -58,18 +56,15 @@
    6.22  See \cite{wn:diss} for a detailed explanation.
    6.23  %WN040506 ... dazu hat Mario schon kurze Beschreibungen
    6.24  
    6.25 -\UR{A Calculation undergoes 2 Phases}{COMMON:CALCDATA:phases}
    6.26 -A calculation undergoes two phases: 
    6.27 -the Specification Phase and the Solving Phase, where the latter may contain these phases recursively (see the demonstration example in appendix \ref{use-expl}).
    6.28  
    6.29  \UR{Explanatory data can be embedded into examples}{COMMON:CALCDATA:explanations}
    6.30  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.
    6.31  %WN040619 ###
    6.32  
    6.33 -\UR{A formalization is a list of formulae.}{COMMON:CALCDATA:formalization}
    6.34 +\UR{A Formalization is a list of formulae.}{COMMON:CALCDATA:formalization}
    6.35  ??? TODO: add description
    6.36  
    6.37 -\UR{A specification is a triple of Theory, Problem and Method.}{COMMON:CALCDATA:specification}
    6.38 +\UR{A Specification is a triple of Theory, Problem and Method.}{COMMON:CALCDATA:specification}
    6.39  
    6.40  \UR{Each example carries a list of pairs of a formalization and a specification respectively.}{COMMON:CALCDATA:example}
    6.41  %WN040506 This list constitutes the 'hidden data' mentioned in UR ... above.
    6.42 @@ -95,12 +90,17 @@
    6.43  %Für (2) müssten dann die 'vererbbaren' Schemes an Problemen hängen; ev. Schemas bei einzelnen examples können dann die vererbten Schemas überstimmen (override).
    6.44  %... für ein Userrequirement muss das alles ganz anders lauten ...
    6.45  
    6.46 +\UR{A Calculation undergoes 2 Phases}{COMMON:CALCDATA:phases}
    6.47 +A calculation undergoes two phases: 
    6.48 +the Specification Phase and the Solving Phase, where the latter may contain these phases recursively (see the demonstration example in appendix \ref{use-expl}).
    6.49 +
    6.50 +
    6.51  \UR{Calculations are created interactively in steps.}{COMMON:CALCDATA:stepwise}
    6.52  A step is initiated by the input of a learner: input of a tactic, of a formula or of a request that \isac{} take over the calculation. A tactic is applied to a formula and generates another (the derived) formula.
    6.53  
    6.54 -\UR{In the Solving Phase, every formula is justified by a tactic.}{COMMON:CALCDATA:tactic}
    6.55 +\UR{In the Solving Phase, every formula is justified by a Tactic.}{COMMON:CALCDATA:tactic}
    6.56  
    6.57 -\UR{\isac{} uses tactics as listed in appendix \ref{appendix-tacs}}{COMMON:CALCDATA:tactic_list}
    6.58 +\UR{\isac{} uses Tactics as listed in appendix \ref{appendix-tacs}}{COMMON:CALCDATA:tactic_list}
    6.59  
    6.60  \UR{A calculation has a tree-like structure}{COMMON:CALCDATA:calc_tree}
    6.61  
    6.62 @@ -109,12 +109,12 @@
    6.63  Thus everything displayed by \isac{} (apart from lines being edited by the user right now) is proven to be consistent with the Specification and the Knowledge Base. 
    6.64  User input will be accepted only if it can be proven to be correct by a check with the underlying Math Engine.
    6.65  
    6.66 -\UR{A tactic may contain Error Schemes}{COMMON:CALCDATA:error_scheme}
    6.67 +\UR{A Tactic may contain Error Schemes}{COMMON:CALCDATA:error_scheme}
    6.68  % Error scheme kann hängen an: example, method, theory (solving)
    6.69  % Error scheme kann hängen an: example, problem, theory (specifying)
    6.70  %WN040506 ... specific for courses (i.e. groups of students)
    6.71  
    6.72 -\UR{There are fill-in patterns for tactics.}{COMMON:CALCDATA:FILL_IN:tactic}
    6.73 +\UR{There are fill-in patterns for Tactics.}{COMMON:CALCDATA:FILL_IN:tactic}
    6.74  In addition to a tactic being applied manually by the user or automatically by \isac{}, a tactic can be presented with parts left blank to be filled in by the user.
    6.75  
    6.76  \UR{There are fill-in patterns for items of the model.}{COMMON:CALCDATA:FILL_IN:model}
    6.77 @@ -139,6 +139,7 @@
    6.78  Editing in \isac{} is limited by \refUR{COMMON:CALCDATA:correct}. For publishing purposes, \isac{}'s display can be exported for editing with standard publishing tools.
    6.79  
    6.80  \chapter{Requirements Specific to the Dialog Guide}\label{\preUR:DIALOG}
    6.81 +In this chapter, requirements specific to the design the Dialog Guide will be listed. Many of these requirements affect the Math Engine as well, which is already implemented.
    6.82  
    6.83  \UR{\isac{} provides User Guidance if the problem to be solved has been specified.}{DIALOG:user_guide}
    6.84  A problem known to the system implies that the system knows a method 
    6.85 @@ -297,28 +298,35 @@
    6.86  % 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.
    6.87  
    6.88  \UR{The Dialog's behaviour can be configured.}{DIALOG:FLEX:configure}
    6.89 -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. 
    6.90 +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. 
    6.91  
    6.92 +% duplicate of the above?
    6.93 +% \UR{The Dialog Guide regards activity requirements set by the Course Administrator}{DIALOG:FLEX:preset}
    6.94  
    6.95 -\UR{The Dialog adapts the amount of user guidance to the user's skills.}{DIALOG:FLEX:adapt_behaviour}
    6.96 -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.
    6.97 +\UR{The number of calculation steps taken at a time can be configured.}{DIALOG:FLEX:stepwidth}
    6.98 +This extends to taking several steps at a time and doing whole rulesets or subproblems in one step. 
    6.99 +%WN040506    ..... (we will call this feature 'stepwidth' below).
   6.100  
   6.101 -
   6.102 -\UR{The Dialog adapts the amount of information displayed to the learning situation.}{DIALOG:FLEX:adapt_info}
   6.103 -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.
   6.104 +\UR{The amount of information displayed can be configured.}{DIALOG:FLEX:info}
   6.105 +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.
   6.106  
   6.107  
   6.108  
   6.109  \section{Adaptation to Individual Users}\label{\preUR:DIALOG:ADAPT}
   6.110  % 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). 
   6.111  
   6.112 +%\UR{The Dialog adapts the amount of user guidance to the user's skills.}{DIALOG:FLEX:adapt_behaviour}
   6.113 +
   6.114 +
   6.115  \UR{The activity of the Dialog Guide adapts to the learner.}{DIALOG:ADAPT:activity}
   6.116  In a learning situation, active participation of the student is one key to acquiring and consolidating knowledge and skills. 
   6.117  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.
   6.118 +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.
   6.119  
   6.120 -\UR{The Dialog Guide regards activity requirements set by the Course Administrator}{DIALOG:ADAPT:preset}
   6.121 +\UR{The Dialog adapts the amount of information displayed to the learning situation.}{DIALOG:ADAPT:info}
   6.122 +As with the Dialog's behaviour, the amount of information displayed adapts to the requirements of the current situation.
   6.123  
   6.124 -\UR{The dialog regards the performance of the user.}{DIALOG:ADAPT:perform} 
   6.125 +\UR{The Dialog regards the performance of the user.}{DIALOG:ADAPT:perform} 
   6.126  The performance is measured by response times, errors, difficulty of examples done, 
   6.127  requests into the Knowledge Base and Dialog Activity. 
   6.128  %WN040506                            ^^^^^^^^^^^^^^ EXOR activity ??
   6.129 @@ -326,17 +334,12 @@
   6.130  %WN040510 in meiner Diss hab' ich jedem Dialogatom eine 'activity-Maßzah' zugewiesen !?
   6.131  % activity: beitrag user / beitrag isac
   6.132  
   6.133 -\UR{The dialog regards the knowledge touched by the user in the current session.}{DIALOG:ADAPT:knowledge}
   6.134 +\UR{The Dialog regards the knowledge touched by the user in the current session.}{DIALOG:ADAPT:knowledge}
   6.135  
   6.136 -\UR{The dialog regards the history of the user.}{DIALOG:ADAPT:history}
   6.137 +\UR{The Dialog regards the history of the user.}{DIALOG:ADAPT:history}
   6.138  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.
   6.139  
   6.140 -% wrong place? preset or adapt?
   6.141 -\UR{??? The number of calculation steps taken at a time can be configured.}{DIALOG:ADAPT:stepwidth}
   6.142 -This extends to taking several steps at a time and doing whole rulesets or subproblems in one step.
   6.143 -%WN040506    ..... (we will call this feature 'stepwidth' below).
   6.144 -
   6.145 -\UR{The learner can override the dialog behaviour chosen by the system.}{DIALOG:ADAPT:override}
   6.146 +\UR{The learner can override the Dialog behaviour chosen by the system.}{DIALOG:ADAPT:override}
   6.147  This includes the settings for dialog activity, stepwidth and display filtering rules.
   6.148  
   6.149  \section{Restrictions}\label{\preUR:DIALOG:RESTRICT}
   6.150 @@ -361,7 +364,7 @@
   6.151  \UR{The use of Dialog Patterns may be restricted.}{DIALOG:RESTRICT:patterns} 
   6.152  
   6.153  \UR{Restrictions may be overridden.}{DIALOG:RESTRICT:override}
   6.154 -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.
   6.155 +Depending on the settings provided by the course-designer and the user's access rights, some restrictions may be overridden by the user. Overriding e.g. allows to look at explanations and examples for other courses.
   6.156  %WN040506 Da wird man also restrictions 'overridable' and 'non-overridable' by the user haben
   6.157  
   6.158  \UR{Restrictions may apply within time limits.}{DIALOG:RESTRICT:time}
     7.1 --- a/doc/krempler/usecases-ak.tex	Wed Mar 09 05:53:06 2005 +0100
     7.2 +++ b/doc/krempler/usecases-ak.tex	Fri Mar 11 04:41:53 2005 +0100
     7.3 @@ -119,12 +119,12 @@
     7.4  
     7.5  % ------------------------------------------
     7.6  
     7.7 -\UC{Having \isac{} Complete the Model and Specification}{SPECIFY:COMPLETE:all}
     7.8 +\UC{Having \isac{} Complete the Specification}{SPECIFY:COMPLETE:all}
     7.9  
    7.10 -When doing a prepared example, the user can have the model and the specification completed by \isac{} with data from the example collection.
    7.11 +When doing a prepared example, the user can have the specification completed by \isac{} with data from the example collection.
    7.12  
    7.13  \begin{description}
    7.14 -\item[On success:] The model and specification are complete and correct and ready for starting a calulation as in \ref{\preUC:SPECIFY:START}.
    7.15 +\item[On success:] The specification is complete and correct and ready for starting a calulation as in \ref{\preUC:SPECIFY:START}.
    7.16  \item[On failure:] If the example was started from scratch (\refUC{START:from_scratch}), the data entered so far might not suffice to fill in all fields or find the best match. The user can still continue specifying manually.
    7.17  \end{description}
    7.18  
    7.19 @@ -167,7 +167,7 @@
    7.20  % ------------------------------------------
    7.21  
    7.22  % reference?
    7.23 -\UC{Refining the Problem}{SPECIFY:refine_manual}
    7.24 +\UC{Refining the Problem Manually}{SPECIFY:refine_manual}
    7.25  
    7.26  Specifying a problem matching the model as closely as possible is crucial for applying the optimal method. The user can choose to browse the hierarchy of known problems (as described in \ref{XXX}) to pick a problem. The problem picked is checked for consistency with data entered so far.
    7.27  
    7.28 @@ -183,7 +183,7 @@
    7.29  \end{description}
    7.30  % ------------------------------------------
    7.31  
    7.32 -\UC{Having \isac{} Refine the Problem}{SPECIFY:refine_auto}
    7.33 +\UC{Having \isac{} Refine the Problem Automatically}{SPECIFY:refine_auto}
    7.34  
    7.35  The user can have \isac{} refine the problem to a best match of the data entered into the model so far.
    7.36  
    7.37 @@ -268,9 +268,9 @@
    7.38  
    7.39  % \subsubsection{Choosing a Tactic}
    7.40  
    7.41 -\UC{Manually Entering a Tactic}{SOLVE:MANUAL:TACTIC:enter}
    7.42 +\UC{Entering a Tactic Manually}{SOLVE:MANUAL:TACTIC:enter}
    7.43  
    7.44 -The user can enter the tactic, i. e. step of calculation, to be applied to the active formula manually. The tactic is recognized by its name. The tactic is not applied immediately, but will be applied the next time a step in a calculation (\ref{\preUC:SOLVE:AUTO}) is requested.
    7.45 +The user can enter the tactic, i.e. step of calculation, to be applied to the active formula manually. The tactic is recognized by its name. The tactic is not applied immediately, but will be applied the next time a step in a calculation (\ref{\preUC:SOLVE:AUTO}) is requested.
    7.46  \begin{description}
    7.47  \item[On success:] The tactic is recorded and will be applied to the active formula the next time a step of calculation is requested.
    7.48