Clear up a bit

This commit is contained in:
Ben Goldsworthy 2020-06-24 10:40:39 +01:00
parent d3bac575d4
commit 290bdd733d
12 changed files with 6 additions and 1518 deletions

View file

@ -2,7 +2,7 @@
<h3>Contact</h3> <h3>Contact</h3>
<p>Ben Goldsworthy (33576556) - <a href="mailto:me@bengoldsworthy.uk">Email</a></p> <p>Ben Goldsworthy (33576556) - <a href="mailto:me+emergenetic@bengoldsworthy.net">Email</a></p>
<h3>Introduction</h3> <h3>Introduction</h3>
@ -15,7 +15,7 @@
<h3>Files</h3> <h3>Files</h3>
<ul> <ul>
<li><a href="report/final-report.pdf">Report</a></li> <li><a href="media/final-report.pdf">Report</a></li>
<li><b>Sources</b> <li><b>Sources</b>
<ul> <ul>
<li><b>EmerGen(e)tic</b> <li><b>EmerGen(e)tic</b>
@ -65,4 +65,4 @@
</li> </li>
</ul> </ul>
</li> </li>
</ul> </ul>

View file

@ -1,164 +0,0 @@
\relax
\citation{distsys}
\citation{reliable}
\citation{machinecentric}
\citation{antenna}
\citation{genprog}
\citation{ants}
\@writefile{toc}{\contentsline {section}{\numberline {1}Introduction}{4}}
\newlabel{sec:introduction}{{1}{4}}
\@writefile{loa}{\contentsline {algorithm}{\numberline {1}{\ignorespaces Basic genetic algorithm}}{5}}
\newlabel{alg1}{{1}{5}}
\citation{bugcost}
\citation{1000}
\citation{cni}
\citation{unix}
\citation{geometry}
\citation{email}
\citation{rfc}
\citation{distsys}
\@writefile{toc}{\contentsline {section}{\numberline {2}Background}{7}}
\newlabel{sec:background}{{2}{7}}
\@writefile{toc}{\contentsline {subsection}{\numberline {2.1}Assumptions}{7}}
\@writefile{toc}{\contentsline {subsection}{\numberline {2.2}Distributed and Adaptive Systems}{7}}
\citation{dana}
\citation{dana}
\citation{machinecentric}
\citation{machinecentric}
\citation{losingcontrol}
\citation{rex}
\citation{fusion}
\@writefile{toc}{\contentsline {subsection}{\numberline {2.3}Emergent Systems}{8}}
\citation{floyd}
\citation{genprog}
\citation{security}
\citation{antenna}
\citation{ants}
\@writefile{toc}{\contentsline {subsection}{\numberline {2.4}`Genetic Systems'}{9}}
\@writefile{toc}{\contentsline {section}{\numberline {3}Design}{10}}
\newlabel{sec:design}{{3}{10}}
\@writefile{toc}{\contentsline {subsection}{\numberline {3.1}EmerGen(e)tic}{10}}
\@writefile{toc}{\contentsline {subsection}{\numberline {3.2}The Web Server}{10}}
\@writefile{toc}{\contentsline {subsubsection}{\numberline {3.2.1}How a web server works}{10}}
\@writefile{toc}{\contentsline {subsubsection}{\numberline {3.2.2}Added extras}{11}}
\@writefile{toc}{\contentsline {subsubsection}{\numberline {3.2.3}A tale of two web servers}{11}}
\@writefile{toc}{\contentsline {subsection}{\numberline {3.3}Caching}{12}}
\newlabel{sec:caching}{{3.3}{12}}
\@writefile{toc}{\contentsline {subsection}{\numberline {3.4}The `Cache Policy' Genetic Algorithm}{12}}
\@writefile{toc}{\contentsline {section}{\numberline {4}Implementation: EmerGen(e)tic}{14}}
\newlabel{sec:implementation}{{4}{14}}
\@writefile{toc}{\contentsline {subsection}{\numberline {4.1}Folder Structure}{14}}
\@writefile{toc}{\contentsline {subsection}{\numberline {4.2}\lstinline |emergenetic.dn|}{14}}
\@writefile{toc}{\contentsline {subsubsection}{\numberline {4.2.1}\lstinline |App:main()|}{14}}
\@writefile{toc}{\contentsline {subsubsection}{\numberline {4.2.2}\lstinline |runGeneration()|}{14}}
\@writefile{toc}{\contentsline {subsubsection}{\numberline {4.2.3}\lstinline |runCandidate()|}{14}}
\@writefile{toc}{\contentsline {subsubsection}{\numberline {4.2.4}\lstinline |printResults()|}{14}}
\@writefile{toc}{\contentsline {section}{\numberline {5}Implementation: \lstinline |cachingpolicy|}{15}}
\newlabel{sec:cachingpolicyimpl}{{5}{15}}
\@writefile{toc}{\contentsline {subsection}{\numberline {5.1}Folder Structure}{15}}
\@writefile{toc}{\contentsline {subsection}{\numberline {5.2}Genetic Algorithm search space}{15}}
\@writefile{toc}{\contentsline {subsection}{\numberline {5.3}\lstinline |CacheHandlerBase.dn|}{16}}
\@writefile{toc}{\contentsline {subsubsection}{\numberline {5.3.1}\lstinline |CacheHandler:getGetCachedResponse()|}{16}}
\@writefile{toc}{\contentsline {subsubsection}{\numberline {5.3.2}\lstinline |CacheHandler:updateCache()|}{16}}
\@writefile{toc}{\contentsline {subsubsection}{\numberline {5.3.3}\lstinline |CacheHandler:clearCache()|}{16}}
\@writefile{toc}{\contentsline {subsubsection}{\numberline {5.3.4}\lstinline |nthMostFrequentlyUsed()|, \lstinline |nthMostRecentlyUsed()| \& \lstinline |random()|}{16}}
\@writefile{toc}{\contentsline {subsubsection}{\numberline {5.3.5}\lstinline |resolve()|}{16}}
\@writefile{toc}{\contentsline {subsection}{\numberline {5.4}\lstinline |emergenetic.dn|}{16}}
\@writefile{toc}{\contentsline {subsection}{\numberline {5.5}\lstinline |cachingpolicy/mutator.py|}{16}}
\newlabel{sec:python}{{5.5}{16}}
\@writefile{toc}{\contentsline {subsubsection}{\numberline {5.5.1}\lstinline |getSubLists()|}{17}}
\@writefile{toc}{\contentsline {subsubsection}{\numberline {5.5.2}\lstinline |crossover()|}{17}}
\@writefile{toc}{\contentsline {subsubsection}{\numberline {5.5.3}\lstinline |mutate()|}{17}}
\@writefile{toc}{\contentsline {subsubsection}{\numberline {5.5.4}\lstinline |parse()| \& \lstinline |compile()|}{17}}
\@writefile{toc}{\contentsline {subsubsection}{\numberline {5.5.5}\lstinline |createInitialPop()|}{17}}
\@writefile{toc}{\contentsline {subsubsection}{\numberline {5.5.6}\lstinline |readChromosomeFromFile()| \& \lstinline |writeChromosomeToFile()|}{17}}
\@writefile{toc}{\contentsline {subsubsection}{\numberline {5.5.7}\lstinline |hasSubTrees()|}{17}}
\@writefile{toc}{\contentsline {subsubsection}{\numberline {5.5.8}\lstinline |main()|}{17}}
\@writefile{toc}{\contentsline {subsection}{\numberline {5.6}\lstinline |cachingpolicy/config.conf|}{17}}
\@writefile{toc}{\contentsline {section}{\numberline {6}The System in Operation}{18}}
\@writefile{toc}{\contentsline {subsection}{\numberline {6.1}Creating a Module}{18}}
\@writefile{toc}{\contentsline {subsubsection}{\numberline {6.1.1}Files}{18}}
\@writefile{toc}{\contentsline {subsubsection}{\numberline {6.1.2}Implementation}{18}}
\@writefile{toc}{\contentsline {subsection}{\numberline {6.2}Creating Scripts}{18}}
\@writefile{toc}{\contentsline {subsection}{\numberline {6.3}Running EmerGen(e)tic}{18}}
\@writefile{toc}{\contentsline {subsection}{\numberline {6.4}Background Tests}{20}}
\@writefile{toc}{\contentsline {section}{\numberline {7}Testing \& Evaluation}{21}}
\newlabel{sec:testing}{{7}{21}}
\@writefile{toc}{\contentsline {subsection}{\numberline {7.1}Testing EmerGen(e)tic}{21}}
\@writefile{lol}{\contentsline {lstlisting}{../dat/helloworld/output50.txt}{21}}
\@writefile{lol}{\contentsline {lstlisting}{../dat/helloworld/output50.txt}{21}}
\@writefile{lol}{\contentsline {lstlisting}{../dat/helloworld/output0.txt}{21}}
\@writefile{lol}{\contentsline {lstlisting}{../dat/helloworld/output0.txt}{22}}
\@writefile{lol}{\contentsline {lstlisting}{../dat/helloworld/output100.txt}{22}}
\@writefile{lol}{\contentsline {lstlisting}{../dat/helloworld/output100.txt}{22}}
\@writefile{toc}{\contentsline {subsection}{\numberline {7.2}Testing \lstinline |cachingpolicy|}{23}}
\newlabel{sec:testingcache}{{7.2}{23}}
\@writefile{lof}{\contentsline {figure}{\numberline {1}{\ignorespaces }}{23}}
\newlabel{fig:difffile-large}{{1}{23}}
\@writefile{lof}{\contentsline {figure}{\numberline {2}{\ignorespaces }}{23}}
\newlabel{fig:difffile-large-wo}{{2}{23}}
\@writefile{lof}{\contentsline {figure}{\numberline {3}{\ignorespaces }}{23}}
\newlabel{fig:samefile-images}{{3}{23}}
\@writefile{lof}{\contentsline {figure}{\numberline {4}{\ignorespaces }}{23}}
\newlabel{fig:samefile-images-wo}{{4}{23}}
\@writefile{toc}{\contentsline {subsection}{\numberline {7.3}Evaluation}{24}}
\newlabel{sec:eval}{{7.3}{24}}
\@writefile{toc}{\contentsline {section}{\numberline {8}Conclusion}{25}}
\@writefile{toc}{\contentsline {subsection}{\numberline {8.1}Future Development}{25}}
\@writefile{toc}{\contentsline {subsubsection}{\numberline {8.1.1}Completing the original goal of finding the optimal conditions for the genetic algorithm}{25}}
\@writefile{toc}{\contentsline {subsubsection}{\numberline {8.1.2}Designing more modules}{25}}
\@writefile{toc}{\contentsline {subsubsection}{\numberline {8.1.3}A more `Danatically'-designed EmerGen(e)tic}{25}}
\citation{meta}
\@writefile{toc}{\contentsline {subsubsection}{\numberline {8.1.4}Issues within the present \lstinline |cachingpolicy| module}{26}}
\@writefile{toc}{\contentsline {subsubsection}{\numberline {8.1.5}Putting human developers further out of work (through meta-learning)}{26}}
\bibstyle{IEEEtran}
\bibdata{final-report}
\bibcite{distsys}{1}
\bibcite{reliable}{2}
\bibcite{machinecentric}{3}
\bibcite{antenna}{4}
\bibcite{genprog}{5}
\bibcite{ants}{6}
\bibcite{bugcost}{7}
\bibcite{1000}{8}
\bibcite{cni}{9}
\bibcite{unix}{10}
\bibcite{geometry}{11}
\bibcite{email}{12}
\bibcite{rfc}{13}
\bibcite{dana}{14}
\bibcite{losingcontrol}{15}
\bibcite{rex}{16}
\bibcite{fusion}{17}
\bibcite{floyd}{18}
\bibcite{security}{19}
\bibcite{meta}{20}
\@writefile{toc}{\contentsline {section}{References}{27}}
\@writefile{toc}{\contentsline {section}{Appendix\nobreakspace A: \lstinline |emergenetic.dn|}{28}}
\newlabel{appendix:emergen}{{A}{28}}
\@writefile{lol}{\contentsline {lstlisting}{../src/emergenetic/emergenetic.dn}{28}}
\@writefile{toc}{\contentsline {section}{Appendix\nobreakspace B: \lstinline |helloworld/mutator.py|}{32}}
\newlabel{appendix:helloworld}{{B}{32}}
\@writefile{lol}{\contentsline {lstlisting}{../src/helloworld/project/helloworld/mutator.py}{32}}
\@writefile{toc}{\contentsline {section}{Appendix\nobreakspace C: \lstinline |cachingpolicy|}{34}}
\@writefile{toc}{\contentsline {subsection}{\numberline {C.1}\lstinline |CacheHandlerBase.dn|}{34}}
\newlabel{appendix:base}{{C.1}{34}}
\@writefile{lol}{\contentsline {lstlisting}{../src/cachingpolicy/cachebackup/CacheHandlerBase.dn}{34}}
\@writefile{toc}{\contentsline {subsection}{\numberline {C.2}\lstinline |mutator.py|}{39}}
\newlabel{appendix:genetic}{{C.2}{39}}
\@writefile{lol}{\contentsline {lstlisting}{../src/cachingpolicy/project/cachingpolicy/mutator.py}{39}}
\@writefile{toc}{\contentsline {subsection}{\numberline {C.3}\lstinline |emergenetic.dn|'s \lstinline |runCandidates()| method}{44}}
\newlabel{appendix:runcand}{{C.3}{44}}
\@writefile{lol}{\contentsline {lstlisting}{../src/cachingpolicy/emergenetic.dn}{44}}
\@writefile{toc}{\contentsline {subsection}{\numberline {C.4}\lstinline |setup.sh|}{45}}
\newlabel{appendix:setup}{{C.4}{45}}
\@writefile{lol}{\contentsline {lstlisting}{../src/cachingpolicy/project/cachingpolicy/setup.sh}{45}}
\@writefile{toc}{\contentsline {subsection}{\numberline {C.5}\lstinline |config.conf|}{45}}
\newlabel{appendix:settings}{{C.5}{45}}
\@writefile{lol}{\contentsline {lstlisting}{../src/cachingpolicy/project/cachingpolicy/config.conf}{46}}
\@writefile{toc}{\contentsline {subsection}{\numberline {C.6}Gen. 18 chromosomes}{46}}
\newlabel{appendix:chromosomes}{{C.6}{46}}
\@writefile{lol}{\contentsline {lstlisting}{../dat/cache/difffile\textendash large/17/chromosomes.txt}{46}}
\@writefile{toc}{\contentsline {section}{Appendix\nobreakspace D: \lstinline |runTests.sh|}{47}}
\newlabel{appendix:bash}{{D}{47}}
\@writefile{lol}{\contentsline {lstlisting}{../dat/runTests.sh}{47}}

View file

@ -1,130 +0,0 @@
% Generated by IEEEtran.bst, version: 1.14 (2015/08/26)
\begin{thebibliography}{10}
\providecommand{\url}[1]{#1}
\csname url@samestyle\endcsname
\providecommand{\newblock}{\relax}
\providecommand{\bibinfo}[2]{#2}
\providecommand{\BIBentrySTDinterwordspacing}{\spaceskip=0pt\relax}
\providecommand{\BIBentryALTinterwordstretchfactor}{4}
\providecommand{\BIBentryALTinterwordspacing}{\spaceskip=\fontdimen2\font plus
\BIBentryALTinterwordstretchfactor\fontdimen3\font minus
\fontdimen4\font\relax}
\providecommand{\BIBforeignlanguage}[2]{{%
\expandafter\ifx\csname l@#1\endcsname\relax
\typeout{** WARNING: IEEEtran.bst: No hyphenation pattern has been}%
\typeout{** loaded for the language `#1'. Using the pattern for}%
\typeout{** the default language instead.}%
\else
\language=\csname l@#1\endcsname
\fi
#2}}
\providecommand{\BIBdecl}{\relax}
\BIBdecl
\bibitem{distsys}
G.~F. Coulouris, J.~Dollimore, T.~Kindberg, and G.~Blair, \emph{Distributed
Systems: Concepts and Design}, 5th~ed.\hskip 1em plus 0.5em minus 0.4em\relax
Addison-Wesley, 2012.
\bibitem{reliable}
\BIBentryALTinterwordspacing
E.~Redwine and J.~L. Holliday, ``Reliability of distributed systems.''
[Online]. Available: \url{http://www.cse.scu.edu/~jholliday/REL-EAR.htm}
\BIBentrySTDinterwordspacing
\bibitem{machinecentric}
R.~Rodrigues~Filho and B.~F. Porter, ``Experiments with a machine-centric
approach to realise distributed emergent software systems,'' 2016.
\bibitem{antenna}
G.~Hornby, A.~Globus, D.~Linden, and J.~Lohn, ``Automated antenna design with
evolutionary algorithms,'' in \emph{Space 2006}, 2015, p. 7242.
\bibitem{genprog}
C.~Le~Goues, M.~Dewey-Vogt, S.~Forrest, and W.~Weimer, ``A systematic study of
automated program repair: Fixing 55 out of 105 bugs for \$8 each,'' in
\emph{Software Engineering (ICSE), 2012 34th International Conference
on}.\hskip 1em plus 0.5em minus 0.4em\relax IEEE, 2012, pp. 3--13.
\bibitem{ants}
B.~Goldsworthy, ```thanks, ants. thants.': Applying genetic algorithms to
simulated ants to produce higher-fitness generations,'' unpublished.
\bibitem{bugcost}
M.~Dawson, D.~N. Burrell, E.~Rahim, and S.~Brewster, ``Integrating software
assurance into the software development life cycle (sdlc),'' \emph{Journal of
Information Systems Technology and Planning}, vol.~3, no.~6, 2010.
\bibitem{1000}
S.~McConnell, \emph{Code complete}.\hskip 1em plus 0.5em minus 0.4em\relax
Pearson Education, 2004.
\bibitem{cni}
B.~Goldsworthy, ``Critical infrastructures protection: the responsibility of
government or of companies?'' unpublished.
\bibitem{unix}
E.~S. Raymond, \emph{The art of Unix programming}.\hskip 1em plus 0.5em minus
0.4em\relax Addison-Wesley Professional, 2003.
\bibitem{geometry}
D.~Muder, \emph{The Unreasonable Influence of Geometry}, 2000.
\bibitem{email}
\BIBentryALTinterwordspacing
L.~Lamport, ``Distribution,'' May 1987. [Online]. Available:
\url{https://www.microsoft.com/en-us/research/publication/distribution/}
\BIBentrySTDinterwordspacing
\bibitem{rfc}
\BIBentryALTinterwordspacing
S.~Crocker, ``New host-host protocol,'' Internet Requests for Comments, RFC
Editor, RFC~33, February 1970, \url{http://www.rfc-editor.org/rfc/rfc33.txt}.
[Online]. Available: \url{http://www.rfc-editor.org/rfc/rfc33.txt}
\BIBentrySTDinterwordspacing
\bibitem{dana}
B.~F. Porter, ``Runtime modularity in complex structures: A component model for
fine grained runtime adaptation,'' in \emph{Proceedings of the 17th
international ACM Sigsoft symposium on Component-based software
engineering}.\hskip 1em plus 0.5em minus 0.4em\relax ACM, 2014, pp. 29--34.
\bibitem{losingcontrol}
B.~F. Porter and R.~Rodrigues~Filho, ``Losing control: The case for emergent
software systems using autonomous assembly, perception, and learning,'' in
\emph{Self-Adaptive and Self-Organizing Systems (SASO), 2016 IEEE 10th
International Conference on}.\hskip 1em plus 0.5em minus 0.4em\relax IEEE,
2016, pp. 40--49.
\bibitem{rex}
B.~Porter, M.~Grieves, R.~Rodrigues~Filho, and D.~Leslie, ``Re$^{\text{x}}$: A
development platform and online learning approach for runtime emergent
software systems,'' in \emph{Proceedings of the 12th USENIX Symposium on
Operating Systems Design and Implementation. USENIX}, 2016.
\bibitem{fusion}
\BIBentryALTinterwordspacing
A.~Elkhodary, N.~Esfahani, and S.~Malek, ``Fusion: A framework for engineering
self-tuning self-adaptive software systems,'' in \emph{Proceedings of the
Eighteenth ACM SIGSOFT International Symposium on Foundations of Software
Engineering}, ser. FSE '10.\hskip 1em plus 0.5em minus 0.4em\relax New York,
NY, USA: ACM, 2010, pp. 7--16. [Online]. Available:
\url{http://doi.acm.org/10.1145/1882291.1882296}
\BIBentrySTDinterwordspacing
\bibitem{floyd}
R.~W. Floyd, ``The paradigms of programming,'' \emph{Communications of the
ACM}, vol.~22, no.~8, pp. 455--460, 1979.
\bibitem{security}
J.~V. Hansen, P.~B. Lowry, R.~D. Meservy, and D.~M. McDonald, ``Genetic
programming for prevention of cyberterrorism through dynamic and evolving
intrusion detection,'' \emph{Decision Support Systems}, vol.~43, no.~4, pp.
1362--1374, 2007.
\bibitem{meta}
J.~Schmidhuber, ``Evolutionary principles in self-referential learning,''
\emph{On learning how to learn: The meta-meta-... hook.) Diploma thesis,
Institut f. Informatik, Tech. Univ. Munich}, 1987.
\end{thebibliography}

View file

@ -1,15 +0,0 @@
This is BibTeX, Version 0.99dThe top-level auxiliary file: final-report.aux
The style file: IEEEtran.bst
Database file #1: final-report.bib
Warning--entry type for "email" isn't style-file defined
--line 139 of file final-report.bib
-- IEEEtran.bst version 1.14 (2015/08/26) by Michael Shell.
-- http://www.michaelshell.org/tex/ieeetran/bibtex/
-- See the "IEEEtran_bst_HOWTO.pdf" manual for usage information.
Warning--empty journal in machinecentric
Warning--empty journal in ants
Warning--empty journal in cni
Warning--missing publisher in geometry
Done.
(There were 5 warnings)

File diff suppressed because it is too large Load diff

Binary file not shown.

Binary file not shown.

View file

@ -19,7 +19,7 @@ along with CachingPolicy. If not, see <http://www.gnu.org/licenses/>.
## Contact ## Contact
Email: me@bengoldsworthy.uk Email: me+emergenetic@bengoldsworthy.net
## Description ## Description

Binary file not shown.

View file

@ -19,7 +19,7 @@ along with EmerGen(e)tic. If not, see <http://www.gnu.org/licenses/>.
## Contact ## Contact
Email: me@bengoldsworthy.uk Email: me+emergenetic@bengoldsworthy.net
## Description ## Description

View file

@ -19,7 +19,7 @@ along with HelloWorld. If not, see <http://www.gnu.org/licenses/>.
## Contact ## Contact
Email: me@bengoldsworthy.uk Email: me+emergenetic@bengoldsworthy.net
## Description ## Description