Tarea #1
Programación de Sistemas

Información de uso de licencias de Matlab en Aragorn

La aplicación Monitor de Licencias Matlab recopila información de la cantidad de licencias utilizadas en ese momento en el servidor donde es ejecutado, esto se logra capturando la información que da el comando "/usr/local/matlab/etc$ lmstat -a".
El siguiente diagrama muestra el funcionamiento y movimiento de datos de la aplicacion.
esquema de funcionamiento
La aplicacion esta compuesta por dos scripts de bash, el primero, de nombre capturador, es el encargado de ejecutar el comando antes mencionado y lanzar a su salida standard cada <minutos> minutos la fecha de ejecucion junto con el tiempo correspondiente a los minutos transcurridos desde la ejecucion del script y la informacion entregada por el comando de matlab, para que esta informacion sea util se debe ejecutar el script redireccionando su salida standard a un archivo que sera comun para ambos scripts, por ejemplo:
$ capturador <minutos> > <archivo de salida>
$ capturador 2 > datos.txt

El script obtiene los minutos transcurridos desde 1970-01-01 a las 00:00:00 con esto puede saber cuando fue ejecutado y saber cuanto tiempo lleva ejecutandose, hace un loop infinito en el que obtiene la ingormacion de las licencias, las imprime como se menciono en el parrafo anterior y duerme durante <minutos> minutos.
La segunta parte de la aplicacion es el script de nombre graficador, el que se encarga de interpretar la informacion contenida en el archivo al que fue redireccionada la salida anterior (el que debe ser especificado como la entrada standard del script) y graficar con esta la cantidad de licencias utilizadas versus la cantidad de minutos transcurridos desde la ejecucion del capturador, un ejemplo de ejecucion seria:
$ graficador <modulo> < <archivo de entrada>
$ graficador SIMULINK < datos.txt

Este script recibe como argumento el modulo de matlab <modulo> del que se quiere obtener informacion, por medio de comandos de linux como grep y cut selecciona la informacion requerida y la guarda en un archivo temporal, el cual sera leido depues por gnuplot, luego de esto, se genera un archivo de ejecucion por lotes para gnuplot en donde se especifican las configuraciones para el grafico a generar y por ultimo se llama a gnuplot con el archivo de comandos generado anteriormente, el grafico es desplegado durante 20 segundos.