Академический Документы
Профессиональный Документы
Культура Документы
CONCEPTOS DE PROGRAMACIN
1
el segundo, dentro del contexto de cadenas de eventos. Por lo general es ms sencilla la visualizacin de la simulacin dentro del primero de ellos, y es posible programar modelos validos sin considerar el concepto de cadenas de eventos. Se entiende por cadena de eventos el lugar donde se envan las transacciones que durante su recorrido a travs del modelo o bloques encuentra una condicin de bloqueo que les impide seguir un cambio libremente. Existen dos tipos de bloqueo: a) Bloqueo de retraso o b) Bloqueo condicional.
a) El bloqueo de retraso consiste en la entrada de una transaccin a un bloque que retardara
su tiempo de avance; en otras palabras la transaccin estar en el tiempo t1 y saldr del bloque en el tiempo t2, en el intervalo entre estos dos tiempos, la transaccin permanece, a los ojos de un programador, por bloques en el bloque retardante, sin embargo, a los ojos de un programador por eventos, la transaccin para formar parte de la cadena de eventos futuros, a la que entra en t1 y sale en t2. En GPSS existen solo dos bloques retardantes: el GENERATE, que coloca la transaccin en la cadena de eventos futuros hasta el tiempo que deba de entrar al sistema, y el ADVANCE, que coloca la transaccin en la cadena de eventos futuros hasta que haya cumplido con su retraso asignado.
b) El bloque condicional ocurre cuando una transaccin intenta entrar a un bloque y encuentra un impedimento fsico o una condicin no cumplida en el bloque; por ejemplo, una transaccin que intenta entrar a un bloque que simula una maquina, y dicha maquina se encuentra trabajando con otra transaccin o esta descompuesta. Entonces la transaccin queda bloqueada hasta que la maquina se desocupe o quede reparada. Hablamos en programacin por bloques, en apariencia la transaccin queda suspendida en el espacio
2
esperando su entrada al bloque que se lo impide. Sin embargo, esa transaccin es enviada a esperar su destino a la cadena de eventos actuales, hasta que la condicin de bloques desaparezca y pueda continuar su camino. En este sentido en GPSS existen muchos bloques que actan sobre las transacciones; por mencionar algunos, SEIZE, GATE, TEST y ENTER. ESTRUCTURA DEL LENGUAJE Para usar el GPSS se requiere tener condiciones de comandos ms comunes del sistema DOS. Dentro de un programa de GPSS se pueden distinguir cuatro tipos de instrucciones, cada una de las cuales se detalla a continuacin: Instrucciones de acceso al sistema GPSS Estas instrucciones permiten al usuario el acceso al compilador del GPSS y dependen de cada tipo de versin utilizada: en este punto se recomienda hacer referencia al manual respectivo. Instrucciones de definido de variables Son un tipo de instrucciones especiales de carcter opcional; su inclusin depende del sistema a modelar. Estas instrucciones siempre se encuentran relacionadas con las instrucciones de lgica del programa. Dentro de las instrucciones se encuentran las siguientes: definicin de las funciones a utilizar, definicin de la capacidad de los almacenes, definicin del numero de operarios maquinas por estacin, inicializacin de variables, definicin de las operaciones matemticas por utilizar, etctera. A continuacin de muestra una lista de las definiciones mas comunes utilizadas en GPSS:
Definicin de funciones Definicin del nmero de mquinas Definicin de matrices Asignacin numrica a variables Inicializacin de variables Definicin de histograma Definicin de operaciones
Instrucciones de lgica del programa Este tipo de instrucciones son las conocidas como bloques; son las que se ejecutaran durante la simulacin; la lgica depender de cada sistema que se desee simular. Teniendo en cuenta la funcin que realizan, una clasificacin de los bloques o instrucciones de lgica es la siguiente: Simulacin de inicio de proceso y captura de mquina SEIZE ENTER PREEMPT Simulacin de fin de proceso y liberacin de mquina RELEASE LEAVE RETURN Simulacin de entradas de transacciones a un almacn QUEUE ENTER LINK Simulacin de salidas de transacciones a un almacn DEPART ENTER UNLINK Simulacin de entrada de transaccin del sistema Simulacin de salidas de transacciones del sistema Simulacin de diversos tipos de procesos GENERATE SPLIT TERMINATE ADVANCE ASEEMBLE
4
MATCH GATHER Simulacin de control de flujo de transacciones TRANSFER TEST GATE LOGIC SELECT LOOP BUFFER Bloques de operaciones aritmticas SAVEVALUE MSAVEVALUE ASSIGN INDEX PRIORITY Bloques de creacin de estadsticas TABULATE
Las instrucciones de tipo b) y c) se codifican siguiendo un formato general, dentro del cual se pueden distinguir los siguientes elementos:
2 Loc
8 Bloque
19 Operandos
31 Comentarios
donde: Loc Representa el nombre de una etiqueta o una direccin. La etiqueta es un campo opcional y su existencia depende de la lgica del programa. Esta localizado en la columna 2. Su funcin es simular a las etiquetas en Fortran o Basic.
5
Bloque Es la instruccin especfica por ejecutar. Representa la accin que va a llevar a cabo cada una de las transacciones que cursan por all. Se coloca en la columna 8. Operandos Cada bloque representa la accin por ejecutar, sin embargo, es necesario incluir un documento, como puede ser la duracin o el lugar de dicha accin. Los operandos son las caractersticas individuales de cada bloque, y dependern de la lgica del sistema. Se coloca en la columna 19. Comentarios Es el espacio donde el usuario puede colocar cualquier indicacin o identificacin de la instruccin. En algunas versiones del GPSS, como en el GPSS/PC, cada instruccin debe ir precedida de un nmero de instruccin en forma ascendente de acuerdo con la lgica, pero se utiliza solo como referencia para la edicin del programa.