14
UNIVERSIDAD AUTÓNOMA DE TAMAULIPAS UNIDAD ACADÉMICA MULTIDISCIPLINARIA REYNOSA-RODHE SIMULACIÓN DE SISTEMAS: Un enfoque práctico Pag 4-1 Gustavo León 2009 UNIDAD IV REDES VISUAL SLAM ® Y AWESIM ® 4.1 Visual SLAM II Visual SLAM (Simulation Language for Alternative Modeling) es un lenguaje gráfico orientado a la simulación de Sistemas y Procesos. SLAM fue desarrollado en 1979 por Dennis Pedge y Alan Pritsker y fue distribuido por Pritsker Corporation. La parte de SLAM que se orienta a los procesos emplea una estructura reticular compuesta por símbolos de nodos y ramas tales como colas, servidores y puntos de decisión. Modelado significa incorporar esos símbolos a un modelo de red que representa el sistema y en donde diversas entidades pasan a través de la red. SLAM contiene un procesador que convierte la representación visual del sistema a un conjunto de instrucciones. El Visual SLAM II requiere de un programa modelador que construya una red que represente el sistema/proceso (problema), que haga una compilación y finalmente lo ejecute. Una vez que la ejecución ha sido completada con éxito, SLAM II produces algunas formas de salida. 4.1.1 Componentes del SLAM II Existen tres componentes básicos de las redes SLAMII, estos componentes son Entidades, Nodos y Arcos. 4.1.1.1 Entidades Las entidades son las unidades que van a ser transformadas en el tiempo. Las entidades no son parte de la red pero se mueven a través de ella. Todas las entidades que fluyen a través de la red, necesitan ser idénticas. 4.1.1.1.1 Atributos Para determinar la función específica de una entidad y diferenciarla de otra, y de esta forma permitir al modelador el registro de datos, SLAM II provee a cada entidad un conjunto de atributos (ATRIB’s). Los ATRIB’s son localidades de almacenamiento de variables que van anexas a cada entidad y en las cuales el modelador puede almacenar y llamar datos.

Visual SLAM y Redes Awesim

Embed Size (px)

Citation preview

Page 1: Visual SLAM y Redes Awesim

UNIVERSIDAD AUTÓNOMA DE TAMAULIPAS UNIDAD ACADÉMICA MULTIDISCIPLINARIA REYNOSA-RODHE

SIMULACIÓN DE SISTEMAS: Un enfoque práctico

Pag 4-1 Gustavo León 2009

UNIDAD

IV

REDES VISUAL SLAM® Y AWESIM®

4.1 Visual SLAM II

Visual SLAM (Simulation Language for Alternative Modeling) es un lenguaje gráfico orientado a la simulación de Sistemas y Procesos. SLAM fue desarrollado en 1979 por Dennis Pedge y Alan Pritsker y fue distribuido por Pritsker Corporation. La parte de SLAM que se orienta a los procesos emplea una estructura reticular compuesta por símbolos de nodos y ramas tales como colas, servidores y puntos de decisión. Modelado significa incorporar esos símbolos a un modelo de red que representa el sistema y en donde diversas entidades pasan a través de la red. SLAM contiene un procesador que convierte la representación visual del sistema a un conjunto de instrucciones.

El Visual SLAM II requiere de un programa modelador que construya una red que represente el sistema/proceso (problema), que haga una compilación y finalmente lo ejecute. Una vez que la ejecución ha sido completada con éxito, SLAM II produces algunas formas de salida.

4.1.1 Componentes del SLAM II

Existen tres componentes básicos de las redes SLAMII, estos componentes son Entidades, Nodos y Arcos.

4.1.1.1 Entidades

Las entidades son las unidades que van a ser transformadas en el tiempo. Las entidades no son parte de la red pero se mueven a través de ella. Todas las entidades que fluyen a través de la red, necesitan ser idénticas.

4.1.1.1.1 Atributos Para determinar la función específica de una entidad y diferenciarla de otra, y de

esta forma permitir al modelador el registro de datos, SLAM II provee a cada entidad un conjunto de atributos (ATRIB’s). Los ATRIB’s son localidades de almacenamiento de variables que van anexas a cada entidad y en las cuales el modelador puede almacenar y llamar datos.

Page 2: Visual SLAM y Redes Awesim

