sisoputnfrba / foro

Foro de consultas para el trabajo práctico
151 stars 7 forks source link

[I-Mongo-Store] Duda sobre actualización de los Files #2052

Closed int0x80-sys closed 3 years ago

int0x80-sys commented 3 years ago

Buenas.

Leyendo el enunciado nos surgió la siguiente duda. En el módulo Discordia se menciona lo siguiente con respecto a lo que se le informa al modulo I-Mongo-Store:

El submódulo tripulante contará además una bitácora que se almacenará en el i-Mongo-Store
(proceso que se detalla más adelante), en esta bitácora irán registrando todos los acontecimientos
que suceden en su viaje en la nave. Estas acciones serán:
● Desplazamiento, indicando origen y destino
● Inicio de una tarea
● Fin de una tarea
● Atender un sabotaje (si el tripulante es planificado para dicha tarea)
● Resolución del sabotaje.

La duda es: ¿En que momento deberíamos crear/actualizar el File del recurso que el tripulante esta modificando? ¿Cuando inicia la tarea, cuando la finaliza, o en algun otro momento que no estemos tomando en cuenta?

Saludos.

Nachiten commented 3 years ago

Buenas.

Leyendo el enunciado nos surgió la siguiente duda. En el módulo Discordia se menciona lo siguiente con respecto a lo que se le informa al modulo I-Mongo-Store:

El submódulo tripulante contará además una bitácora que se almacenará en el i-Mongo-Store
(proceso que se detalla más adelante), en esta bitácora irán registrando todos los acontecimientos
que suceden en su viaje en la nave. Estas acciones serán:
● Desplazamiento, indicando origen y destino
● Inicio de una tarea
● Fin de una tarea
● Atender un sabotaje (si el tripulante es planificado para dicha tarea)
● Resolución del sabotaje.

La duda es: ¿En que momento deberíamos crear/actualizar el File del recurso que el tripulante esta modificando? ¿Cuando inicia la tarea, cuando la finaliza, o en algun otro momento que no estemos tomando en cuenta?

Saludos.

Buenas, como estas?

La respuesta corta es: la bitácora es una especie de "log" que debería estar manteniéndose en tiempo real. Esto quiere decir, a medida que los tripulantes del Discordiador vayan haciendo cosas le deberían ir avisando al FS. Y a medida que al FS le llegue esta información debería ir dumpeandola en los archivos que corresponda, cuando corresponda.

Cito algo que me pareció raro como lo dijiste:

¿En que momento deberíamos crear/actualizar el File del recurso que el tripulante esta modificando?

Aclaro sobre esto, que quizá te entendí mal lo que dijiste. El discordiador o el tripulante NUNCA van a tocar el archivo de la bitácora, es el FS quien se encarga de crearla y manejarla. El discordiador solo le envía mensajes al FS diciéndole qué escribir, y este se encarga de administrarlo a su tiempo.

Espero esto solucione tu duda, saludos! 😄

int0x80-sys commented 3 years ago

Buenas.

La respuesta corta es: la bitácora es una especie de "log" que debería estar manteniéndose en tiempo real. Esto quiere decir, a medida que los tripulantes del Discordiador vayan haciendo cosas le deberían ir avisando al FS. Y a medida que al FS le llegue esta información debería ir dumpeandola en los archivos que corresponda, cuando corresponda.

En cuanto a esto, nos queda claro que la bitácora es una especie de log de cada tripulante. La duda viene por el lado de los Files, los archivos de recursos. Por ejemplo, si un tripulante hace la tarea GENERAR_OXIGENO, el File Oxigeno.ims se debería actualizar. La duda era en que momento se actualiza, si cuando arranca la tarea o la finaliza. Supongo que será cuando finaliza la tarea.

Aclaro sobre esto, que quizá te entendí mal lo que dijiste. El discordiador o el tripulante NUNCA van a tocar el archivo de la bitácora, es el FS quien se encarga de crearla y manejarla. El discordiador solo le envía mensajes al FS diciéndole qué escribir, y este se encarga de administrarlo a su tiempo.

Entendemos que el tripulante y el discordiador no tocan los archivos, sino que interactuan con el FS para que este lo haga. Pero ahora nos surge la siguiente duda. Nosotros teníamos pensado que el tripulante informe al FS tanto sobre la finalización de alguna acción que se necesite registrar en la bitácora, como la actualización de algun recurso. Por ejemplo, si el tripulante genera oxigeno, que el tripulante le informe al FS que se genero x cantidad de oxigeno. Y luego, el FS actualizaría el archivo Oxigeno.ims y la bitácora del tripulante (indicando que finalizó la tarea de generar oxigeno). ¿Estaría correcto esta forma de hacerlo?¿O el tripulante solamente tendría que interactuar con el FS para actualizar su bitácora?

Espero se haya entendido nuestra duda, sino cualquier cosa avisen.

Gracias y saludos.

gastoncastineira commented 3 years ago

Buenas,

Todas las preguntas que hiciste en el último comentario son cuestiones de diseño en las que nosotros no nos metemos. No les damos bajada a tal nivel de detalle en el enunciado del TP porque la intención es que piensen alternativas, las evalúen y sopesen para que eventualmente tomen una decisión que nos explicarán y justificarán en los coloquios.

Si lo que querés saber es si alguna de esas alternativas te va a explotar a futuro por alguna dificultad técnica, no se me ocurre ningún motivo por el que ninguna de ellas lo haría, por lo que son todas más que válidas. Ahora resta charlar con tus compañeros para ver cuál es la que más felices los hace y hacerla realidad a lo largo de los próximos tres meses :)

int0x80-sys commented 3 years ago

Buenas de nuevo.

Genial. Entonces lo vamos a hablar bien con el grupo para ver como lo implementamos.

Gracias por las respuestas 🚀