From a14dfba6b443558fa173cddbc4c5047cc1218fcd Mon Sep 17 00:00:00 2001
From: Pierre-Antoine Rouby <pierre-antoine.rouby@inrae.fr>
Date: Mon, 18 Sep 2023 17:25:21 +0200
Subject: [PATCH] doc: dev: Add solver pipeline graph.

---
 doc/dev/documentation.org | 41 +++++++++++++++++++++++++++++++++++++++
 1 file changed, 41 insertions(+)

diff --git a/doc/dev/documentation.org b/doc/dev/documentation.org
index 02c6ef21..f078bbb7 100644
--- a/doc/dev/documentation.org
+++ b/doc/dev/documentation.org
@@ -77,6 +77,47 @@ https://doc.qt.io/qt-5/model-view-programming.html (last access
 
 Pamhyr2 architecture is based on Qt Model/View programming[fn:qt-mv] architecture.
 
+#+name: graph-pipeline
+#+header: :results drawer
+#+header: :exports results
+#+header: :post attr_wrap(width="12cm", data=*this*, name="graph-pipeline", caption="Pamhyr2 solver execution pipeline architecture scheme", float="t")
+#+begin_src dot :file "images/graph-pipeline.png" :cache no
+  digraph {
+        node[colorscheme=set19,shape=box,style="filled",fillcolor=9];
+
+        subgraph cluster0 {
+            label="Pamhyr2"
+            config[label="Config",fillcolor=5];
+            model[label="Model",fillcolor=2];
+            obj[label="Solver",fillcolor=6];
+            results[label="Results",fillcolor=2];
+            view[label="View",fillcolor=1];
+
+            results -> model[style="dotted"];
+            results -> obj[style="dotted"];
+        }
+
+        config -> obj[label=""];
+        obj -> model;
+
+        subgraph cluster1{
+            label="System";
+            in[label="Solver input files",shape=note];
+            out[label="Solver output files",shape=note];
+            bin[label="Solver binary",shape=note];
+        }
+
+        obj -> in[label="Write"];
+        bin -> in[label="Read"];
+        obj -> bin[label="Execute"];
+        bin -> out[label="Write"];
+        obj -> results[label="Create"];
+        results -> out[label="Read"];
+        view -> model;
+        view -> results;
+  }
+#+end_src
+
 #+name: graph-architecture
 #+header: :results drawer
 #+header: :exports results
-- 
GitLab