From d20cdfc47f81b8d2ad4214fc7a0ac59ff8300264 Mon Sep 17 00:00:00 2001 From: Pierre-Antoine Rouby Date: Wed, 27 Sep 2023 15:55:45 +0200 Subject: [PATCH] doc: dev: Complete Architecture section. --- doc/dev/documentation.org | 87 ++++++++++++++++++++++++--- doc/dev/images/python-debug-repl.png | Bin 0 -> 61865 bytes 2 files changed, 79 insertions(+), 8 deletions(-) create mode 100644 doc/dev/images/python-debug-repl.png diff --git a/doc/dev/documentation.org b/doc/dev/documentation.org index cb40b018..7aa30aca 100644 --- a/doc/dev/documentation.org +++ b/doc/dev/documentation.org @@ -73,7 +73,7 @@ https://doc.qt.io/qt-5/model-view-programming.html (last access [fn:org] The org-mode website: https://orgmode.org/ (last access 2023-09-15) -* TODO Architecture +* Architecture Pamhyr2's architecture is based on Qt Model/View, see Figure [[graph-architecture]]. It is made up of several different components: the @@ -672,7 +672,30 @@ data has changed. # Update function code... #+end_src -** TODO Solver +** Solver + +The Pamhyr2 architecture allow to define multiple solver. A solver is +define by a: + - type + - name + - description, + - path + - command line pattern + - (optional) input formater path + - (optional) input formater command line + - (optional) output formater path + - (optional) output formater command line + +Let see Figure [[graph-multi-solver]], the application can implement +different solver type, this solver type implement the code for export +study to solver input format, and read the solver output to study +results. There exists a generic solver with a generic input and output +format, the type could be use to use a solver not implemented in +Pamhyr2, but this solver must can read/write input and output generic +format or use external script. There is possible to define different +solver with the same type, for example two differents version of the +same solver. Finaly, with input and output formater is possible to +execute a code on distant computer, for example, over ssh. #+name: graph-multi-solver #+header: :results drawer @@ -782,6 +805,16 @@ data has changed. } #+end_src +Let see Figure [[graph-pipeline]] the temporal order of action to run a +solver and get results: + - (1) Write solver input file(s) using the study data + - (2) Run the solver + - (2.1) The solver read the input file(s) + - (2.2) The solver compute results and write it to solver output + file(s) + - (3) Pamhyr2 create a Reuslts + - (3.1) The Pamhyr2 solver class read solver output file(s) and + complete Results with readed data #+name: graph-pipeline #+header: :results drawer @@ -811,8 +844,8 @@ data has changed. subgraph cluster1{ label="File System"; style=dashed; - in[label="Solver input files",shape=note]; - out[label="Solver output files",shape=note]; + in[label="Solver input file(s)",shape=note,fillcolor=white]; + out[label="Solver output file(s)",shape=note,fillcolor=white]; bin[label="Solver binary",shape=note]; } @@ -827,6 +860,10 @@ data has changed. } #+end_src +In case of generic solver (or a solver with input and output formater) +the temporal order of action is prensented in Figure +[[graph-pipeline-generic]]. + #+name: graph-pipeline-generic #+header: :results drawer #+header: :exports results @@ -858,8 +895,8 @@ data has changed. gin[label="Generic input file", shape=note,fillcolor=white]; ibin[label="Input formater", shape=note]; - in[label="Solver input files",shape=note,fillcolor=white]; - out[label="Solver output files",shape=note,fillcolor=white]; + in[label="Solver input file(s)",shape=note,fillcolor=white]; + out[label="Solver output file(s)",shape=note,fillcolor=white]; gout[label="Generic results file",shape=note,fillcolor=white]; obin[label="Output formater", shape=note]; bin[label="Solver binary",shape=note]; @@ -894,8 +931,40 @@ data has changed. } #+end_src -** TODO Unit tests -** TODO The debug mode +To implement a Solver in Pamhyr2, there exists a abstract class +=Solver.AbstractSolver=. A class who herits this class, must implement +different methods: + - =export=: Export the study to solver input file(s) + - =input_param=: Return the solver input parameter(s) as string + - =log_file=: Return the solver log file name as string + - =results=: Read the solver output file(s) and return a + =Model.Results= object. + +** Unit tests + +The unit tests is actually not implemented in Pamhyr2, it is a *work +in progress*. + +** The debug mode + +To activate an deactivate the Pamhyr2 debug mode you can open the +configuration window and type "Ctrl+G" or run Pamhyr2 with command +line: +#+begin_src shell +./Pamhyr2 debug +#+end_src + +This mode add some log and add two action in main window menu: +"About/Debug" open a window with Python Repl in current Python +environement, and "About/Debug SQLite" who open the application +SQLiteBrowser (if installed) on current Study to explore the study +data base file. + +#+NAME: debug-repl +#+ATTR_LATEX: :width 16cm +#+CAPTION: Pamhyr2 debug Python REPL +[[./images/python-debug-repl.png]] + * TODO Build the project The project uses gitlab-ci runners to build packages, but it is possible @@ -942,6 +1011,8 @@ winetricks installed. [fn:nsis] The NSIS web site: https://sourceforge.net/projects/nsis/ ** TODO Setup the CI environment +*** Linux +*** Windows (Wine) * Documentation files This document and the user documentation are org files. This text file diff --git a/doc/dev/images/python-debug-repl.png b/doc/dev/images/python-debug-repl.png new file mode 100644 index 0000000000000000000000000000000000000000..5cc506026c104ac044d71300430c0884c8d35fc2 GIT binary patch literal 61865 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�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 F{{?uG7>fV^ literal 0 HcmV?d00001