Commit 90e3e129c49c2679b7017e77b0fd70798eaac6ae

Authored by Etienne Pallier
1 parent 16414ee4
Exists in dev

updated gitignore and added seq uml state diag

@@ -32,6 +32,11 @@ BASE_TEMPLATE.HTML @@ -32,6 +32,11 @@ BASE_TEMPLATE.HTML
32 /config/old_config/logs/* 32 /config/old_config/logs/*
33 /logs/* 33 /logs/*
34 34
  35 +# IDE settings :
  36 +# - VS:
  37 +.vscode/*
  38 +# - Eclipse:
  39 +.pydevproject
35 #.idea 40 #.idea
36 .idea/workspace.xml 41 .idea/workspace.xml
37 /.idea/workspace.xml 42 /.idea/workspace.xml
src/core/pyros_django/routine_manager/doc/ObservationSequence_SO_state_diag_with_images.pu 0 → 100644
@@ -0,0 +1,175 @@ @@ -0,0 +1,175 @@
  1 +
  2 +@startuml
  3 +
  4 +' --- STATE DIAGRAM ---
  5 +' (see http://plantuml.com/fr/state-diagram)
  6 +
  7 +title
  8 +__**Observation Sequence (SO) - State Diagram**__
  9 +<size:10><i>Version 9-2-2022 (E. Pallier)</i></size>
  10 +
  11 +end title
  12 +
  13 +
  14 +
  15 +
  16 +/'
  17 +----------------------------------------
  18 +--- (1) SF05-SEQ - Sequence Creation ---
  19 +----------------------------------------
  20 +'/
  21 +
  22 +state SF05_SEQ as "SF05-SEQ - Observation Sequence Creation" #cyan
  23 +state DRAFT_WEB as "INCOMPLETE (DRAFT)": not yet validated
  24 +state TBP as "TOBEPLANNED (TBP)": waiting for planning
  25 +state is_valid <<choice>>
  26 +state End_SF05 <<end>>
  27 +
  28 +[*] --> SF05_SEQ
  29 +
  30 +SF05_SEQ --> is_valid: **created (from import)**
  31 +is_valid --> End_SF05: **[invalid]**
  32 +is_valid --> TBP: **[valid]**
  33 +
  34 +SF05_SEQ --> DRAFT_WEB: **created (from web form)**
  35 +DRAFT_WEB --> DRAFT_WEB: **modify**
  36 +DRAFT_WEB --> TBP: **SUBMIT, and valid**
  37 +
  38 +TBP --> SF07_PLN
  39 +
  40 +
  41 +/'
  42 +----------------------------------------
  43 +--- (2) SF07-PLN - Sequence Planning ---
  44 +----------------------------------------
  45 +'/
  46 +
  47 +state SF07_PLN as "SF07-PLN - Observation Sequence Planning" #cyan
  48 +state PLND as "PLANNED (PLND)": planned for current/coming night
  49 +state UNPL as "UNPLANNABLE (UNPL)": unplannable for current/coming night
  50 +state End_SF07 <<end>>
  51 +
  52 +SF07_PLN --> UNPL
  53 +UNPL --> End_SF07
  54 +SF07_PLN --> PLND: **PLAN/SCHEDULE**
  55 +
  56 +PLND --> SF08_EXE
  57 +
  58 +
  59 +/'
  60 +----------------------------------------
  61 +--- (3) SF08-EXE - Sequence Execution ---
  62 +----------------------------------------
  63 +'/
  64 +
  65 +state SF08_EXE as "SF08-EXE - Observation Sequence Execution" #cyan
  66 +
  67 +state E_RUN as "REC_RUNNING (R_RUN)": Sequence exec running...
  68 +state E_RUN : \nforeach image finished:\n change state to "R_END (L0)"
  69 +
  70 +state E_CCLD as "REC_STOPPED (R_CCLD)": Sequence exec cancelled
  71 +state E_END as "REC_FINISHED (R_END)": Sequence exec finished
  72 +state can_exec <<choice>>
  73 +'state fork_state <<fork>>
  74 +'state join_state <<join>>
  75 +
  76 +/'
  77 +note right of E_RUN
  78 + foreach image finished:
  79 + change state to "R_END (L0)"
  80 +end note
  81 +'/
  82 +
  83 +SF08_EXE -d-> can_exec
  84 +can_exec --> E_RUN: [can be executed]\n **EXEC**
  85 +can_exec --> TBP: [can't be executed] \n <i>(too late or \n <i>observing conditions \n not good enough)
  86 +
  87 +E_RUN --> E_CCLD: **exec cancelled**
  88 +E_CCLD --> TBP: **go back to planning**\n <i>(don't keep incomplete Sequence)
  89 +E_RUN --> E_END: **exec finished**
  90 +
  91 +E_END --> SF11_IPC
  92 +
  93 +
  94 +/'
  95 +----------------------------------------
  96 +--- (4) SF11-IPC - Sequence images processing ---
  97 +----------------------------------------
  98 +'/
  99 +
  100 +state SF11_IPC as "SF11-IPC - Sequence Images ProCessing" #cyan
  101 +
  102 +state P_RUN as "PROC_RUNNING (P_RUN)": Sequence process running...
  103 +state P_RUN : \nforeach image:
  104 +state P_RUN : \t - change state to "P_RUN" (L1)
  105 +state P_RUN : \t - if cancelled: change state to "P_CCLD"
  106 +state P_RUN : \t - if finished: change state to "P_END"
  107 +state P_RUN : \n (same algo for SF12 and SF13)
  108 +
  109 +state P_STOP as "PROC_STOPPED (P_STOP)": Sequence process stopped
  110 +state P_END as "PROC_FINISHED (P_END)": Sequence process finished
  111 +
  112 +/'
  113 +note right of P_RUN
  114 + foreach image:
  115 + - change state to "P_RUN"
  116 + - if cancelled: change state to "P_CCLD"
  117 + - when finished: change state to "P_END"
  118 +
  119 + (same algo for SF12 and SF13)
  120 +end note
  121 +'/
  122 +
  123 +SF11_IPC --> P_RUN: **PROCESS**
  124 +
  125 +P_RUN --> P_STOP: **process stopped**
  126 +P_STOP --> E_END
  127 +P_RUN --> P_END: **process finished**
  128 +
  129 +P_END --> SF12_IAN
  130 +
  131 +
  132 +/'
  133 +----------------------------------------
  134 +--- (5) SF12-IAN - Sequence images analysis ---
  135 +----------------------------------------
  136 +'/
  137 +
  138 +state SF12_IAN as "SF12-IAN - Sequence Images ANalysis" #cyan
  139 +
  140 +state A_RUN as "ANL_RUNNING (A_RUN)": Sequence analysis running...
  141 +state A_RUN : (same algo as SF11)
  142 +
  143 +state A_STOP as "ANL_STOPPED (A_STOP)": Sequence analysis temporarily stopped
  144 +state A_END as "ANL_FINISHED (A_END)": Sequence analysis finished
  145 +
  146 +SF12_IAN --> A_RUN: **ANALYSE**
  147 +A_RUN --> A_STOP: **process stopped**
  148 +A_STOP --> P_END
  149 +A_RUN --> A_END: **analysis finished**
  150 +
  151 +A_END --> SF13_IAF
  152 +
  153 +
  154 +/'
  155 +----------------------------------------
  156 +--- (6) SF13-IAF - Sequence images archiving/fetching (zipping) ---
  157 +----------------------------------------
  158 +'/
  159 +
  160 +state SF13_IAF as "SF13-IAF - Sequence Images Archiving & Fetching" #cyan
  161 +
  162 +state Z_RUN as "ZIP_RUNNING (Z_RUN)": Sequence archiving running...
  163 +state Z_RUN : (same algo as SF11)
  164 +
  165 +state Z_STOP as "ZIP_STOPPED (Z_STOP)": Sequence archiving temporarily stopped
  166 +state Z_END as "ZIP_FINISHED (Z_END)": Sequence archiving finished
  167 +
  168 +SF13_IAF --> Z_RUN: **ARCHIVE**
  169 +Z_RUN --> Z_STOP: **archiving stopped**
  170 +Z_STOP --> A_END
  171 +Z_RUN --> Z_END: **archiving finished**
  172 +Z_END --> [*]
  173 +
  174 +
  175 +@enduml