rat - revisión automática de tareas.

Creada por los alumnos: Diego del Valle y Juan Pablo Lorca.

Universidad Técnica Federico Santa María - Área Computadores 2006.

Tarea 2: Comunicación entre procesos con pipes
ELO-330: Revisión automática de tarea

Argumentos:

  1. solución: es la solución o trabajo a ser revisado. Este argumento es un archivo tar que además ha sido comprimido con gzip. La mejor solución de esa tarea es un ejemplo de tal archivo.
  2. archivo_problemas: es un archivo de texto que la solución debería probar.
  3. tiempo: este último argumento es el tiempo dado para responder cada pregunta.

Módulo del algoritmo:

Basicamente el algoritmo se divide en cuatro secciones:

En este módulo se utiliza pipas para establecer la comunicación entre el programa principal (proceso padre) y el prograrma tar(proceso hijo mutado), para así poder descomprimir el archivo comprimido en .tar.zip "solución" y poder obtener el path en donde se encuentra la tarea a corregir con el finde poder interacuar con él.

En este módulo se utiliza pipas para establecer la comunicación entre el programa principal (proceso padre) y el prograrma make (proceso hijo mutado), para así poder compilar el archivo a ejecutar que se encuentra en la carpeta obtenida en el módulo tar y poder obtener el estado de compilación del programa compilado.

En este módulo se utiliza pipas para establecer la comunicación entre el programa principal (proceso padre) y el prograrma ra (proceso hijo mutado), para así poder obtener los resultados esperados del archivo ingresado a ejecutar "archivo_problemas" .

En este módulo se utiliza pipas para establecer la comunicación entre el programa principal (proceso padre) y el prograrma ra (proceso hijo mutado), para así poder ejecutar este y ser sometido a pruebas drásticas de su correcta ejecución y certeza en los resultados entregados..

OBSERVACIONES

#define pathtar "/bin/tar" // path tar
#define pathmake "/usr/bin/make" //path make
#define pathbc "/usr/bin/bc" // path bc


Ud. debe reemplazar el string encerrado entre comillas por el adecuado para el funcionamiento en su entorno. En caso de no saber donde alguna de las aplicaciones antes mencionadas, puede ubicarlas ejecutando el comando: whereis -b <aplicación> La anterior instruccion ubicara el directorio en el cual se encuentra el archivo binario correspondiente a la aplicacion. Como salida obtendra una linea similar a: bc: /usr/sbin/bc (en el caso que se buscase la aplicación bc) En este caso, la septima líinea del archivo ra.c deberia ser modificada a: #define path "/usr/sbin/bc".

MODO DE OPERACIÓN DEL PROGRAMA

Para compilar el programa ud deberá hacer lo siguiente:

make

Finalmente para ejecutar el programa ud deberá ejecutar la siguiente línea de comando:

./rat solución archivo_problemas tiempo.

 

La ejecución de esta tarea arroja lo siguiente:


Autores: Juan Pablo Lorca / Diego del Valle
Revision de Tarea <solución>
Archivo de Expresiones <archivo_problemas>
Timeout <tiempo> segundos
Timepo de respuesta <tiempo en responder > segundos

Compilacion:

warn <número de warnings>, err <número de errores>
Compilacion OK!! (en el caso que war y err sean iguales a 0)


Ejecución:


Numero de Expresiones a Evaluar = <cant. de expresiones >
Expresion # La respuesta esperada es: <valor esperado>

Respuestas correntas Ra debe arrojar: <número de expresiones> de <número de expresiones>

Tiempo promedio de respuestas: <promedio> segundos

Las Respuestas de la tarea en revision son:
====================================================

Rapidez Aritmetica
Autor: <autor de la tarea >
Timeout: <tiempo>

Evalue: <expresión en el archivo_problemas>
Respuesta: Estado de la respuesta!
Porcentaje de exactitud: ... %

Tiempo promedio de respuesta: ... segundos

 

====================================================

FIN