Pyros applications

Version 18 (Paul Carensac, 04/19/2016 05:38 pm)

1 1 Paul Carensac
h1. Pyros applications
2 1 Paul Carensac
3 2 Paul Carensac
List and details of all the pyros applications.
4 2 Paul Carensac
5 17 Paul Carensac
{{>toc}}
6 17 Paul Carensac
7 2 Paul Carensac
---
8 2 Paul Carensac
9 2 Paul Carensac
h2. %{margin-left:0px; font-weight:bold; font-size:25px;  display:block; color:red;}pyrosapp%
10 2 Paul Carensac
11 3 Paul Carensac
h3. Purpose
12 2 Paul Carensac
13 2 Paul Carensac
 * Contains all the database Models
14 2 Paul Carensac
 * Basic tests in tests.py
15 2 Paul Carensac
 * Backoffice configuration in admin.py
16 2 Paul Carensac
17 3 Paul Carensac
h3. Notes
18 2 Paul Carensac
19 2 Paul Carensac
 * Will be progressively deleted while models being displaced
20 2 Paul Carensac
21 2 Paul Carensac
---
22 2 Paul Carensac
23 2 Paul Carensac
h2. %{margin-left:0px; font-weight:bold; font-size:25px;  display:block; color:red;}dashboard%
24 2 Paul Carensac
25 3 Paul Carensac
h3. Purpose
26 2 Paul Carensac
27 2 Paul Carensac
 * Interface for all external users
28 2 Paul Carensac
 * Leads to displays and actions for all the pyros modules (users, requests, system execution, ...)
29 2 Paul Carensac
30 4 Paul Carensac
h3. Evolution
31 4 Paul Carensac
32 4 Paul Carensac
 * Creating application
33 4 Paul Carensac
34 4 Paul Carensac
    * manage.py startapp dashboard
35 5 Paul Carensac
    * added 'dashboard' in settings.py -> INSTALLED_APPS
36 5 Paul Carensac
    * created a urls.py file in dashboard module
37 5 Paul Carensac
    * added _url(r'^dashboard/', include('dashboard.urls'))_ in pyros/urls.py -> urlpatterns
38 5 Paul Carensac
    * created templates/ and templates/dashboard/ folders in dashboard module
39 5 Paul Carensac
40 5 Paul Carensac
 * Main page
41 5 Paul Carensac
42 5 Paul Carensac
    * added 'home' view in views.py
43 5 Paul Carensac
    * linked 'home' view to 8000/dashboard URL
44 5 Paul Carensac
    * created a template for the homepage in templates/dashboard/ (with bootstrap)
45 5 Paul Carensac
    * created views, views linking (urls.py) and templates for the dashboard modules
46 5 Paul Carensac
    * redirected mainpage buttons to Admin interface (temporary)
47 4 Paul Carensac
48 3 Paul Carensac
h3. Notes
49 2 Paul Carensac
50 2 Paul Carensac
 * The buttons lead to the Admin interface for the moment
51 7 Paul Carensac
 * Added bootstrap3 module (see Installation)
52 7 Paul Carensac
 * Added Django Template Editor (see Eclipse configuration)
53 2 Paul Carensac
54 3 Paul Carensac
h3. TODO
55 2 Paul Carensac
56 2 Paul Carensac
 * Create the backoffice views as the modules are integrated in pyros
57 2 Paul Carensac
 * Think about a system of permissions
58 2 Paul Carensac
59 2 Paul Carensac
---
60 8 Paul Carensac
61 8 Paul Carensac
h2. %{margin-left:0px; font-weight:bold; font-size:25px;  display:block; color:red;}scheduler%
62 8 Paul Carensac
63 8 Paul Carensac
h3. Purpose
64 8 Paul Carensac
65 8 Paul Carensac
 * Creates the planning with the OBSERVABLE sequences
66 8 Paul Carensac
 * Give acces to a web page to see the current planning
67 8 Paul Carensac
68 8 Paul Carensac
h3. Evolution
69 8 Paul Carensac
70 8 Paul Carensac
 * Creating application
71 8 Paul Carensac
72 8 Paul Carensac
    * manage.py startapp scheduler
73 8 Paul Carensac
    * added 'scheduler' in settings.py -> INSTALLED_APPS
74 8 Paul Carensac
    * created a urls.py file in scheduler module
75 8 Paul Carensac
    * added _url(r'^scheduler/', include('scheduler.urls'))_ in pyros/urls.py -> urlpatterns
