INTRODUCCIÓN AL LENGUAJE GPSS (GENERAL PURPOSE SIMULATION SYSTEM)
chanpiTrabajo1 de Noviembre de 2015
10.474 Palabras (42 Páginas)478 Visitas
INTRODUCCIÓN AL LENGUAJE GPSS (GENERAL PURPOSE SIMULATION SYSTEM)
En la GPSS es un lenguaje interactivo desarrollado a principios de la década de 1960 por Geoffrey Gordon. El objetivo principal de GPSS es la modelación de sistemas discretos. Cualquier sistema por simular en este lenguaje se debe escribir mediante un diagrama de bloques que presenta las actividades, unidos mediante línea que representan la secuencia que seguirán las transacciones, que a su vez se mueven a través de los bloques. Mediante el sistema simulado se mueven entidades que dependen de la naturaleza del sistema. Por ejemplo, un sistema de comunicaciones se refiere al movimiento de mensajes; un sistema de transportación en carreteras se refiere a vehículos motorizados en un sistema de procesamiento de datos a registros, etc.
Dado lo anterior tenemos que una transacción es aquello que fluye a través de un sistema, mientras que un bloque se define como cualquier operación que realiza una transacción dentro del sistema.
Ejemplos de transacciones: piezas, órdenes de producción, operarios, mecánicos, etc.
Ejemplos de operaciones: procesamiento, entradas a un almacén, salidas de un almacén, inicio de proceso, fin de proceso, salida del sistema, ensamble, desensamble, etc.
INSTRUCCIONES EN GPSS
Un programa en GPSS consta de cuatro instrucciones:
- Instrucciones de acceso al sistema GP SS. Este tipo de comandos permiten al usuario el acceso al compilador de GPSS y dependen de la versión utilizada.
- Instrucciones de definición de variables. Estas sentencias son opcionales, su uso depende del sistema a modelar. Sus instrucciones que van íntimamente relacionadas con la lógica del programa. A continuación tenemos la lista de instrucciones que caen dentro de ese tipo.
DESCRIPCIÓN | INSTRUCCIÓN |
Definición de funciones | FUNCTION |
Definicion de números de máquina | STORAGE |
Asignación numérica a variables | EQU |
Definición de matrices | MATRIX |
Inicialización de variables | INITIAL |
Definición de histogramas | TABLE |
Definición de operaciones | VARIABLE OFVAIRIABLE |
- Instrucción de lógica del programa. Estas instrucciones son los llamados bloques o sentencias que se ejecutan durante la ejecución. Existen 8 subtipos de bloques, los cuales se mencionan a continuación:
DESCRIPCIÓN | INSTRUCCIÓN |
Simulación de inicio de proceso y captura de máquina | SEIZE ENTER PREEMPT |
Simulación de fin de proceso y liberación de máquina | RELEASE LEAVE RETURN |
Simulación de entrada de transacciones aun almacén | QUEUE ENTER LINK |
Simulación de salida de transacciones de un almacen | ENTER DEPART UNLINK |
Simulación de entrada de transacciones al sistema | GENERATE SPLIT |
Simulación de salida de transacciones al sistema | TERMINATE |
Simulación de diversos tipos de procesos | ADVANCE ASSEMBLE MATCH GATHER |
Simulación de control de flujo de transacciones | TRANSFER TEST GATE LOGIC SELECT LOOP BUFFER |
Bloques de operaciones aritméticas | SAVEVALUE MSAVEVALUE ASSIGN INDEX PRIORITY |
Bloques de creación de estadísticas | TABULATE |
- Instrucciones de control de simulación. Éstas se utilizan para manipular la ejecución, la edición y el manejo de archivos. Las más importantes son:
Instrucción |
START |
END |
SIMULATE |
Codificación de las instrucciones en GPSS
El formato genérico para codificar las sentencias es el siguiente:
sección | etiqueta | bloque | parámetros | Comentarios |
Posición(columna) | 2 | 8 | 19 | 31 |
Dónde:
Etiqueta. Representa un nombre o una dirección.
Bloque. Es la instrucción a ejecutar, representa la acción que llevará a cabo cada transacción que cruce por éste.
Parámetros. Son valores que sirven para alterar el comportamiento del bloque durante la simulación, dentro de los parámetros se incluyen los Atributos Numéricos Estándar (SNA).
Comentarios. Es el lugar donde se pueden hacer descripciones y anotaciones que hagan más entendible el programa.
Atributos numéricos estándar
Los parámetros son datos que representan atributos de la transacción. Adicionalmente, hay atributos de las otras entidades del sistema, tal como el número de transacciones en un almacenaje o la longitud de una cola, que quedan disponibles al usuario del programa. En forma colectiva se les llama Atributos numéricos estándar (SNA).
Bloques básicos de GPSS
Estos bloques constituyen un elemento básico de producción, el cual es representado como una serie de actividades a través del tiempo. Este elemento consta de seis eventos y una actividad, tal y como está plasmado en el siguiente diagrama:
Llegada al elemento básico | Inicio de La actividad | Salida del Elemento básico |
Retraso | Actividad | |
Inicio de retraso | Fin del retraso | Fin de la actividad |
Llegada del elemento. Consiste en la entrada de una transacción al sistema. Existen dos tipos de entrada: la primera se genera cuando la transacción proviene de un elemento que no se considera dentro del modelo, en este caso la entrada se efectúa mediante la instrucción GENERATE.
La segunda tiene lugar cuando la transacción proviene de otro elemento básico de producción.
Inicio del retraso. Esta actividad se presenta cuando una transacción no puede comenzar con la actividad por la cual ha entrado al elemento básico. El bloque empleado para medir el retraso es QUEUE.
Inicio de la actividad. Es el evento por medio del cual una actividad pasa de un estado de espera a otro de actividad, esto sólo es posible si los recursos están desocupados. Un evento es representado por los bloques SEIZE y ENTER.
Fin del retraso. Es el punto en el que termina la espera de una transacción al haberse iniciado una actividad, tiene lugar en el mismo tiempo que el evento anterior.
Actividad. Es la creación por la cual la transacción entra al elemento de producción. El bloque ADVANCE es el que se emplea para modelar tiempos de proceso o transporte.
Fin de la actividad. Es el evento generado al finalizar la actividad, cuyo fin es liberar el recurso que se utilizó para realizarla. Los bloques que modelan este evento son REPLASE y LEAVE.
Salida del elemento. Consiste en el abandono total del sistema o la interconexión con otro sistema por parte de la transacción. En el primer caso el bloque es TERMINATE.
GENERATE
Es el bloque que sirve para dar entrada a las transacciones, al sistema. Las transacciones serán en uno o más bloques GENERATE y no existe límite en cuanto a la cantidad de bloques de este tipo que puede contener el modelo.
Operación | Bloque | A | B | C | D | E | F |
GENERATE | A, B, C, D, E, F | Media | Modificador | Desplazamiento | Cuenta | Prioridad | Parámetros |
A. tiempo medio entre llegadas.
B. desviación con respecto a la media.
C. tiempo en que se generará la primera transacción.
D. límite de generación de transacciones.
...