TobiasMoscoso / TP_MaquinadeEstado-ProtocoloLastOrder

Un protocolo de comunicación entre maquinas y servidor, realizado con máquina de estado. Cada maquina puede enviar y recibir información, la cual compartirá con el servidor.
0 stars 0 forks source link

Avisos #1

Open TobiasMoscoso opened 4 years ago

TobiasMoscoso commented 4 years ago

Tengo un problema en decidir que tipo de protocolo usar:

Opción 1: Utilizo un número binario de 2 bytes, y en base a sus valores (v) tengo los datos | (5bits)Num Máquina (32v) | (4)TipoProducto(16v) | (7)Ubicación(128v) | Pros: Aplico Bit de Nivel; Contras: Es limitado.

Opción 2: Utilizo una cadena de caracteres, cuyos caracteres me indican que es y que cantidad: (valores máximos) M999P9999E999F99C99

M: Número de máquina P: Tipo de Producto E: Estantería F: Fila C: Columna Pros: Mayor cantidad de valores; Contras: No encontré una de momento.

//Es lo mismo para los informes de estado (esos que van cada 5 segundos).

DamRCorba commented 4 years ago

La segunda entrega esta correcta.

A fines del tp podrias hacer una estructura comun con los campos y tipos datos a usar. Sino un campo de bits en el que codifiques la informacion. Como sistema escala mas la estructura que el campo de bits para tu caso.

TobiasMoscoso commented 4 years ago

Mis dudas: 1- ¿Todas las funciones de la máquina de estado necesitan los datos del archivo de configuración? 2- ¿Dónde es apropiado ubicar los archivos de configuración y los de datos? ¿Es buena práctica ponerlos en la carpeta Source? 3- Para hacer la lista de productos con su ubicación final tengo pensado hacerlo con un archivo binario, pero ¿ Necesito hacer otro programa para crear dicho archivo o agrego esa función al programa principal? ¿Si hago otro programa dónde me conviene almacenarlo (en que carpeta)?

DamRCorba commented 4 years ago

1 - Depende de cada funciony aplicacion. 2 - Los archivos de configuracion es ideal ubicarlos en una carpeta "config" o "etc" la cual deberia estar en el mismo directorio que el ejecutable de tu aplicacion. Para este tp con que el archivo de configuracion este en el mismo directorio que el ejecutable alcanza. 3- Lo ideal es una carpeta "recursos" o "datos" ubicada en el mismo lugar que el ejecutable.

DamRCorba commented 4 years ago

Tobías, varias cuestiones, podrías normalizar el prototipo de la función error para que reciba los mismos parámetros que los estados. Si bien no lo va a usar, te va a permitir reemplazar el switch case por un vector de punteros a funciones. En la función que lees las variables del archivo de configuración deberías reemplazar los números por etiquetas que representen la magnitud.

TobiasMoscoso commented 4 years ago

Aviso que actualice el código y ya hay una primera versión de su ejecutable.

DamRCorba commented 4 years ago

Hola Tobias, esta muy bien. Faltaria, o no vi, la version del main con un vector de punteros a funciones. Teniendo en cuenta que todas tus funciones de estado ya tienen el mismo formato de prototipo, no deberia resultarte dificil realizar las 3 lineas necesarias para que te quede. Con eso tendrias el tp aprobado.