doc-src/isac/jrocnik/eJMT-paper/jrocnik_eJMT.tex
changeset 48771 be1eb98aea30
parent 48770 4adc77632fa5
child 48772 c581bee50081
equal deleted inserted replaced
48770:4adc77632fa5 48771:be1eb98aea30
   233 development with as little advice as possible from the {\sisac}-team and (3) 
   233 development with as little advice as possible from the {\sisac}-team and (3) 
   234 to document records and comments for the main steps of development in an
   234 to document records and comments for the main steps of development in an
   235 Isabelle theory; this theory should provide guidelines for future programmers.
   235 Isabelle theory; this theory should provide guidelines for future programmers.
   236 An excerpt from this theory is the main part of this paper.
   236 An excerpt from this theory is the main part of this paper.
   237 \par
   237 \par
   238 The paper will use the problem in Fig.\ref{fig-interactive} as a
   238 
   239 running example:
   239 \medskip The major example resulting from the case study will be used
       
   240 as running example throughout this paper. This example requires a
       
   241 program resembling the size of real-world applications in engineering;
       
   242 such a size was considered essential for the case study, since there
       
   243 are many small programs for a long time (mainly concerned with
       
   244 elementary Computer Algebra like simplification, equation solving,
       
   245 calculus, etc.~\footnote{The programs existing in the {\sisac}
       
   246 prototype are found at
       
   247 http://www.ist.tugraz.at/projects/isac/www/kbase/met/index\_met.html})
       
   248 
       
   249 \paragraph{The mathematical background of the running example} is the
       
   250 following: In Signal Processing, ``the ${\cal Z}$-Transform for
       
   251 discrete-time signals is the counterpart of the Laplace transform for
       
   252 continuous-time signals, and they each have a similar relationship to
       
   253 the corresponding Fourier transform. One motivation for introducing
       
   254 this generalization is that the Fourier transform does not converge
       
   255 for all sequences, and it is useful to have a generalization of the
       
   256 Fourier transform that encompasses a broader class of signals. A
       
   257 second advantage is that in analytic problems, the $z$-transform
       
   258 notation is often more convenient than the Fourier transform
       
   259 notation.''  ~\cite[p. 128]{oppenheim2010discrete}.  The $z$-transform
       
   260 is defined as
       
   261 \begin{equation*}
       
   262 X(z)=\sum_{n=-\infty }^{\infty }x[n]z^{-n}
       
   263 \end{equation*}
       
   264 where a discrete time sequence $x[n]$ is transformed into the function
       
   265 $X(z)$ where $z$ is a continuous complex variable. The inverse
       
   266 function is addressed in the running example and can be determined by
       
   267 the integral
       
   268 \begin{equation*}
       
   269 x[n]=\frac{1}{2\pi j} \oint_{C} X(z)\cdot z^{n-1} dz
       
   270 \end{equation*}
       
   271 where the letter $C$ represents a contour within the range of
       
   272 convergence of the $z$- transform. The unit circle can be a special
       
   273 case of this contour. Remember that $j$ is the complex number in the
       
   274 domain of engineering.  As this transformation requires high effort to
       
   275 be solved, tables of commonly used transform pairs are used in
       
   276 education as well as in engineering practice; such tables can be found
       
   277 at~\cite{wiki:1} or~\cite[Table~3.1]{oppenheim2010discrete} as well.
       
   278 A completely solved and more detailed example can be found at
       
   279 ~\cite[p. 149f]{oppenheim2010discrete}. 
       
   280 
       
   281 Following conventions in engineering education and in practice, the
       
   282 running example solves the problem by use of a table. 
       
   283 
       
   284 \paragraph{Support for interactive stepwise problem solving} in the
       
   285 {\sisac} prototype is shown in Fig.\ref{fig-interactive}~\footnote{ Fig.\ref{fig-interactive} also shows the prototype status of {\sisac}; for instance,
       
   286 the lack of 2-dimensional presentation and input of formulas is the major obstacle for field-tests in standard classes.}:
       
   287 A student inputs formulas line by line on the \textit{``Worksheet''},
       
   288 and each step (i.e. each formula on completion) is immediately checked
       
   289 by the system such that at most one inconsistent formula can reside on
       
   290 the Worksheet (on the input line, marked by the red $\otimes$).
   240 \begin{figure} [htb]
   291 \begin{figure} [htb]
   241 \begin{center}
   292 \begin{center}
   242 \includegraphics[width=140mm]{fig/isac-Ztrans-math-3}
   293 \includegraphics[width=140mm]{fig/isac-Ztrans-math-3}
   243 %\includegraphics[width=140mm]{fig/isac-Ztrans-math}
   294 %\includegraphics[width=140mm]{fig/isac-Ztrans-math}
   244 \caption{Step-wise problem solving guided by the TP-based program
   295 \caption{Step-wise problem solving guided by the TP-based program
   245 \label{fig-interactive}}
   296 \label{fig-interactive}}
   246 \end{center}
   297 \end{center}
   247 \end{figure}
   298 \end{figure}
   248 
   299 If the student gets stuck and does not know the formula to proceed with,
   249 \paragraph{The Engineering Background of the Problem} comes out of the domain 
   300 there is the button \framebox{NEXT} proceeding to the next step. The
   250 Signal Processing, which takes a major part n the authors field of education. 
   301 button \framebox{AUTO} immediately delivers the final result in case
   251 The given Problem requests to determine the inverse $z$-transform for a 
   302 the student is not interested in intermediate steps.
   252 given term.
   303 
   253 \par
   304 Adaptive dialogue guidance is already under
   254 ``The $z$-Transform for discrete-time signals is the counterpart of the 
   305 construction~\cite{gdaroczy-EP-13} and the two buttons will disappear,
   255 Laplace transform for continuous-time signals, and they each have a similar 
   306 since their presence is not wanted in many learning scenarios (in
   256 relationship to the corresponding Fourier transform. One motivation for 
   307 particular, {\em not} in written exams).
   257 introducing this generalization is that the Fourier transform does not 
   308 
   258 converge for all sequences, and it is useful to have a generalization of the 
   309 The buttons \framebox{Theories}, \framebox{Problems} and
   259 Fourier transform that encompasses a broader class of signals. A second 
   310 \framebox{Methods} are the entry points for interactive lookup of the
   260 advantage is that in analytic problems, the $z$-transform notation is often 
   311 underlying knowledge.  For instance, pushing \framebox{Theories} in
   261 more convenient than the Fourier transform notation.''
   312 the configuration shown in Fig.\ref{fig-interactive}, pops up a
   262 ~\cite[p. 128]{oppenheim2010discrete}
   313 ``Theory browser'' displaying the theorem(s) justifying the current
   263 \par
   314 step.  All browsers allow to lookup all other theories, thus
   264 The $z$-transform can be defined as:
   315 supporting indepentend investigation of underlying definitions,
   265 \begin{equation}
   316 theorems, proofs --- where the HTML representation of the browsers is
   266 X(z)=\sum_{n=-\infty }^{\infty }x[n]z^{-n}
   317 ready for arbitrary multimedia add-ons.
   267 \end{equation}
   318 
   268 Upper equation transforms a discrete time sequence $x[n]$ into the function 
   319 % can be explained by having a look at 
   269 $X(z)$ where $z$ is a continuous complex variable. The inverse function (as it 
   320 % Fig.\ref{fig-interactive} which shows the beginning of the interactive 
   270 is used in the given problem) is defined as:
   321 % construction of a solution for the problem. This construction is done in the 
   271 \begin{equation}
   322 % right window named ``Worksheet''.
   272 x[n]=\frac{1}{2\pi j} \oint_{C} X(z)\cdot z^{n-1} dz
   323 % \par
   273 \end{equation}
   324 % User-interaction on the Worksheet is {\em checked} and {\em guided} by
   274 The letter $C$ represents a contour within the range of converge of the $z$-
   325 % TP services:
   275 transform. The unit circle can be a special case of this contour. Remember 
   326 % \begin{enumerate}
   276 that $j$ is the complex number in the field of engineering.
   327 % \item Formulas input by the user are {\em checked} by TP: such a
   277 As this transformation requires high effort to be solved, tables of 
   328 % formula establishes a proof situation --- the prover has to derive the
   278 common transform pairs are used in education as well as in (TODO: real); such 
   329 % formula from the logical context. The context is built up from the
   279 tables can be found at~\cite{wiki:1} or~\cite[Table~3.1]{oppenheim2010discrete} as well.
   330 % formal specification of the problem (here hidden from the user) by the
   280 A completely solved and more detailed example can be found at
   331 % Lucas-Interpreter.
   281 ~\cite[p. 149f]{oppenheim2010discrete}. The upcoming implementation tries to 
   332 % \item If the user gets stuck, the program developed below in this
   282 fit this example in the way it is toughed at the authors university.
   333 % paper ``knows the next step'' and Lucas-Interpretation provides services
   283 
   334 % featuring so-called ``next-step-guidance''; this is out of scope of this
   284 
   335 % paper and can be studied in~\cite{gdaroczy-EP-13}.
   285 
   336 % \end{enumerate} It should be noted that the programmer using the
   286 \paragraph{The educational aspect} can be explained by having a look at 
   337 % TP-based language is not concerned with interaction at all; we will
   287 Fig.\ref{fig-interactive} which shows the beginning of the interactive 
   338 % see that the program contains neither input-statements nor
   288 construction of a solution for the problem. This construction is done in the 
   339 % output-statements. Rather, interaction is handled by the interpreter
   289 right window named ``Worksheet''.
   340 % of the language.
   290 \par
   341 % 
   291 User-interaction on the Worksheet is {\em checked} and {\em guided} by
   342 % So there is a clear separation of concerns: Dialogues are adapted by
   292 TP services:
   343 % dialogue authors (in Java-based tools), using TP services provided by
   293 \begin{enumerate}
   344 % Lucas-Interpretation. The latter acts on programs developed by
   294 \item Formulas input by the user are {\em checked} by TP: such a
   345 % mathematics-authors (in Isabelle/ML); their task is concern of this
   295 formula establishes a proof situation --- the prover has to derive the
   346 % paper.
   296 formula from the logical context. The context is built up from the
   347 
   297 formal specification of the problem (here hidden from the user) by the
   348 \bigskip The paper is structured as follows: The introduction
   298 Lucas-Interpreter.
       
   299 \item If the user gets stuck, the program developed below in this
       
   300 paper ``knows the next step'' and Lucas-Interpretation provides services
       
   301 featuring so-called ``next-step-guidance''; this is out of scope of this
       
   302 paper and can be studied in~\cite{gdaroczy-EP-13}.
       
   303 \end{enumerate} It should be noted that the programmer using the
       
   304 TP-based language is not concerned with interaction at all; we will
       
   305 see that the program contains neither input-statements nor
       
   306 output-statements. Rather, interaction is handled by the interpreter
       
   307 of the language.
       
   308 
       
   309 So there is a clear separation of concerns: Dialogues are adapted by
       
   310 dialogue authors (in Java-based tools), using TP services provided by
       
   311 Lucas-Interpretation. The latter acts on programs developed by
       
   312 mathematics-authors (in Isabelle/ML); their task is concern of this
       
   313 paper.
       
   314 
       
   315 The paper is structured as follows: The introduction
       
   316 \S\ref{intro} is followed by a brief re-introduction of the TP-based
   349 \S\ref{intro} is followed by a brief re-introduction of the TP-based
   317 programming language in \S\ref{PL}, which extends the executable
   350 programming language in \S\ref{PL}, which extends the executable
   318 fragment of Isabelle's language (\S\ref{PL-isab}) by tactics which
   351 fragment of Isabelle's language (\S\ref{PL-isab}) by tactics which
   319 play a specific role in Lucas-Interpretation and in providing the TP
   352 play a specific role in Lucas-Interpretation and in providing the TP
   320 services (\S\ref{PL-tacs}). The main part \S\ref{trial} describes
   353 services (\S\ref{PL-tacs}). The main part \S\ref{trial} describes
   328 
   361 
   329 
   362 
   330 \section{\isac's Prototype for a Programming Language}\label{PL} 
   363 \section{\isac's Prototype for a Programming Language}\label{PL} 
   331 The prototype of the language and of the Lucas-Interpreter is briefly
   364 The prototype of the language and of the Lucas-Interpreter is briefly
   332 described from the point of view of a programmer. The language extends
   365 described from the point of view of a programmer. The language extends
   333 the executable fragment in the language of the theorem prover
   366 the executable fragment of Higher-Order Logic (HOL) in the theorem prover
   334 Isabelle~\cite{Nipkow-Paulson-Wenzel:2002}\footnote{http://isabelle.in.tum.de/}.
   367 Isabelle~\cite{Nipkow-Paulson-Wenzel:2002}\footnote{http://isabelle.in.tum.de/}.
   335 
   368 
   336 \subsection{The Executable Fragment of Isabelle's Language}\label{PL-isab}
   369 \subsection{The Executable Fragment of Isabelle's Language}\label{PL-isab}
   337 The executable fragment consists of data-type and function
   370 The executable fragment consists of data-type and function
   338 definitions.  It's usability even suggests that fragment for
   371 definitions.  It's usability even suggests that fragment for
   339 introductory courses \cite{nipkow-prog-prove}. HOL (Higher-Order Logic)
   372 introductory courses \cite{nipkow-prog-prove}. HOL is a typed logic whose type system resembles that of functional programming
   340 is a typed logic whose type system resembles that of functional programming
       
   341 languages. Thus there are
   373 languages. Thus there are
   342 \begin{description}
   374 \begin{description}
   343 \item[base types,] in particular \textit{bool}, the type of truth
   375 \item[base types,] in particular \textit{bool}, the type of truth
   344 values, \textit{nat}, \textit{int}, \textit{complex}, and the types of
   376 values, \textit{nat}, \textit{int}, \textit{complex}, and the types of
   345 natural, integer and complex numbers respectively in mathematics.
   377 natural, integer and complex numbers respectively in mathematics.
  1454 formula \texttt{mout} and the next tactic followed by the new
  1486 formula \texttt{mout} and the next tactic followed by the new
  1455 interpreter-state.
  1487 interpreter-state.
  1456 
  1488 
  1457 This function allows to stepwise check the program:
  1489 This function allows to stepwise check the program:
  1458 
  1490 
  1459 {\footnotesize
  1491 {\footnotesize\label{ml-check-program}
  1460 \begin{verbatim}
  1492 \begin{verbatim}
  1461 01   ML {*
  1493 01   ML {*
  1462 02     val fmz =
  1494 02     val fmz =
  1463 03       ["filterExpression (X z = 3 / ((z::real) + 1/10 - 1/50*(1/z)))",
  1495 03       ["filterExpression (X z = 3 / ((z::real) + 1/10 - 1/50*(1/z)))",
  1464 04        "stepResponse (x[n::real]::bool)"];     
  1496 04        "stepResponse (x[n::real]::bool)"];     
  1468 08        ["SignalProcessing","Z_Transform","Inverse"]);
  1500 08        ["SignalProcessing","Z_Transform","Inverse"]);
  1469 09     val (mout, tac, ctree, pos)  = CalcTreeTEST [(fmz, (dI, pI, mI))];
  1501 09     val (mout, tac, ctree, pos)  = CalcTreeTEST [(fmz, (dI, pI, mI))];
  1470 10     val (mout, tac, ctree, pos)  = me tac (ctree, pos);
  1502 10     val (mout, tac, ctree, pos)  = me tac (ctree, pos);
  1471 11     val (mout, tac, ctree, pos)  = me tac (ctree, pos);
  1503 11     val (mout, tac, ctree, pos)  = me tac (ctree, pos);
  1472 12     val (mout, tac, ctree, pos)  = me tac (ctree, pos);
  1504 12     val (mout, tac, ctree, pos)  = me tac (ctree, pos);
  1473 13     ...\end{verbatim}} 
  1505 13     ...
       
  1506 \end{verbatim}} 
  1474 
  1507 
  1475 \noindent Several dozens of calls for \texttt{me} are required to
  1508 \noindent Several dozens of calls for \texttt{me} are required to
  1476 create the lines in the calculation below (including the sub-problems
  1509 create the lines in the calculation below (including the sub-problems
  1477 not shown). When an error occurs, the reason might be located
  1510 not shown). When an error occurs, the reason might be located
  1478 many steps before: if evaluation by rewriting, as done by the prototype,
  1511 many steps before: if evaluation by rewriting, as done by the prototype,
  1907 % 
  1940 % 
  1908 % fehlermeldungen! TODO
  1941 % fehlermeldungen! TODO
  1909 
  1942 
  1910 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%\end{verbatim}
  1943 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%\end{verbatim}
  1911 
  1944 
  1912 \section{Conclusion}\label{conclusion}
  1945 \section{Summary and Conclusions}\label{conclusion}
  1913 
  1946 
  1914 %JR obvious
  1947 %JR obvious
  1915 
  1948 
  1916 %This paper gives a first experience report about programming with a
  1949 %This paper gives a first experience report about programming with a
  1917 %TP-based programming language.
  1950 %TP-based programming language.
  1918 
  1951 
  1919 A brief re-introduction of the novel kind of programming
  1952 A brief re-introduction of the novel kind of programming
  1920 language by example of the {\sisac}-prototype makes the paper
  1953 language by example of the {\sisac}-prototype makes the paper
  1921 self-contained. The main section describes all the main concepts
  1954 self-contained. The main section describes all the main concepts
  1922 involved in TP-based programming and all the sub-tasks concerning
  1955 involved in TP-based programming and all the sub-tasks concerning
  1923 respective implementation: mechanisation of mathematics and domain
  1956 respective implementation in the {\sisac} prototype: mechanisation of mathematics and domain
  1924 modeling, implementation of term rewriting systems for the
  1957 modeling, implementation of term rewriting systems for the
  1925 rewriting-engine, formal (implicit) specification of the problem to be
  1958 rewriting-engine, formal (implicit) specification of the problem to be
  1926 (explicitly) described by the program, implementation of the many components
  1959 (explicitly) described by the program, implementation of the many components
  1927 required for Lucas-Interpretation and finally implementation of the
  1960 required for Lucas-Interpretation and finally implementation of the
  1928 program itself.
  1961 program itself.
  1936 state appropriate for wide-spread use: the prototype of the program
  1969 state appropriate for wide-spread use: the prototype of the program
  1937 language lacks expressiveness and elegance, the prototype of the
  1970 language lacks expressiveness and elegance, the prototype of the
  1938 development environment is hardly usable: error messages still address
  1971 development environment is hardly usable: error messages still address
  1939 the developer of the prototype's interpreter rather than the
  1972 the developer of the prototype's interpreter rather than the
  1940 application programmer, implementation of the many settings for the
  1973 application programmer, implementation of the many settings for the
  1941 Lucas-Interpreter is cumbersome.
  1974 Lucas-Interpreter is cumbersome. 
  1942 
  1975 
  1943 From these experiences a successful proof of concept can be concluded:
  1976 \subsection{Conclusions and Expectations to the Future}
       
  1977 From the above mentioned experiences a successful proof of concept can be concluded:
  1944 programming arbitrary problems from engineering sciences is possible,
  1978 programming arbitrary problems from engineering sciences is possible,
  1945 in principle even in the prototype. Furthermore the experiences allow
  1979 in principle even in the prototype. Furthermore the experiences allow
  1946 to conclude detailed requirements for further development:
  1980 to conclude detailed requirements for further development:
  1947 \begin{itemize}
  1981 \begin{enumerate}
  1948 \item Clarify underlying logics such that programming is smoothly
  1982 \item Clarify underlying logics such that programming is smoothly
  1949 integrated with verification of the program; the post-condition should
  1983 integrated with verification of the program; the post-condition should
  1950 be proved more or less automatically, otherwise working engineers
  1984 be proved more or less automatically, otherwise working engineers
  1951 would not encounter such programming.
  1985 would not encounter such programming.
  1952 \item Combine the prototype's programming language with Isabelle's
  1986 \item Combine the prototype's programming language with Isabelle's
  1960 multi-core machines).
  1994 multi-core machines).
  1961 \item Develop an efficient development environment with
  1995 \item Develop an efficient development environment with
  1962 integration of programming and proving, with management not only of
  1996 integration of programming and proving, with management not only of
  1963 Isabelle theories, but also of large collections of specifications and
  1997 Isabelle theories, but also of large collections of specifications and
  1964 of programs.
  1998 of programs.
  1965 \end{itemize} 
  1999 \item\label{CAS} Extend Isabelle's computational features in direction of
       
  2000 \textit{verfied} Computer Algebra: simplification extended by
       
  2001 algorithms beyond rewriting (cancellation of multivariate rationals,
       
  2002 factorisation, partial fraction decomposition, etc), equation solving
       
  2003 , integration, etc.
       
  2004 \end{enumerate} 
  1966 Provided successful accomplishment, these points provide distinguished
  2005 Provided successful accomplishment, these points provide distinguished
  1967 components for virtual workbenches appealing to practitioner of
  2006 components for virtual workbenches appealing to practitioners of
  1968 engineering in the near future.
  2007 engineering in the near future.
  1969 
  2008 
  1970 \medskip Interactive course material, as addressed by the title, then
  2009 \subsection{Preview to Development of Course Material}
       
  2010 Interactive course material, as addressed by the title,
  1971 can comprise step-wise problem solving created as a side-effect of a
  2011 can comprise step-wise problem solving created as a side-effect of a
  1972 TP-based program: Lucas-Interpretation not only provides an
  2012 TP-based program: The introduction \S\ref{intro} briefly shows that Lucas-Interpretation not only provides an
  1973 interactive programming environment, Lucas-Interpretation also can
  2013 interactive programming environment, Lucas-Interpretation also can
  1974 provide TP-based services for a flexible dialogue component with
  2014 provide TP-based services for a flexible dialogue component with
  1975 adaptive user guidance for independent and inquiry-based learning.
  2015 adaptive user guidance for independent and inquiry-based learning.
  1976 
  2016 
       
  2017 However, the {\sisac} prototype is not ready for use in field-tests,
       
  2018 not only due to the above five requirements not sufficiently
       
  2019 accomplished, but also due to usability of the fron-end, in particular
       
  2020 the lack of an editor for formulas in 2-dimension representation.
       
  2021 
       
  2022 Nevertheless, the experiences from the case study described in this
       
  2023 paper, allow to give a preview to the development of course material,
       
  2024 if based on Lucas-Interpretation:
       
  2025 
       
  2026 \paragraph{Development of material from scratch} is too much effort
       
  2027 just for e-learning; this has become clear with the case study.  For
       
  2028 getting support for stepwise problem solving just in {\em one} example
       
  2029 class, the one presented in this paper, involved the following tasks:
       
  2030 \begin{itemize}
       
  2031 \item Adapt the equation solver; since that was too laborous, the
       
  2032 program has been adapted in an unelegant way.
       
  2033 \item Implement an algorithms for partial fraction decomposition,
       
  2034 which is considered a standard normal form in Computer Algebra.
       
  2035 \item Implement a specification for partial fraction decomposition and
       
  2036 locate it appropriately in the hierarchy of specification.
       
  2037 \item Declare definitions and theorems within the theory of ${\cal
       
  2038 Z}$-Transformation, and prove the theorems (which was not done in the
       
  2039 case study).
       
  2040 \end{itemize}
       
  2041 On the other hand, for the one the class of problems implemented,
       
  2042 adding an arbitrary number of examples within this class requires a
       
  2043 few minutes~\footnote{As shown in Fig.\ref{fig-interactive}, an
       
  2044 example is called from an HTML-file by an URL, which addresses an
       
  2045 XML-structure holding the respective data as shown on
       
  2046 p.\pageref{ml-check-program}.} and the support for individual stepwise
       
  2047 problem solving comes for free.
       
  2048 
       
  2049 \paragraph{E-learning benefits from Formal Domain Engineering} which can be
       
  2050 expected for various domains in the near future. In order to cope with
       
  2051 increasing complexity in domain of technology, specific domain
       
  2052 knowledge is beeing mechanised, not only for software technology
       
  2053 \footnote{For instance, the Archive of Formal Proofs
       
  2054 http://afp.sourceforge.net/} but also for other engineering domains
       
  2055 \cite{Dehbonei&94,Hansen94b,db:dom-eng}.  This fairly new part of
       
  2056 engineering sciences is called ``domain engineering'' in
       
  2057 \cite{db:SW-engIII}.
       
  2058 
       
  2059 Given this kind of mechanised knowledge including mathematical
       
  2060 theories, domain specific definitions, specifications and algorithms,
       
  2061 theorems and proofs, then e-learning with support for individual
       
  2062 stepwise problem solving will not be much ado anymore; then e-learning
       
  2063 media in technology education can be derived from this knowledge with
       
  2064 reasonable effort.
       
  2065 
       
  2066 \paragraph{Development differentiates into tasks} more separated than
       
  2067 without Lucas-Interpretation and more challenginging in specific
       
  2068 expertise. These are the kinds of experts expected to cooperate in
       
  2069 development of
       
  2070 \begin{itemize}
       
  2071 \item ``Domain engineers'', who accomplish fairly novel tasks described
       
  2072 in this paper.
       
  2073 \item Course designers, who provide the instructional design according
       
  2074 to curricula, together with usability experts and media designers, are
       
  2075 indispensable in production of e-learning media at the state-of-the
       
  2076 art.
       
  2077 \item ``Dialog designers'', whose part of development is clearly
       
  2078 separated from the part of domain engineers as a consequence of Lucas-Interpretation: TP-based programs are functional, as mentioned, and are only concerned with describing mathematics --- and not at all interaction, psychology, learning theory and the like, because there are no in/output statements. Dialog designers can expect a high-level rule-based language~\cite{gdaroczy-EP-13} for describing their part.
       
  2079 \end{itemize}
       
  2080 
       
  2081 % response-to-referees:
       
  2082 % (2.1) details of novel technology in order to estimate the impact
       
  2083 % (2.2) which kinds of expertise are required for production of e-learning media (instructional design, math authoring, dialog authoring, media design)
       
  2084 % (2.3) what in particular is required for programming new exercises supported by next-step-guidance (expertise / efforts)
       
  2085 % (2.4) estimation of break-even points for development of next-step-guidance
       
  2086 % (2.5) usability of ISAC prototype at the present state
       
  2087 % 
       
  2088 % The points (1.*) seem to be well covered in the paper, the points (2.*) are not. So I decided to address the points (2.*) in a separate section ยง5.1."".
       
  2089 
       
  2090 For this decade there seems to be a window of opportunity opening from
       
  2091 one side inreasing demand for formal domain engineering and from the
       
  2092 other side from TP more and more gaining industrial relevance. Within
       
  2093 this window, development of TP-based educational software can take
       
  2094 benefit from the fact, that the TPs leading in Europe, Coq and
       
  2095 Isabelle are still open source together with the major part of
       
  2096 mechanised knowledge.%~\footnote{NICTA}.
  1977 
  2097 
  1978 \bibliographystyle{alpha}
  2098 \bibliographystyle{alpha}
  1979 {\small\bibliography{references}}
  2099 {\small\bibliography{references}}
  1980 
  2100 
  1981 \end{document}
  2101 \end{document}