From 4c2edddeb7904df796610b7a7347a8c0f9d7a9b6 Mon Sep 17 00:00:00 2001
From: Reiner Jung <reiner.jung@email.uni-kiel.de>
Date: Fri, 2 Sep 2022 11:24:46 +0200
Subject: [PATCH] Updated documentation.

---
 tools/compile-results/design.rst | 80 +++++++++++++++++++++-----------
 1 file changed, 54 insertions(+), 26 deletions(-)

diff --git a/tools/compile-results/design.rst b/tools/compile-results/design.rst
index 8d88a60..5383aed 100644
--- a/tools/compile-results/design.rst
+++ b/tools/compile-results/design.rst
@@ -14,45 +14,73 @@ Parameter
 -t path for table
 -j json output
 
-Log Paths
----------
-
-log_file_path = log path + "/all-" + basename(input path)
-
 Pipeline
 --------
 
-ElementProducer :: yamlInputPathsProducer
-ElementProducer :: yamlLogPathsProducer
+yamlInputPathsProducer ElementProducer(logFilePaths)
+yamlInputReader YamlReaderStage()
 
-YamlReaderStage :: yamlInputReaderStage
-YamlReaderStage :: yamlLogReaderStage
+logAppenderStage LogAppenderStage
+distributor Distributor<>(CopyByReferenceStrategy())
 
-LogAppender :: logAppender
-Distributor :: distributor
+yamlLogSink YamlLogSink(logPath)
 
-YamlLogSink :: yamlLogSink
-ChartAssemblerStage :: chartAssemblerStage
-JsonLogSink :: jsonLogSink
-GenerateHtmlTable :: generateHtmlTable
-FileSink :: fileSink
+chartAssemblerStage ChartAssemblerStage()
+tailChartStage TailChartStage(windowSize)
+jsonLogSink JsonChartSink(chartPath);
 
-yamlInputPathsProducer -> yamlInputReaderStage -> logAppender.newRecord
-yamlLogPathsProducer -> yamlLogReaderStage -> logAppender.log
+computeTableStage ComputeTableStage()
+generateHtmlTableStage GenerateHtmlTableStage(tablePath)
+fileSink FileSink()
+
+yamlInputPathsProducer -> yamlInputReader -> logAppenderStage -> distributor
 
-logAppender.output -- log -> distributor
 distributor -> yamlLogSink
-distributor -> chartAssemblerStage -> jsonLogSink
-distributor -> generateHtmlTable -> fileSink
+distributor -> chartAssemblerStage -> tailChartStage -> jsonLogSink
+distributor -> computeTableStage -> generateHtmlTableStage -> fileSink
 
 Data Structure
 --------------
 
-Log
-- string name
-- List<Entry> entries
+**Log Model**
+
+ExperimentLog:
+- String kind
+- List<Experiment> experiments
 
-Entry
+Experiment:
 - long timestamp
-- Map<String, List<Double>>
+- List<Measurements> measurements
+
+Measurements:
+- Double mean
+- Double convidence
+- Double standardDeviation
+- Double lowerQuartile
+- Double median
+- Double upperQuartile
+- Double max
+- Double min
+
+**Chart**
+
+Chart:
+- String name
+- List<String> headers
+- List<ValueTuple> values
+
+ValueTuple:
+- long timestamp
+- List<Double> values
+
+**Table**
+
+TableInformation:
+- String name
+- Experiment current
+- Experiment previous
+
+In previous, we store an artifical results based on the last 10 experiments using
+value = (experiment_i + value) / 2
+
 
-- 
GitLab