From 0070bf875b89871b9b2ea54ce385f4bf0b640341 Mon Sep 17 00:00:00 2001 From: Jean Sirmai Date: Fri, 2 Apr 2021 15:09:19 +0000 Subject: [PATCH] Update architecture.en.md --- architecture.en.md | 64 ++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 64 insertions(+) create mode 100644 architecture.en.md diff --git a/architecture.en.md b/architecture.en.md new file mode 100644 index 0000000..dd64ac9 --- /dev/null +++ b/architecture.en.md @@ -0,0 +1,64 @@ +# Gem-graph Architecture + +- The [server](https://gitlab.os-k.eu/gem-graph-team/gem-graph-server) is the part whose execution is punctuated by the model calculation. It includes: + + - the cli interface (command line interface) which manages the server on the machine where it is executed, or remotely via the client (provide translations, vocabulary management) + + - the [scheduler](server/scheduler.md) which coordinates the calculation of the model by initiating and terminating the supervisor and the calculation threads + + - the [supervisor](server/supervisor.md) which: + + - maintains the history and performs measurements + + - performs an integrity test and returns its result to the scheduler + (to detect chaotic states, infinite loops, unbalanced distributions between computation threads,...) + + - the [calculation threads](server/worker_thread.md) + +- The [client](https://gitlab.os-k.eu/gem-graph-team/gem-graph-client) is the part whose execution is timed by the user: + + - initiation / termination / OS interface + + - the associated inputs / outputs / error checks + + - the user control of the computation performed by the server + + - server interface > user (what is the state of the model ? how does the automaton work ?) + + - user > server interface (stop, slow / speed, undo / redo, modify the nb of threads or the algorithm...) + + - view management (conformity to a view_type) + + - the editions + + - states + + - transition rules + + - rule trees + + - interpretation of model state measures and model history + + - translations, vocabulary management + + - aids/facilities/presentation (texts, views, links) to : + + - theoretical background, bibliography + + - principles / justifications / limits of the model + + - license, rights, authors, practical information + + - presentation tools + +--- + +The number of calculations that can be performed in parallel depends on + + - the ratio between the size of the local space and the global space + + - the average running time of the rules + (if we neglect the initiation and termination operations of the calculation threads and the + and the communication operations of the main loop with its environment) + +Note: the command line interface must also intercept user requests and delegate them to dedicated threads or processes