Commit 90e3e129c49c2679b7017e77b0fd70798eaac6ae
1 parent
16414ee4
Exists in
dev
updated gitignore and added seq uml state diag
Showing
2 changed files
with
180 additions
and
0 deletions
Show diff stats
.gitignore
src/core/pyros_django/routine_manager/doc/ObservationSequence_SO_state_diag_with_images.pu
0 → 100644
... | ... | @@ -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 | ... | ... |