UNIVERSIDAD AUTÓNOMA DE TAMAULIPAS UNIDAD ACADÉMICA MULTIDISCIPLINARIA REYNOSA-RODHE

SIMULACIÓN DE SISTEMAS: Un enfoque práctico

Pag 4-2 Gustavo León 2009

4.1.1.2 Nodos

Son funciones de red que cambian el estado del sistema. Las redes son construidas de algunas diferentes clases de nodo. Cada tipo de nodo ejecuta una función única. Algunas de estas funciones incluyen.

• Creación de nuevas entidades. • Proveer un espacio virtual (cola) en donde las entidades puedan esperar. • Anexar recursos a las entidades o anexar entidades a otras. • Modificar variables de simulación • Capturar estadísticas

4.1.1.3 Arcos

Son elementos de red que controlan la ruta y el servicio de las entidades. Nodos que son conectados a otros también llamados actividades, las cuales pueden utilizarse para realizar muchas funciones entre las que se incluyen:

• Dirigir una entidad de un nodo a otro. • Rutear una entidad a diferentes nodos basados en alguna condición. • Retrasar el avance de una entidad a través de la red.

4.2 Awesim

Awesim es un Programa de Computadora denominado “Sistema de Simulación Integrada” el cual fue desarrollado por A. Alan B. Pritsker y Jean J. O’Reilly.

Awesim usa las capacidades desarrolladas por el lenguaje de Simulación SLAM y las transporta a un entorno visual más amigable. Aún cuando el uso del programa no requiere de conocimientos de programación, Awewsim tiene la habilidad de integrar código en Visual Basic, C y C++.

A la fecha según información de Mr. Alan Pritsker el proyecto ha sido cerrado y la compañía que lo desarrolló fue absorbida por otra que decidió no aplicar más recursos a la simulación, por lo que el soporte al mismo ha sido descontinuado.

Sin embargo la última versión 3.0 es ampliamente usada, principalmente en medios de docencia, debido a un sinnúmero de características que lo hacen todavía muy competitivo incluyendo el hecho de que su uso legal no requiere de una licencia para su instalación. Cabe aclarar que el software no es compatible con Windows Vista.

Aún cuando lo habitual es la introducción del Visual SLAM para generar las redes de simulación y una vez dominadas estas, utilizar alguna herramienta de cómputo para su ejecución, me parece que el manejo simultáneo del lenguaje gráfico y el entorno de programación de manera simultánea, es adecuado y despierta un mayor interés en el estudiante.

Awesim proporciona una herramienta interactiva al lenguaje visual de las redes SLAM II, que permite al usuario crear redes y subredes que pueden ser utilizadas en diferentes proyectos a través de la creación de escenarios bajo los cuales se logran

Page 3: Visual SLAM y Redes Awesim

UNIVERSIDAD AUTÓNOMA DE TAMAULIPAS UNIDAD ACADÉMICA MULTIDISCIPLINARIA REYNOSA-RODHE

SIMULACIÓN DE SISTEMAS: Un enfoque práctico

Pag 4-3 Gustavo León 2009

crear simulaciones de manera ágil y sencilla. Aquí se muestra un diagrama de bloques de la interacción de Awesim y sus componentes con Visual SLAM.

4.2.1 Estructura Awesim

Hay cuatro elementos principales que componen la estructura de Awesim y que los podemos visualizar en el diagrama de bloques aquí mostrado.

Page 4: Visual SLAM y Redes Awesim

UNIVERSIDAD AUTÓNOMA DE TAMAULIPAS UNIDAD ACADÉMICA MULTIDISCIPLINARIA REYNOSA-RODHE

SIMULACIÓN DE SISTEMAS: Un enfoque práctico

Pag 4-4 Gustavo León 2009

Cada uno de estos elementos interactúan dentro de un entorno creado en el programa y que es denominado Proyecto.

4.2.1.1 Red

La red contiene de manera gráfica el flujo del proceso, utilizando la simbología estándar SLAM conteniendo nodos y arcos que describen de manera visual la interconexión de los elementos que representan el comportamiento del sistema. La red describe el proceso ó sistema bajo estudio.

4.2.1.2 Controles

Los controles determinan los límites bajo los cuales la simulación se ejecutará y especifica diverso parámetros como tiempo de duración, cuántas entidades serán permitidas en el modelo a la vez y qué reportes van a ser generados.

4.2.1.3 Escenarios

Un escenario representa un conjunto de controles y al menos una red

