% Template for seminar reports v0.1 (peter.troeger@hpi.uni-potsdam.de)
% Operating Systems & Middleware Group
% Hasso Plattner Institute, University of Potsdam
%
% This template is intended to ease the later processing of your report, so:
% - Any additional Latex packages should be avoided.
% - If you submit the LaTex sources, do not use subdirectories.
% - If you submit the LaTex sources, do not use multiple .tex files via \include.
% - Try to follow the style guide recommendations.
%
% - Look out for "TODO" markers in this document.

\documentclass[12pt,a4paper,twoside]{article}
\usepackage[utf8]{inputenc} % Support special characters in source file
\usepackage{graphicx}		% for bitmap figures
\usepackage{tabularx}		% for tables
\usepackage{booktabs}		% for pretty tables
\usepackage{amsmath}		% for equations
\usepackage{listings}		% for listings
\lstset{breaklines=true, breakatwhitespace=true, basicstyle=\ttfamily}
\usepackage[acronym, nomain, nonumberlist, style=super]{glossaries}
\usepackage{geometry}		% lets save some trees
\geometry{a4paper,left=30mm,right=20mm, top=30mm, bottom=30mm}
\date{}

% Some commands you might find handy:
%   \enquote{text} 	--> puts the text into quotes
%   \term{text}		--> optical emphasis for special terms
\newcommand{\enquote}[1]{``#1''}
\newcommand{\term}[1]{\textsl{#1}}

% TODO: Define all your acronyms like this:
%   \newacronym{soa}{SOA}{\term{service-oriented architecture}}
% Inside the text, you can use the \gls command:
%   \gls{soa}       --> full description only at first occurrence 
\newacronym{soa}{SOA}{\term{service-oriented architecture}}

% TODO: Add your report title here
\title{Your report title}
% TODO: Add your name(s) here. Leave out student ID number and email addresses.
\author{Your name}

\makeglossaries 
\begin{document}
\maketitle

% TODO: Add your text here.
\section{Introduction}

\begin{itemize}
\item History of your evaluated framework
\item Author(s)
\item Commercial or open source project, number of contributors
\item Purpose of the toolkit
\item General availability in public
\item Update frequency
\item Different variations of the same software
\item ... 
\end{itemize}

\section{Target Environment}

What can be profiled?

\begin{itemize}
\item Programming languages supported
\item Target hardware
\item Execution environments (e.g. specific JVM versions, operating systems)
\item ...
\end{itemize}

What is the expected usage model?

\begin{itemize}
\item Command-line tool for scripting
\item IDE plugin
\item Self-contained IDE
\item Client-server framework
\item ...
\end{itemize}

\section{Profiling Approach}

\begin{itemize}
\item General architecture of the tool(s)
\item Sampling and / or instrumentation approach
\item Limitations in the chosen / mandated sampling or instrumentation approach 
\item Implementation details of the profiler, if available and understood properly
\item Table overview of supported profiling metrics (grouped, if too many)
\item ...
\end{itemize}

\section{Example}

This section should contribute at least 50\% of the document size.

\begin{itemize}
\item Walk-through of the profiling toolkit with a non-trivial example
\item screenshots and detailed result analysis for some example profiling runs
\item ...
\end{itemize}

\section{[Additional sections ...]}

% TODO: Complete the table for your tool(s).
\section{Summary}

\begin{tabularx}{\textwidth}{Xllll}
\toprule
  & Tool 1 & Tools 2 & Tool 3 & ... \\
\midrule
\midrule
Name & & & & \\
Licence & & & & \\
Number of contributors / Company & & & & \\
Date of first release & & & & \\
Last release & & & & \\
Implemented / integrated in & & & & \\
Suport for command-line usage & & & & \\
Support for graphical analysis & & & & \\
Documentation maturity & & & & \\
\midrule
Target runtime / OS & & & & \\
Target language & & & & \\
Hardware requirements & & & & \\
\midrule
Profiling approach (sampling, instrumenting) & & & & \\
Profiling scope (functions, objects, memory, threads, ...) & & & & \\
Profiling modifies binary / source code & & & & \\
Profiling demands code modification & & & & \\
Profiling demands code symbols & & & & \\
Supported metrics (excerpt) & & & & \\
Provides optimization hints & & & & \\
Estimated runtime overhead in \% & & & & \\
Estimated memory overhead in \% & & & & \\
\bottomrule
\end{tabularx}

\printglossaries

% TODO: Use a literature management tool for creating a BibTex file with your references.
\bibliographystyle{IEEEtran}
\bibliography{references.bib}

%TODO: Remove the complete style guide section in your final report.
\newpage
\section*{Appendix: Style Guide}

\subsection*{Acronyms}

One nice feature of Latex is the proper handling of acronyms, such as \gls{soa}. Whenever the \enquote{gls} command is used, Latex automatically determines if the acronym was already defined in the text. So if I refer to \gls{soa} again, the acronym is used instead of the full description text.

\subsection*{Tables}
\label{sec:tableExamples}

Tables should be formatted with the \emph{tabularx} packages, which allows to specify a flexible width column by using the 'X' marker.

\begin{figure}[ht]
\begin{tabularx}{\textwidth}{lXrr}
\toprule
Availability & & Downtime per year & Downtime per week\\
\midrule
99.999\%   & \enquote{five Nines}  & 5.26 minutes & 6.05 seconds \\
99.9999\%  & \enquote{six Nines}  & 31.5 seconds & 0.605 seconds \\
99.99999\% & \enquote{seven Nines} & 0.3 seconds & 6 milliseconds \\
\bottomrule
\end{tabularx}
\label{tab:availpercent}
\caption{Example for table rendering.}
\end{figure}

\subsection*{Equations}

Use the \emph{split} environment to formate your equations properly:

\begin{align}
  \begin{split}
    X &= C \lor P \lor S = (C \lor P) \lor S \\
      &= [0.057212877, 0.187143885] \lor S \\
      &= [0.25321832, 0.384749206]
  \end{split}
\end{align}  

\subsection*{Images}

Images should have a high resolution and should not rely on colors, especially not on red / green combinations. The preferred image format is either PDF or PNG.

% TODO: Add images like this. Put the image file in the same directory as the TEX file.
%\begin{figure}[t]
%\centering
%\includegraphics[width=\textwidth]{foo.png}
%\caption{Example for figures.}
%\label{fig:example}
%\end{figure}

\end{document}
