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} |