76 8 Paul Carensac
    * created templates/ and templates/scheduler/ folders in scheduler module
77 8 Paul Carensac
78 9 Paul Carensac
 * Model modifications
79 1 Paul Carensac
80 9 Paul Carensac
    * Schedule
81 9 Paul Carensac
82 9 Paul Carensac
        * Remove day_start
83 9 Paul Carensac
        * Remove day_stop
84 9 Paul Carensac
        * Add plan_start
85 13 Paul Carensac
        * Add plan_end
86 9 Paul Carensac
        * Enum system for the status 
87 9 Paul Carensac
    * ScheduleHistory
88 9 Paul Carensac
89 9 Paul Carensac
        * Remove day_start
90 9 Paul Carensac
        * Remove day_stop
91 9 Paul Carensac
        * Add plan_start
92 13 Paul Carensac
        * Add plan_end
93 9 Paul Carensac
    * Sequence
94 9 Paul Carensac
95 9 Paul Carensac
        * Remove exec_start
96 9 Paul Carensac
        * Remove exec_stop
97 9 Paul Carensac
        * Add tsp
98 9 Paul Carensac
        * Add tep
99 9 Paul Carensac
        * Add jd1
100 9 Paul Carensac
        * Add jd2
101 9 Paul Carensac
        * Add deltaTL
102 9 Paul Carensac
        * Add deltaTR
103 9 Paul Carensac
        * Add t_prefered
104 9 Paul Carensac
        * Changed duration from Float to DecimalField (more precise)
105 15 Paul Carensac
        * Add overhead
106 15 Paul Carensac
107 10 Paul Carensac
    * manage.py makemigrations sheduler ; manage.py migrate
108 10 Paul Carensac
109 10 Paul Carensac
 * Creation of Scheduler and Interval classes in models.py
110 10 Paul Carensac
111 10 Paul Carensac
 * Implementation of the Interval class
112 10 Paul Carensac
113 12 Paul Carensac
 * Implementation of the Scheduler's 'make_schedule' function (and children). This is the only entry point for now. This function creates the planning (organizes the observable sequences).
114 9 Paul Carensac
115 14 Paul Carensac
 * Creation of the web interface
116 14 Paul Carensac
117 14 Paul Carensac
    * Added current_schedule.html in template/scheduler folder
118 14 Paul Carensac
    * Created view and url linking to this template (with current planning retrieving)
119 14 Paul Carensac
120 14 Paul Carensac
 * Creation of the simulator
121 14 Paul Carensac
122 14 Paul Carensac
    * Created a second entry point in the Scheduler class (with a few minor adaptations to handle SIMULATION mode)
123 14 Paul Carensac
    * Created a simulator module in the scheduler
124 14 Paul Carensac
        
125 14 Paul Carensac
        * Added the MyHTMLParser class (easy implementation of HTMLParser)
126 14 Paul Carensac
        * Adder Simulator class. It parses a file given in parametr to retrieve sequences and create a schedule
127 14 Paul Carensac
    * Created a second view linked to schedule/simulation to show simulation results
128 14 Paul Carensac
 
129 8 Paul Carensac
h3. Notes
130 8 Paul Carensac
131 1 Paul Carensac
 * Priorities and quotas are default-calculated (for the moment)
132 1 Paul Carensac
 * What is the 'flag' attribute in the Schedule model ?
133 9 Paul Carensac
134 1 Paul Carensac
h3. TODO
135 9 Paul Carensac
136 13 Paul Carensac
 * Determine plan_start & plan_end
137 9 Paul Carensac
 * Priority and quota computing
138 9 Paul Carensac
 * Re-scheduling
139 9 Paul Carensac
 * Blank space filling
140 9 Paul Carensac
 * History ?
141 18 Paul Carensac
142 18 Paul Carensac
---
143 18 Paul Carensac
144 18 Paul Carensac
h2. %{margin-left:0px; font-weight:bold; font-size:25px;  display:block; color:red;}alert_manager%
145 18 Paul Carensac
146 18 Paul Carensac
h3. Purpose
147 18 Paul Carensac
148 18 Paul Carensac
 * Listen to VOEvent network
149 18 Paul Carensac
 * Sort interesting events
150 18 Paul Carensac
 * Create requests according to these events
151 18 Paul Carensac
 * Manage the requests created via the alerts
