Commit dc632408 authored by Michael Banken's avatar Michael Banken

added conclusion

parent 30889940
\chapter{Conclusion}
\section{State of the project}
\label{sec:state}
In its current state the tool is capable of automatically detecting the optimization candidates we introduced in this paper.
It also offers the option of a user guided optimization to make use of the tools detection capabilities, while human understanding can ensure that the intended semantics of a theory are retained.
There are however two big problems that remain unsolved:
Firstly the tool can only help detecting these potential optimizations. Applying the changes still takes direct human effort.
Secondly the runtime could potentially grow exceedingly large, when operating on large graphs. Running the graph optimizer over LATIN and its dependencies during a test took a little over 20 minutes. With larger graphs and cubic runtime this could easily turn into hours or days.
\section{Future Work}
\label{sec:futurework}
While the tool in its current state fulfils our goal to automate large parts of the optimization process, there are still many improvements that could be made.
Looking at the current state there are still some obvious paths to improvement.
The most important future goal is to further automate the optimization process. Most importantly actually applying the changes to the graph and its source files. While the tool in its current state is capable of making fully automated suggestions, all the suggestions need to be applied to the sources by hand. This is less than ideal.
The most important future goal is to further automate the optimization process. Most importantly actually applying the changes to the graph and its source files requiring manual input of the changes.
Another important step is providing a proper interface for calling the optimizer. Preferably in a way that would seamlessly integrate with other MMT components.
Finally the runtime of the algorithm is a concern, as we discussed in \autoref{sec:runtime}. While it seems to run fine on small graphs, this could easily blow up for larger graphs. So any optimizations to the algorithm itself could be a welcome improvement.
\ No newline at end of file
Finally the runtime of the algorithm is a concern, as we discussed in \autoref{sec:runtime}. While it seems to run fine on small graphs, this could easily blow up for larger graphs. So any optimizations to the algorithm itself could be a welcome improvement. For this purpose further analysis of the actual runtime seems prudent.\\
One potential approach would be using prior knowledge about archive dependencies to limit the scope on which the algorithm needs to operate, when only optimizing parts of the graph.
\ No newline at end of file
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment