doc-src/isac/jrocnik/eJMT-paper/jrocnik_eJMT.tex
changeset 42492 7e4deb0d71a9
parent 42488 52798adec50e
child 42493 55d74481379b
equal deleted inserted replaced
42488:52798adec50e 42492:7e4deb0d71a9
  1571 % 
  1571 % 
  1572 % \section{Problems rising out of the Development Environment}
  1572 % \section{Problems rising out of the Development Environment}
  1573 % 
  1573 % 
  1574 % fehlermeldungen! TODO
  1574 % fehlermeldungen! TODO
  1575 
  1575 
       
  1576 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%\end{verbatim}
       
  1577 
  1576 \section{Conclusion}\label{conclusion}
  1578 \section{Conclusion}\label{conclusion}
  1577 
  1579 This paper gives a first experience report about programming with a
  1578 TODO
  1580 TP-based programming language.
       
  1581 
       
  1582 \medskip A brief re-introduction of the novel kind of programming
       
  1583 language by example of the {\sisac}-prototype makes the paper
       
  1584 self-contained. The main section describes all the main concepts
       
  1585 involved in TP-based programming and all the sub-tasks concerning
       
  1586 respective implementation: mechanisation of mathematics and domain
       
  1587 modelling, implementation of term rewriting systems for the
       
  1588 rewriting-engine, formal (implicit) specification of the problem to be
       
  1589 (explicitly) described by the program, implement the many components
       
  1590 required for Lucas-Interpretation and finally implementation of the
       
  1591 program itself.
       
  1592 
       
  1593 The many concepts and sub-tasks involved in programming require a
       
  1594 comprehensive workflow; first experiences with the workflow as
       
  1595 supported by the present prototype are described as well: Isabelle +
       
  1596 Isar + jEdit provide appropriate components for establishing an
       
  1597 efficient development environment integrating computation and
       
  1598 deduction. However, the present state of the prototype is far off a
       
  1599 state appropriate for wide-spread use: the prototype of the program
       
  1600 language lacks expressiveness and elegance, the prototype of the
       
  1601 development environment is hardly usable: error messages still address
       
  1602 the developer of the prototype's interpreter rather than the
       
  1603 application programmer, implementation of the many settings for the
       
  1604 Lucas-Interpreter is cumbersome.
       
  1605 
       
  1606 From these experiences a successful proof of concept can be concluded:
       
  1607 programming arbitrary problems from engineering sciences is possible,
       
  1608 in principle even in the prototype. Furthermore the experiences allow
       
  1609 to conclude detailed requirements for further development:
       
  1610 \begin{itemize}
       
  1611 \item Clarify underlying logics such that programming is smoothly
       
  1612 integrated with verification of the program; the post-condition should
       
  1613 be proved more or less automatically, otherwise working engineers
       
  1614 would not encounter such programming.
       
  1615 \item Combine the prototype's programming language with Isabelle's
       
  1616 powerful function package and probably with more of SML's
       
  1617 pattern-matching features; include parallel execution on multi-core
       
  1618 machines into the language desing.
       
  1619 \item Extend the prototype's Lucas-Interpreter such that it also
       
  1620 handles functions defined by use of Isabelle's functions package; and
       
  1621 generalize Isabelle's code generator such that efficient code for the
       
  1622 whole of the defined programming language can be generated (for
       
  1623 multi-core machines).
       
  1624 \item Develop an efficient development environment with
       
  1625 integration of programming and proving, with management not only of
       
  1626 Isabelle theories, but also of large collections of specifications and
       
  1627 of programs.
       
  1628 \end{itemize} 
       
  1629 Provided successful accomplishment, these points provide distinguished
       
  1630 components for virtual workbenches appealing to practictioner of
       
  1631 engineering in the near future.
       
  1632 
       
  1633 \medskip And all programming with a TP-based language will
       
  1634 subsequently create interactive tutoring as a side-effect:
       
  1635 Lucas-Interpretation not only provides an interactive programming
       
  1636 environment, Lucas-Interpretation also can provide TP-based services
       
  1637 for a flexible dialog component with adaptive user guidance for
       
  1638 independent and inquiry-based learning.
       
  1639 
  1579 
  1640 
  1580 \bibliographystyle{alpha}
  1641 \bibliographystyle{alpha}
  1581 \bibliography{references}
  1642 \bibliography{references}
  1582 
  1643 
  1583 \end{document}
  1644 \end{document}