Visual SLAM (Simulation Language for Alternative Modeling) es un lenguaje grfico orientado a la simulacin de Sistemas. Como el enfoque de este escrito est orientado al aprendizaje prctico, lo encausaremos a travs de ejercicios. Supongamos que tenemos el sistema de un Banco en donde llegan los clientes a una lnea de espera en espera de ser atendidos en una caja. Observemos el flujo tpico del mencionado proceso en la figura de abajo y que podemos listar:
1. Llegada de Clientes 2. Clientes en espera de ser atendidos 3. Clientes en caja siendo atendidos 4. Cliente saliendo del proceso.
En este caso podemos identificar los clientes como entidades, el cajero como recurso que va a ser modelado como servidor y la fila de clientes ser configurada como cola (Queue). El cliente saliendo nos denota el fin del proceso.
UNIVERSIDAD AUTNOMA DE TAMAULIPAS UNIDAD ACADMICA MULTIDISCIPLINARIA REYNOSA-RODHE SIMULACIN DE SISTEMAS: Un enfoque prctico
Pag 1-2 Gustavo Len 2008 1.2. Construccin de una Red Visual Visual SLAM es un lenguaje grfico orientado a la simulacin de Sistemas
Una red simple puede quedar representada de la manera siguiente:
Utilizaremos el look del Awesim para facilitar posteriormente la introduccin de la red en el simulador.
Abrir Awesim V3.0 y en el men de Project, seleccionar New en la ventana de dilogo teclear ENSAYO1
Y hace click en NEW
UNIVERSIDAD AUTNOMA DE TAMAULIPAS UNIDAD ACADMICA MULTIDISCIPLINARIA REYNOSA-RODHE SIMULACIN DE SISTEMAS: Un enfoque prctico
Pag 1-3 Gustavo Len 2008 Activar el constructor de Redes SLAM II (Network Builder), Haciendo click en y se abrir la siguiente caja de dilogo en donde haremos click en New
Lo cual nos abrir el constructor de RED (Network Builder)
1.2.1 Nodo CREATE
Regresando al ejemplo del banco, ahora nos concentraremos en la llegada de clientes al sistema, vemos como las entidades (clientes) son insertadas a la red. Visual SLAM utiliza el nodo CREATE (crear) para insertar entidades el smbolo y los parmetros utilizados se muestran abajo.
UNIVERSIDAD AUTNOMA DE TAMAULIPAS UNIDAD ACADMICA MULTIDISCIPLINARIA REYNOSA-RODHE SIMULACIN DE SISTEMAS: Un enfoque prctico
Pag 1-4 Gustavo Len 2008
1.2.1.1 Ejercicio 1 con Nodo CREATE
Crear entidades que inicien en el tiempo 0 y cada 10 unidades de tiempo posteriormente. Poner una marca de tiempo dentro del atributo 2 de la entidad. Toma todas las ramas (branches) saliendo del nodo CREATE Valores default para MC = y M =
1.2.1.2 Ejercicio 2 con Nodo CREATE
Crear 50 entidades iniciando en el tiempo 100.0. El tiempo entre creaciones debe ser 30. Tome al menos 2 ramas saliendo del nodo. El valor default para MA es no almacenar los valores de las entidades creadas
1.2.1.3 Ejercicio 3 con Nodo CREATE
Crear 1 entidad en el tiempo 75 que lleve todas las ramas(branches) que salgan del nodo. Los valores default son no marcar atributos, TBC = y M =
UNIVERSIDAD AUTNOMA DE TAMAULIPAS UNIDAD ACADMICA MULTIDISCIPLINARIA REYNOSA-RODHE SIMULACIN DE SISTEMAS: Un enfoque prctico
Pag 1-5 Gustavo Len 2008 1.2.1.4 Ejercicio 4 con Nodo CREATE Crear entidades que repondan a un modelo de arribo de Poisson, es decir un tiempo exponencial con una media de tiempo de 10. Tomar todos los valores default con excepcin del tiempo entre creaciones.
1.2.1.5 Ejercicio 5 con Nodo CREATE
Crear entidades basadas en una funcin de usuario 1
1.2.2 Nodo QUEUE
En la secuencia de la red ahora necesitamos un lugar en donde almacenar la entidades, esto se puede lograr a partir de un nodo QUEUE y cuya estructura y configuracin se muestra abajo.
1.2.2.1 Ejercicio 1 con Nodo QUEUE
Introducir un nodo QUEUE etiquetado como NODO1, 0 entidades en el inicio, de capacidad infinita.
UNIVERSIDAD AUTNOMA DE TAMAULIPAS UNIDAD ACADMICA MULTIDISCIPLINARIA REYNOSA-RODHE SIMULACIN DE SISTEMAS: Un enfoque prctico
Pag 1-6 Gustavo Len 2008
1.2.2.2 Ejercicio 2 con Nodo QUEUE
Introducir un nodo QUEUE con 0 entidades al inicio, con capacidad de 4 entidades y que tenga una desviacin (BALK) ruteada al nodo COLA2
1.2.2.3 Ejercicio 3 con Nodo QUEUE
Introducir un nodo QUEUE con 2 unidades al inicio, con capacidad de 10, haciendo uso del nmero de archivo 3 y que el nodo realice una funcin de bloqueo BLOCK
1.2.2.4 Ejercicio 4 con Nodo QUEUE
Introducir un nodo QUEUE sin unidades de inicio, de capacidad infinita y que utilice la funcin ASSERT para definir que la variable LTRIB[2] puede utilizar nmeros de archivo del 3 al 5. El formato de la funcin ASSERT es ASSERT(VAR,LOW,HIGH) en donde LOW y HIGH son los limites inferior y superior de los nmeros de archivo a utilizar por VAR
UNIVERSIDAD AUTNOMA DE TAMAULIPAS UNIDAD ACADMICA MULTIDISCIPLINARIA REYNOSA-RODHE SIMULACIN DE SISTEMAS: Un enfoque prctico
Pag 1-7 Gustavo Len 2008 1.2.3 Nodo SELECT
Cuando existen ms de una actividad de servicio despus de un nodo QUEUE, y las actividades no son idnticas, entonces tiene que efectuarse una seleccin. Esto se logra a travs del nodo SELECT
1.2.3.1 Ejercicio 1 con Nodo SELECT
Introducir un nodo QUEUE con una entidad de inicio, de capacidad 2, con nmero de archivo 3. Crear un nodo SELECT (la encontrar en el tab de opciones marcado como Nodes 2) con etiqueta TYP1 con regla de seleccin de queue, ORDER y regla de seleccin de servidor ORDER tambin. Despus de esto active con un click la opcin CONNECT y haciendo click en QUE1 y TYP1 haga la conexin el diagrama debe verse como se muestra abajo
1.2.4 Nodo TERMINATE
Este nodo se utiliza para destruir o borrar entidades de la red. El nodo funciona con un contador que al llegar al lmite, elimina la entidad.
1.2.4.1 Ejercicio 1 con Nodo TERMINATE
Introducir un nodo TERMINATE etiquetado como FINAL que se ejecute cuando hayan llegado 25 entidades
UNIVERSIDAD AUTNOMA DE TAMAULIPAS UNIDAD ACADMICA MULTIDISCIPLINARIA REYNOSA-RODHE SIMULACIN DE SISTEMAS: Un enfoque prctico
Pag 1-8 Gustavo Len 2008 1.2.5 Nodo ASSIGN
Asigna valores a los atributos de una entidad.
1.2.5.1 Ejercicio 1 con Nodo ASSIGN
Introducir un nodo ASSIGN con etiqueta ASIGNA1 en el que se modifiquen los atributos de las entidades atravesando el nodo de la manera siguiente ATRIB[2]= 7.0, ATRIB[3]=ATRIB[3]/XX[2], XX[1]= RNORM(4,2)
1.2.6 Actividades ACTIVITY
Branches o ramas son utilizadas para modelar actividades. Solamente en las ramas se pueden especificar retrasaos de tiempos de las entidades que fluyen a travs de la red. Las actividades que salen de nodos QUEUE o SELECT son referidos como actividades de servicio.
Las actividades pueden ser especificadas en duracin a travs de un valor directo o una funcin.
UNIVERSIDAD AUTNOMA DE TAMAULIPAS UNIDAD ACADMICA MULTIDISCIPLINARIA REYNOSA-RODHE SIMULACIN DE SISTEMAS: Un enfoque prctico
Pag 1-9 Gustavo Len 2008
1.2.6 Ejemplos bsicos de redes SLAM 1.2.6.1 Banco con dos cajas atendiendo
Desarrollar un modelo de red considerando una situacin que involucre el proceso de los clientes que llegan a un Banco (mencionado al principio) con una distribucin exponencial de media 10, comenzando en una unidad de tiempo equivalente a 5. El nmero de clientes de inicio es de 2 con una capacidad mxima de 10. Dos cajas estn atendiendo la nica lnea de espera, con una distribucin uniforme de entre 6 y 12 unidades. Terminar el proceso cuando se hayan arribado 100 entidades al final. Abajo se muestran los pasos que siguen de manera grfica
1.2.6.1.1 Creacin de nodo CREATE de Llegada
1.2.6.1.2 Creacin de nodo QUEUE de Cola
1.2.6.1.3 Conexin de del nodo de Llegada y el nodo de Cola
Hacer click en el cono de ACTIVITY y hacer click primero en el nodo de Llegada y luego en el nodo Cola hasta que la red se vea como a continuacin:
UNIVERSIDAD AUTNOMA DE TAMAULIPAS UNIDAD ACADMICA MULTIDISCIPLINARIA REYNOSA-RODHE SIMULACIN DE SISTEMAS: Un enfoque prctico
Pag 1-10 Gustavo Len 2008
1.2.6.1.4 Creacin de nodo TERMINATE de Final
1.2.6.1.4 Creacin de nodo de actividad
1.2.6.2 Caso de dos lneas con un servidor
UNIVERSIDAD AUTNOMA DE TAMAULIPAS UNIDAD ACADMICA MULTIDISCIPLINARIA REYNOSA-RODHE SIMULACIN DE SISTEMAS: Un enfoque prctico
Pag 1-11 Gustavo Len 2008 Considerar la situacin que involucre dos tipos de trabajo procesndose en el mismo servidor. Los tipos de trabajo se asume que llegan a una sola lnea antes de arribar al servidor. Una de las entidades est programada para llegar cada 8 unidades de tiempo y slo 100 van a ser creadas. Estas entidades van a tener un tiempo estimado de servicio que es un muestreo de una distribucin exponencial con un tiempo medio de 7. Este tiempo de servicio es asignado al atributo 1 en un nodo ASSIGN. Para el otro tipo de entidad el tiempo entre llegadas es de 12 unidades de tiempo y son creadas 50 de estas entidades. El tiempo de servicio estimado para cada una de estas entidades es exponencialmente distribuida con una media de 10. Ambos tipos de entidades son ruteadas a un nodo QUEUE cuya etiqueta es QOFS. Las entidades en QOFS esperan en el archivo uno y se les asignar un rango mediante el comando PRIORITY que se ver un poco mas adelante. El servidor es modelado como una actividad 1 en donde el tiempo de servicio es especificado como atributo 1 ms una muestra de una distribucin normal
1.2.6.3 Casos incluyendo bloqueos y desvos
Considerar el caso de una compaa con un taller de mantenimiento que involucra dos operaciones en serie. Cuando una mquina requiere mantenimiento y cuatro mquinas estn esperando la operacin 1, las operaciones de mantenimiento son subcontratadas a un proveedor externo.