From e40a3262f0b5d0834fde5e8c5cbffb9e5ff534f2 Mon Sep 17 00:00:00 2001
From: mjkwiatkowski <mati.rewa@gmail.com>
Date: Sat, 11 Jul 2026 23:53:57 +0200
Subject: feat: completed appendix A

---
 content/implementation.tex | 35 +++++++++++++++++++++++++----------
 1 file changed, 25 insertions(+), 10 deletions(-)

(limited to 'content/implementation.tex')

diff --git a/content/implementation.tex b/content/implementation.tex
index 8db19cf..b289aa8 100644
--- a/content/implementation.tex
+++ b/content/implementation.tex
@@ -1,16 +1,25 @@
 \chapter{Implementation of \mysystem}\label{s:implementation}
-In this chapter we describe the implementation of \gls{my_system}.
-The main contribution of this chapter towards answering \emph{RQ3} is the prototype of \gls{my_system}.
+
+\section{Overview}\label{ss:overview_implementation}
+
+\begin{mynote}
+	The contribution of this chapter is two-fold:
+	\vspace{-0.2cm}
+	\begin{enumerate}[label=\emph{C\textsubscript{\arabic*}}]
+		\item We implement the real-world prototype of \mysystem (see \Cref{ss:detailed_implementation_overview}) realizing key features of the design.
+		\item We engineer \mysystem to enable predictive analytics engines (see \Cref{ss:programming})
+	\end{enumerate}
+\end{mynote}
+
+\section{Detailed Implementation of \mysystem}\label{ss:detailed_implementation_overview}
+In this section we describe the detailed implementation of \gls{my_system}.
 After reading one should understand the technical decisions, choice of tools and modifications to existing software necessary for evaluation of \gls{my_system} in \Cref{s:evaluation}.
 
 Any complex system is more than the sum of its parts~\cite{Wikipedia:article/Systems_Thinking}.
-To understand why \gls{my_system} it is crucial to provide a holistic view on the prototype.
-Therefore, the rest of the chapter is structured in a top-down approach: \Cref{ss:implementation_overview}
+To understand \gls{my_system} it is crucial to provide a holistic view on the prototype.
+Therefore, the rest of this chapter is structured in a top-down approach: \Cref{ss:detailed_implementation_overview}
 presents the rationale for using the specific software packages, \Cref{ss:data_flow} shows the flow of data within the system, and \Cref{ss:extensions} details the different modifications and new software extensions to \code{OpenDC}.
 Lastly, \Cref{ss:programming} carefully explains the design decisions behind the major Python modules.
-
-\section{Overview}\label{ss:implementation_overview}
-
 \begin{figure}[t]
 	\centering
 	\includegraphics[width=0.85\linewidth]{images/implementation.pdf}
@@ -27,8 +36,15 @@ To store the in-band data we use a \code{Redis} (\myCircled{3b})~\cite{Wikipedia
 To enable predictive analytics, we chose a discrete-event simulator, \code{OpenDC}(\myCircled{4a})~\cite{GitHub:software/OpenDC}.
 The \code{Analytics Engine} (\myCircled{4b}), \code{Monitoring Service} (\myCircled{4c}), and \code{HTTP Server} (\myCircled{3c}) are described in detail in \Cref{ss:programming}.
 
-\code{Grafana} (\myCircled{2a})is a state-of-the-art industry tool to visualize dashboards.
-We posit it is crucial to include a user-friendly \gls{ui}.
+\begin{figure}[t]
+	\centering
+	{\includegraphics[width=0.9\linewidth]{images/grafana_panel.pdf}}
+	\caption[Example Grafana dashboard.]{Example Grafana Dashboard with downtime plotted against time.}
+	\label{fig:example_grafana_dashboard}
+\end{figure}
+
+\code{Grafana} (\myCircled{2a}) is a state-of-the-art industry tool to visualize dashboards.
+We posit it is crucial to include a user-friendly performance dashboard.
 A number of previous publications on \gls{dt}s find dashboards important~\cite{DBLP:conf/sc/TaheriBPRHDEWPM24, DBLP:conf/wosp/SumanCNTMI24, DBLP:conf/wosp/NicolaeTKLI26}.
 We chose \code{Grafana} (\myCircled{2a}) instead of other software packages because of its seamless integration with \code{PostgreSQL} (\myCircled{3a}).
 \code{Grafana} (\myCircled{2a}) provides good separation of concerns and compartmentalization as it does not store the displayed metrics itself.
@@ -95,7 +111,6 @@ Should anything unusual occur, the \code{Monitoring Service} notifies the \code{
 Then, the \code{Analytics Engine}, ingests the data from the \code{Redis} stream (\myCircled{5}) and analyzes it for further insights.
 All insights generated in this way, are sent to the \code{HTTP Server} (\myCircled{4}) to communicate to the system knobs within the datacenter and to the datacenter operators (\grayCircled{1}).
 
-
 \begin{figure}[t]
 	\input{sources/listing_schema.tex}
 \end{figure}
-- 
cgit v1.2.3