152 18 Paul Carensac
153 18 Paul Carensac
h3. Evolution
154 18 Paul Carensac
155 18 Paul Carensac
 * Creating application
156 18 Paul Carensac
157 18 Paul Carensac
    * See scheduler documentation above
158 18 Paul Carensac
159 18 Paul Carensac
 * Implementation of the agent system
160 18 Paul Carensac
161 18 Paul Carensac
    * Created agent.py whith a "class AlertManagerAgent(Agent):" inside
162 18 Paul Carensac
    * Overriding agent's 'work' and 'shutdown' method
163 18 Paul Carensac
    * Added message(s) to agent.actions_by_message dictionnary, with the functions associated to these messages
164 18 Paul Carensac
    * Added the Agent's launch system in apps.py
165 18 Paul Carensac
 
166 18 Paul Carensac
 * Implementation of the VOEventListener Thread
167 18 Paul Carensac
168 18 Paul Carensac
    * Created a "class VOEventListener(Thread):" in agent.py
169 18 Paul Carensac
    * Overriding the run method
170 18 Paul Carensac
171 18 Paul Carensac
h3. Notes
172 18 Paul Carensac
173 18 Paul Carensac
 * No functionnality is implemented
174 18 Paul Carensac
175 18 Paul Carensac
h3. TODO
176 18 Paul Carensac
177 18 Paul Carensac
178 18 Paul Carensac
---
179 18 Paul Carensac
180 18 Paul Carensac
h2. %{margin-left:0px; font-weight:bold; font-size:25px;  display:block; color:red;}Analyzer%
181 18 Paul Carensac
182 18 Paul Carensac
h3. Purpose
183 18 Paul Carensac
184 18 Paul Carensac
 * Analyze the images taken by the observation manager
185 18 Paul Carensac
186 18 Paul Carensac
h3. Evolution
187 18 Paul Carensac
188 18 Paul Carensac
 * Creating application
189 18 Paul Carensac
190 18 Paul Carensac
    * See scheduler documentation above
191 18 Paul Carensac
192 18 Paul Carensac
 * Implementation of the agent system
193 18 Paul Carensac
194 18 Paul Carensac
    * See alert_manager above
195 18 Paul Carensac
    * 'shutdown' method is not implemented here because the Agent's default one is enough 
196 18 Paul Carensac
197 18 Paul Carensac
h3. Notes
198 18 Paul Carensac
199 18 Paul Carensac
h3. TODO
200 18 Paul Carensac
201 18 Paul Carensac
---
202 18 Paul Carensac
203 18 Paul Carensac
h2. %{margin-left:0px; font-weight:bold; font-size:25px;  display:block; color:red;}%
204 18 Paul Carensac
205 18 Paul Carensac
h3. Purpose
206 18 Paul Carensac
207 18 Paul Carensac
h3. Evolution
208 18 Paul Carensac
209 18 Paul Carensac
 * Creating application
210 18 Paul Carensac
211 18 Paul Carensac
    * See scheduler documentation above
212 18 Paul Carensac
213 18 Paul Carensac
 * Model modifications
214 18 Paul Carensac
215 18 Paul Carensac
 
216 18 Paul Carensac
h3. Notes
217 18 Paul Carensac
218 18 Paul Carensac
h3. TODO
219 18 Paul Carensac
220 18 Paul Carensac
---
221 18 Paul Carensac
222 18 Paul Carensac
h2. %{margin-left:0px; font-weight:bold; font-size:25px;  display:block; color:red;}%
223 18 Paul Carensac
224 18 Paul Carensac
h3. Purpose
225 18 Paul Carensac
226 18 Paul Carensac
h3. Evolution
227 18 Paul Carensac
228 18 Paul Carensac
 * Creating application
229 18 Paul Carensac
230 18 Paul Carensac
    * See scheduler documentation above
231 18 Paul Carensac
232 18 Paul Carensac
 * Model modifications
233 18 Paul Carensac
234 18 Paul Carensac
 
235 18 Paul Carensac
h3. Notes
236 18 Paul Carensac
237 18 Paul Carensac
h3. TODO
238 18 Paul Carensac
239 18 Paul Carensac
---
240 18 Paul Carensac
241 18 Paul Carensac
h2. %{margin-left:0px; font-weight:bold; font-size:25px;  display:block; color:red;}%
242 18 Paul Carensac
243 18 Paul Carensac
h3. Purpose
244 18 Paul Carensac
245 18 Paul Carensac
h3. Evolution
246 18 Paul Carensac
247 18 Paul Carensac
 * Creating application