4.2.1.4 Proyecto

Un Proyecto en Awesim contiene todos los elementos necesarios para ejecutar una simulación y en cualquiera de los casos contiene todos los escenarios, por lo que necesariamente para construir un modelo nuevo se tiene que empezar por declarar el proyecto.

4.3 Construcción de una Red Visual Una red simple puede quedar representada de la manera como veremos a

continuación:

Page 5: Visual SLAM y Redes Awesim

UNIVERSIDAD AUTÓNOMA DE TAMAULIPAS UNIDAD ACADÉMICA MULTIDISCIPLINARIA REYNOSA-RODHE

SIMULACIÓN DE SISTEMAS: Un enfoque práctico

Pag 4-5 Gustavo León 2009

Utilizaremos directamente el constructor de redes Awesim para familiarizarnos con el uso del simulador. Abrir Awesim V3.0 y en el menú de “Project”, seleccionar “New” en la ventana de diálogo teclear ENSAYO1

Y hace “click” en “NEW” Activar el constructor de Redes SLAM II (Network Builder), Haciendo click en

y se abrirá la siguiente caja de diálogo en donde haremos click en New

Page 6: Visual SLAM y Redes Awesim

UNIVERSIDAD AUTÓNOMA DE TAMAULIPAS UNIDAD ACADÉMICA MULTIDISCIPLINARIA REYNOSA-RODHE

SIMULACIÓN DE SISTEMAS: Un enfoque práctico

Pag 4-6 Gustavo León 2009

Lo cual nos abrirá el constructor de RED (Network Builder)

4.3.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 símbolo y los parámetros utilizados se muestran abajo.

Page 7: Visual SLAM y Redes Awesim

UNIVERSIDAD AUTÓNOMA DE TAMAULIPAS UNIDAD ACADÉMICA MULTIDISCIPLINARIA REYNOSA-RODHE

SIMULACIÓN DE SISTEMAS: Un enfoque práctico

Pag 4-7 Gustavo León 2009

4.3.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 = ∞

4.3.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

4.3.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 = ∞

Page 8: Visual SLAM y Redes Awesim

UNIVERSIDAD AUTÓNOMA DE TAMAULIPAS UNIDAD ACADÉMICA MULTIDISCIPLINARIA REYNOSA-RODHE

SIMULACIÓN DE SISTEMAS: Un enfoque práctico

Pag 4-8 Gustavo León 2009

4.3.1.4 Ejercicio 4 con Nodo CREATE

Crear entidades que respondan 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 excepción del tiempo entre creaciones.

4.3.1.5 Ejercicio 5 con Nodo CREATE Crear entidades basadas en una función de usuario 1

4.3.2 Nodo QUEUE

En la secuencia de la red ahora necesitamos un lugar en donde se puedan almacenar la entidades, esto se puede lograr a partir de un nodo QUEUE y cuya estructura y configuración se muestra abajo.

Page 9: Visual SLAM y Redes Awesim

UNIVERSIDAD AUTÓNOMA DE TAMAULIPAS UNIDAD ACADÉMICA MULTIDISCIPLINARIA REYNOSA-RODHE

SIMULACIÓN DE SISTEMAS: Un enfoque práctico

Pag 4-9 Gustavo León 2009

4.3.2.1 Ejercicio 1 con Nodo QUEUE Introducir un nodo QUEUE etiquetado como Inicio , 0 entidades en el inicio, de capacidad infinita.

4.3.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 desviación (BALK) ruteada al nodo COLA2, cuya información será almacenada en el archivo# 1

4.3.2.3 Ejercicio 3 con Nodo QUEUE Introducir un nodo QUEUE con 2 unidades al inicio, con capacidad de 10, haciendo uso del número de archivo 3 y que el nodo realice una función de bloqueo BLOCK

4.3.2.4 Ejercicio 4 con Nodo QUEUE Introducir un nodo QUEUE sin unidades de inicio, de capacidad infinita y que utilice la función ASSERT para definir que la variable LTRIB[2] puede utilizar números de archivo del 3 al 5. El formato de la función ASSERT es ASSERT(VAR,LOW,HIGH) en donde LOW y HIGH son los limites inferior y superior de los números de archivo a utilizar por VAR

Page 10: Visual SLAM y Redes Awesim

UNIVERSIDAD AUTÓNOMA DE TAMAULIPAS UNIDAD ACADÉMICA MULTIDISCIPLINARIA REYNOSA-RODHE

