doc-isac/mlehnfeld/master/thesis/conclusion.tex
changeset 55476 8e3f73e1e3a3
parent 55466 55c2d2ee3f92
equal deleted inserted replaced
55475:5fcb9794169d 55476:8e3f73e1e3a3
     6 
     6 
     7 \section{Future Work}
     7 \section{Future Work}
     8 While \isac{}'s internal user session management has now been parallelized, multiple user GUIs communicate with the same standard input stream on the \textit{Standard ML} side and this communication is unsynchronized. The mathematic engine writes to one single standard output stream. The write operation in use is provided and synchronized by \isabelle. However, since all GUIs read from the same stream, they need to filter out all messages not meant for them and thus waste resources, especially with growing numbers of simultaneous user sessions. The next important step is therefore a more flexible, efficient and robust communication model which would then allow the parallel session management to be stressed and also fine-tuned to perform well in practice.
     8 While \isac{}'s internal user session management has now been parallelized, multiple user GUIs communicate with the same standard input stream on the \textit{Standard ML} side and this communication is unsynchronized. The mathematic engine writes to one single standard output stream. The write operation in use is provided and synchronized by \isabelle. However, since all GUIs read from the same stream, they need to filter out all messages not meant for them and thus waste resources, especially with growing numbers of simultaneous user sessions. The next important step is therefore a more flexible, efficient and robust communication model which would then allow the parallel session management to be stressed and also fine-tuned to perform well in practice.
     9 Other improvements to \isac{} include utilizing of \isabelle{}'s function package and code generator to simplify and speedup \isac{}'s programming language, adaptation of \isabelle{}'s capabilities with respect to floating point numbers and complex numbers, possibly adopt term nets for better performance of \isac{}'s rewrite engine.  The latter plans for improvement of the mathematics-engine can be pursued independently from work on the front-end due to a stable interface in between. While \isac{}'s own front-end will be extended and improved, future development of the \textit{Isabelle/jEdit} IDE may enable \isac{} to adopt it as its front-end in the long run.
     9 Other improvements to \isac{} include utilizing of \isabelle{}'s function package and code generator to simplify and speedup \isac{}'s programming language, adaptation of \isabelle{}'s capabilities with respect to floating point numbers and complex numbers, possibly adopt term nets for better performance of \isac{}'s rewrite engine.  The latter plans for improvement of the mathematics-engine can be pursued independently from work on the front-end due to a stable interface in between. While \isac{}'s own front-end will be extended and improved, future development of the \textit{Isabelle/jEdit} IDE may enable \isac{} to adopt it as its front-end in the long run.
    10 
    10 
    11 The whole case study involved deeply invasive refactoring processes. The presence auf automatic tools for this kind of tasks in \textit{Standard ML} would have been desireable. While there has been related work on \textit{Haskell} \cite{brown2012paraforming,thompson2005refactoring,dig2011refactoring,li2006comparative} and \textit{Erlang} \cite{brown2013cost,li2006comparative}, there are, to my knowledge, no such projects specificly for \textit{Standard ML} available. These could also help remove unused code and support convenient restructuring of modules.
    11 The whole case study involved deeply invasive refactoring processes. The presence of automatic tools for this kind of tasks in \textit{Standard ML} would have been desirable. While there has been related work on \textit{Haskell} \cite{brown2012paraforming,thompson2005refactoring,dig2011refactoring,li2006comparative} and \textit{Erlang} \cite{brown2013cost,li2006comparative}, there are, to my knowledge, no such projects specifically for \textit{Standard ML} available. These could also help remove unused code and support convenient restructuring of modules.
    12 % TODO: isa_pide_educational.pdf
    12 % TODO: isa_pide_educational.pdf
    13 
    13 
    14 %>>> Sind die Streams zwischen Mathematikengine und Frontend
    14 %>>> Sind die Streams zwischen Mathematikengine und Frontend
    15 %>>> synchronisiert? Das müsste ich dann nämlich auch noch machen. Oder
    15 %>>> synchronisiert? Das müsste ich dann nämlich auch noch machen. Oder
    16 %>>> passieren sonst noch Dinge innerhalb von appendFormula, die
    16 %>>> passieren sonst noch Dinge innerhalb von appendFormula, die