248 18 Paul Carensac
249 18 Paul Carensac
    * See scheduler documentation above
250 18 Paul Carensac
251 18 Paul Carensac
 * Model modifications
252 18 Paul Carensac
253 18 Paul Carensac
 
254 18 Paul Carensac
h3. Notes
255 18 Paul Carensac
256 18 Paul Carensac
h3. TODO
257 18 Paul Carensac
258 18 Paul Carensac
---
259 18 Paul Carensac
260 18 Paul Carensac
h2. %{margin-left:0px; font-weight:bold; font-size:25px;  display:block; color:red;}%
261 18 Paul Carensac
262 18 Paul Carensac
h3. Purpose
263 18 Paul Carensac
264 18 Paul Carensac
h3. Evolution
265 18 Paul Carensac
266 18 Paul Carensac
 * Creating application
267 18 Paul Carensac
268 18 Paul Carensac
    * See scheduler documentation above
269 18 Paul Carensac
270 18 Paul Carensac
 * Model modifications
271 18 Paul Carensac
272 18 Paul Carensac
 
273 18 Paul Carensac
h3. Notes
274 18 Paul Carensac
275 18 Paul Carensac
h3. TODO
276 18 Paul Carensac
277 18 Paul Carensac
---
278 18 Paul Carensac
279 18 Paul Carensac
h2. %{margin-left:0px; font-weight:bold; font-size:25px;  display:block; color:red;}%
280 18 Paul Carensac
281 18 Paul Carensac
h3. Purpose
282 18 Paul Carensac
283 18 Paul Carensac
h3. Evolution
284 18 Paul Carensac
285 18 Paul Carensac
 * Creating application
286 18 Paul Carensac
287 18 Paul Carensac
    * See scheduler documentation above
288 18 Paul Carensac
289 18 Paul Carensac
 * Model modifications
290 18 Paul Carensac
291 18 Paul Carensac
 
292 18 Paul Carensac
h3. Notes
293 18 Paul Carensac
294 18 Paul Carensac
h3. TODO
295 18 Paul Carensac
296 18 Paul Carensac
---
297 18 Paul Carensac
298 18 Paul Carensac
h2. %{margin-left:0px; font-weight:bold; font-size:25px;  display:block; color:red;}%
299 18 Paul Carensac
300 18 Paul Carensac
h3. Purpose
301 18 Paul Carensac
302 18 Paul Carensac
h3. Evolution
303 18 Paul Carensac
304 18 Paul Carensac
 * Creating application
305 18 Paul Carensac
306 18 Paul Carensac
    * See scheduler documentation above
307 18 Paul Carensac
308 18 Paul Carensac
 * Model modifications
309 18 Paul Carensac
310 18 Paul Carensac
 
311 18 Paul Carensac
h3. Notes
312 18 Paul Carensac
313 18 Paul Carensac
h3. TODO
314 18 Paul Carensac
315 18 Paul Carensac
---
316 18 Paul Carensac
317 18 Paul Carensac
h2. %{margin-left:0px; font-weight:bold; font-size:25px;  display:block; color:red;}Common%
318 18 Paul Carensac
319 18 Paul Carensac
h3. Purpose
320 18 Paul Carensac
321 18 Paul Carensac
 * Regroups common data and functions shared by applications
322 18 Paul Carensac
323 18 Paul Carensac
h3. Content
324 18 Paul Carensac
325 18 Paul Carensac
 * Agent system in agent.py
326 18 Paul Carensac
327 18 Paul Carensac
    * Class to be overrode by every agent
328 18 Paul Carensac
    * Defines the agent names and status
329 18 Paul Carensac
330 18 Paul Carensac
 * Agents configuration in pyros_agent_config.ini
331 18 Paul Carensac
332 18 Paul Carensac
    * Defines the agents name, receiving port and ip
333 18 Paul Carensac
334 18 Paul Carensac
 * Sender system in sender.py
335 18 Paul Carensac
336 18 Paul Carensac
    * static send_to function, to send messages to the agents
337 18 Paul Carensac
338 18 Paul Carensac
 * Common tests in test.py
339 18 Paul Carensac
340 18 Paul Carensac
    * Class AgentTests to test agents' functionnalities
341 18 Paul Carensac
 
342 18 Paul Carensac
h3. Notes
343 18 Paul Carensac
344 18 Paul Carensac
h3. TODO