SIMULACIÓN DE SISTEMAS: Un enfoque práctico

Pag 4-10 Gustavo León 2009

4.3.3 Nodo SELECT Cuando existen más de una actividad de servicio después de un nodo QUEUE, y las actividades no son idénticas, entonces tiene que efectuarse una selección. Esto se logra a través del nodo SELECT

4.3.3.1 Ejercicio 1 con Nodo SELECT Introducir un nodo QUEUE con una entidad de inicio, de capacidad 2, con número de archivo 3. Crear un nodo SELECT (la encontrará en el tab de opciones marcado como “Nodes 2”) con etiqueta TYP1 con regla de selección de queue, ORDER y regla de selección de servidor ORDER también. Después de esto active con un click la opción CONNECT y haciendo click en QUE1 y TYP1 haga la conexión el diagrama debe verse como se muestra abajo

4.3.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 límite, elimina la entidad.

4.3.4.1 Ejercicio 1 con Nodo TERMINATE Introducir un nodo TERMINATE etiquetado como FINAL que se ejecute cuando hayan llegado 50 entidades

Page 11: Visual SLAM y Redes Awesim

UNIVERSIDAD AUTÓNOMA DE TAMAULIPAS UNIDAD ACADÉMICA MULTIDISCIPLINARIA REYNOSA-RODHE

SIMULACIÓN DE SISTEMAS: Un enfoque práctico

Pag 4-11 Gustavo León 2009

4.3.5 Nodo ASSIGN Asigna valores a los atributos de una entidad.

4.3.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)

4.3.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 través de la red. Las actividades que salen de nodos QUEUE o SELECT son referidos como actividades de servicio.

Page 12: Visual SLAM y Redes Awesim

UNIVERSIDAD AUTÓNOMA DE TAMAULIPAS UNIDAD ACADÉMICA MULTIDISCIPLINARIA REYNOSA-RODHE

SIMULACIÓN DE SISTEMAS: Un enfoque práctico

Pag 4-12 Gustavo León 2009

Las actividades pueden ser especificadas en duración a través de un valor directo o una función.

4.4 Ejemplos básicos de redes SLAM

4.4.1 Banco con dos cajas atendiendo

Desarrollar un modelo de red considerando una situación que involucre el proceso de los clientes que llegan a un Banco (mencionado al principio) con una distribución exponencial de media 10, comenzando en una unidad de tiempo equivalente a 5. El número de clientes de inicio es de 2 con una capacidad máxima de 10. Dos cajas están atendiendo la única línea de espera, con una distribución 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 gráfica

4.4.1.1 Creación de nodo CREATE de Llegada

4.4.1.2 Creación de nodo QUEUE de Cola

Page 13: Visual SLAM y Redes Awesim

UNIVERSIDAD AUTÓNOMA DE TAMAULIPAS UNIDAD ACADÉMICA MULTIDISCIPLINARIA REYNOSA-RODHE

SIMULACIÓN DE SISTEMAS: Un enfoque práctico

Pag 4-13 Gustavo León 2009

4.4.1.3 Conexión 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 continuación:

4.4.1.4 Creación de nodo TERMINATE de Final

4.4.1.5 Creación de nodo de actividad

Page 14: Visual SLAM y Redes Awesim

UNIVERSIDAD AUTÓNOMA DE TAMAULIPAS UNIDAD ACADÉMICA MULTIDISCIPLINARIA REYNOSA-RODHE

SIMULACIÓN DE SISTEMAS: Un enfoque práctico

Pag 4-14 Gustavo León 2009

4.4.2 Caso de dos líneas con un servidor

Considerar la situación que involucre dos tipos de trabajo procesándose en el mismo servidor. Los tipos de trabajo se asume que llegan a una sola línea antes de arribar al servidor. Una de las entidades está programada para llegar cada 8 unidades de tiempo y sólo 100 van a ser creadas. Estas entidades van a tener un tiempo estimado de servicio que es un muestreo de una distribución 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 m’as adelante. El servidor es modelado como una actividad 1 en donde el tiempo de servicio es especificado como atributo 1 más una muestra de una distribución normal

4.4.3 Casos incluyendo bloqueos y desvíos

Considerar el caso de una compañía con un taller de mantenimiento que involucra dos operaciones en serie. Cuando una máquina requiere mantenimiento y cuatro