Gpss

15

Click here to load reader

Transcript of Gpss

Page 1: Gpss

GPSSDe Wikipedia, la enciclopedia libreSaltar a: navegación, búsqueda

General Purpose Simulation System [GPSS] Simulación de Sistemas de Propósito General: Tiene su origen a fines de la década del 50 cuando Geoffrey Gordon estaba trabajando en la Bell Telephone Laboratories. En sus orígenes Gordon era el único programador y, cuando el lenguaje todavía no tenía nombre se lo conocía dentro de IBM como el “Gordon Simulator”. Su primer nombre fue General Purpose Simulator (GPS) (en octubre de 1961). Rápidamente su nombre cambió a General Purpose Systems Simulator (GPSS).1 Es un lenguaje de simulación por eventos, los elementos que se inyectan al modelo (transacciones) mediante el bloque GENERATE son puestos en la cadena de eventos futuros (Future Event Chain) con el instante de su futuro nacimiento, las tareas que estos elementos realizan mediante el bloque ADVANCE generan eventos futuros con el instante de terminación de la tarea.

El GPSS detiene el reloj y simula todo lo que tiene que simular para un determinado instante (eventos corrientes), cuando no tiene más nada por simular mira en la cadena de eventos futuros qué es lo próximo que tiene que hacer y coloca el reloj para ese instante con lo que el (los) evento(s) que eran futuro(s) se transforma(n) en corriente(s). El GPSS ejecuta todos los eventos corrientes hasta que no haya ningún evento y así se repite el proceso hasta que un TERMINATE con operando distinto de cero alcance la cantidad pedida en el START.

Es un lenguaje que persiste en el tiempo dado que su diseño fue extraordinariamente avanzado para la época. El usuario describe las acciones que los elementos que se mueven por el sistema realizan (lo hace mediante los bloques que representan a esas acciones) y el GPSS se encarga de realizar la simulación al momento que recibe el START con la cantidad de transacciones terminadas que el usuario quiere simular.

Existen otros lenguajes de simulación tales como SIMSCRIPT II.5 y Simula.

http://es.wikipedia.org/wiki/GPSS

Referencia pdf

http://pastranamoreno.files.wordpress.com/2011/03/intro-al-gpss1.pdf

Page 2: Gpss

CONCEPTOS DE SIMULACIÓN EN GPSS

INTRODUCCIÓN

El GPSS/PC Y el GPSS/H son las aplicaciones nuevas e iterativas dentro del ambiente IBM del GPSS, General Purpose Simulating System ( en español, Sistema de Simulación de Propósito General ) desarrollo a principios de la década de los 60 por Geoffrey Gordon. El objetivo principal del GPSS es la modulación de sistemas discretos.

Cualquier sistema por simular en este lenguaje se debe describir mediante un diagrama de bloques que representan las actividades, unidos mediante líneas que representan la frecuencia que seguirán un grupo de transacciones, que a su vez se muestran a través de los bloques. Las transacciones dependen de la naturaleza del sistema, por ejemplo, un sistemas de comunicaciones se refiere al movimiento de mensajes; un sistema de transporte se refiere al movimiento de vehiculos motorizados; un sistema de producción al movimiento de piezas.

ELEMENTOS BÁSICOS

Como se menciona en la subseccion anterior la simulación mediante GPSS se realiza con dos elementos básicos conocidos como transacciones y bloques. Una transacción es aquello que fluye a travez del sistema de manufactura, y que puede ser: información, piezas, ordenes de producción, fallas, operarios, mecánicos, etc., mientras que un bloque se define como cualquier operación que realiza una transacción dentro de un sistema: procesamiento, entrada a un almacén, salida de un almacén, inicio de proceso, fin de proceso, salida del sistema, ensamble, desensamble, etc..

CONCEPTOS DE PROGRAMACIÓN

Un programa en GPSS puede ser visualizado desde dos puntos de vista; el primero, dentro del contexto de programación por bloques ya descrito; el segundo, dentro del contexto de cadenas de eventos. Por lo general es mas sencilla la visualización de la simulación 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 envían las transacciones que durante su recorrido a través del modelo o bloques encuentra una condición de bloqueo que les impide seguir un cambio libremente. Existen dos tipos de bloqueo: a) Bloqueo de retraso o b) Bloqueo condicional.

Page 3: Gpss

a) El bloqueo de retraso consiste en la entrada de una transacción a un bloque que retardara su tiempo de avance; en otras palabras la transacción estará en el tiempo t1 y saldrá del bloque ne el tiempo t2, en el intervalo entre estos dos tiempos, la transacción permanece, a los ojos de un programador, por bloques en el bloque retardante, sin embargo, a los ojos de un programador por eventos, la transacción 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 transacción en la cadena de eventos futuros hasta el tiempo que deba de entrar al sistema, y el ADVANCE, que coloca la transacción en la cadena de eventos futuros hasta que haya cumplido con su retraso asignado.

b) El bloque condicional ocurre cuando una transacción intenta entrar a un bloque y encuentra un impedimento físico o una condición no cumplida en el bloque; por ejemplo, una transacción que intenta entrar a un bloque que simula una maquina, y dicha maquina se encuentra trabajando con otra transacción o esta descompuesta. Entonces la transacción queda bloqueada hasta que la maquina se desocupe o quede reparada. Hablamos en programación por bloques, en apariencia la transacción queda suspendida en el espacio esperando su entrada al bloque que se lo impide. Sin embargo, esa transacción es enviada a esperar su destino a la cadena de eventos actuales, hasta que la condición de bloques desaparezca y pueda continuar su camino. En este sentido en GPSS existen muchos bloques que actúan sobre las transacciones; por mencionar algunos, SEIZE, GATE, TEST y ENTER.

ESTRUCTURA DEL LENGUAJE

Para usar el GPSS se requiere tener condiciones de comandos mas 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 continuación:

Instrucciones de acceso al sistema GPSS

Estas instrucciones permiten al usuario el acceso al compilador del GPSS y dependen de cada tipo de versión utilizada: en este punto se recomienda hacer referencia al manual respectivo.

Instrucciones de definido de variables

Son un tipo de instrucciones especiales de carácter opcional; su inclusión depende del sistema a modelar. Estas instrucciones siempre se encuentran relacionadas con las instrucciones de lógica del programa. Dentro de las instrucciones se encuentran las siguientes: definición de las funciones a utilizar, definición de la capacidad de los almacenes, definición del numero de operarios o maquinas por estación, inicialización de variables, definición de las operaciones matemáticas por utilizar, etcétera. A continuación de muestra una lista de las definiciones mas comunes utilizadas en GPSS:

Definición de funciones Definición del número de máquinas Definición de matrices

FUNCTION STORAGE MATRIX

Page 4: Gpss

Asignación numérica a variables Inicialización de variables Definición de histograma Definición de operaciones

EQU INITIAL TABLE VARIABLE y FVARIABLE

Instrucciones de lógica del programa

Este tipo de instrucciones son las conocidas como bloques ; son las que se ejecutaran durante la simulación; la lógica dependerá de cada sistema que se desee simular. Teniendo en cuenta la función que realizan, una clasificación de los bloques o instrucciones de lógica es la siguiente:

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 entradas de transacciones a un almacén QUEUE ENTER LINK Simulación de salidas de transacciones a un almacén DEPART ENTER UNLINK Simulación de entrada de transacción del sistema GENERATE SPLIT Simulación de salidas de transacciones del sistema TERMINATE Simulación de diversos tipos de procesos ADVANCE ASEEMBLE 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

Page 5: Gpss

Las instrucciones de tipo b) y c) se codifican siguiendo un formato general, dentro del cual se pueden distinguir los siguientes elementos:

2 8 19 31

Loc Bloque Operandos Comentarios

donde:

Loc

Representa el nombre de una etiqueta o una dirección. La etiqueta es un campo opcional y su existencia depende de la lógica del programa. Esta localizado en la columna 2. Su función es simular a las etiquetas en Fortran o Basic.

Bloque

Es la instrucción especifica por ejecutar. Representa la acción 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 acción por ejecutar, sin embargo, es necesario incluir un documento, como puede ser la duración o el lugar de dicha acción. Los operandos son las características individuales de cada bloque, y dependerán de la lógica del sistema. Se coloca en la columna 19.

Comentarios

Es el espacio donde el usuario puede colocar cualquier indicación o identificación de la instrucción.

En algunas versiones del GPSS, como en el GPSS/PC, cada instrucción debe ir precedida de un número de instrucción en forma ascendente de acuerdo con la lógica, pero se utiliza solo como referencia para la edición del programa.

Instrucciones de control de la simulación

Estas instrucciones son las que controlan la ejecución, edición, y manejo de archivos en GPSS/PC. Las principales son: END, START, SIMULATE.

Refe

http://antiguo.itson.mx/dii/atorres/CdeSim_.htm

Page 6: Gpss

Lenguaje de Simulacion GPSS

INTRODUCCIÓN

El GPSS/PC Y el GPSS/H son las aplicaciones nuevas e iterativas dentro del

ambiente IBM del GPSS, General Purpose Simulating System ( en español,

Sistema de Simulación de Propósito General ) desarrollo a principios de la

década de los 60 por Geoffrey Gordon. El objetivo principal del GPSS es la

modulación de sistemas discretos.

Cualquier sistema por simular en este lenguaje se debe describir mediante un

diagrama de bloques que representan las actividades, unidos mediante líneas

que representan la frecuencia que seguirán un grupo de transacciones, que a

su vez se muestran a través de los bloques. Las transacciones dependen de la

naturaleza del sistema, por ejemplo, un sistemas de comunicaciones se refiere

al movimiento de mensajes; un sistema de transporte se refiere al movimiento

de vehículos motorizados; un sistema de producción al movimiento de piezas.

ESTRUCTURA DEL LENGUAJE

Instrucciones de acceso al sistema GPSS:

Estas instrucciones permiten al usuario el acceso al compilador del GPSS y

dependen de cada tipo de versión utilizada.

Instrucciones de definido de variables:

Son un tipo de instrucciones especiales de carácter opcional; su inclusión

depende del sistema a modelar. Estas instrucciones siempre se encuentran

relacionadas con las instrucciones de lógica del programa.

Definición de funciones :FUNCTION

Page 7: Gpss

Definición del número de máquinas:STORAGE

Definición de matrices:MATRIX

Asignación numérica a variables:EQU

Inicialización de variables:INITIAL

Definición de histograma:TABLE

Definición de operaciones:VARIABLE Y FVARIABLE

Instrucciones de lógica del programa:

Este tipo de instrucciones son las conocidas como bloques; son las que se

ejecutaran durante la simulación; la lógica dependerá de cada sistema que se

desee simular.

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 entradas de transacciones a un almacén:

QUEUE

ENTER

LINK

Page 8: Gpss

Simulación de salidas de transacciones a un almacén:

DEPART

ENTER

UNLINK

Simulación de entrada de transacción del sistema:

GENERATE

SPLIT

Simulación de salidas de transacciones del sistema :

TERMINATE

Simulación de diversos tipos de procesos :

ADVANCE

ASEEMBLE

MATCH

GATHER

Simulación de control de flujo de transacciones:

TRANSFER

TEST

GATE

LOGIC

SELECT

LOOP

BUFFE

Bloques de operaciones aritméticas :

SAVEVALUE

MSAVEVALUE

ASSIGN

INDEX

Page 9: Gpss

PRIORITY

Bloques de creación de estadísticas:

TABULATE

Bloques de creación de estadísticas TABULATE

Instrucciones de control de la simulación:

Estas instrucciones son las que controlan la ejecución, edición, y manejo de

archivos en GPSS/PC. Las principales son: END, START, SIMULATE.

EJEMPLO 1

Elabore un programa de simulación que represente el

Siguiente sistema: La operación de un teléfono que sirve

Para que los empleados hagan sus llamadas. El tiempo

Por llamada es de 3 a 7 min con probabilidad uniforme;

Los empleados llegan al teléfono cada 10 ± 5 min. Simule

50 llamadas efectuadas. (Por ejemplo para saber si un

Teléfono es suficiente o es necesario otro).

EJEMPLO 2

Se desea saber cuántos puntos de cobro (casetas)

De peaje se deben abrir en uno de los sentidos de

Page 10: Gpss

Una autopista, para tenerlos disponibles en caso

De que la demanda aumente al doble de autos por

Unidad de tiempo (en promedio), puesto que se

Desea que el número de autos en espera de

Servicio no sea superior a 20, por el riesgo de

Accidente que hay en la zona. Si el tiempo inter

Arribo de los autos en cada carril es 20 ± 10 sg y el

Tiempo de cobro por auto es de 10 ± 5 sg, simule

Ocho horas de operación para tomar una decisión.

referencia

http://simulacionporcomputadorpalacios.blogspot.mx/2010/04/lenguaje-de-simulacion-gpss.html

Page 11: Gpss

LENGUAJE DE SIMULACION GPSSINTRODUCCIÓN

El GPSS/PC Y el GPSS/H son las aplicaciones nuevas e iterativas dentro del ambiente IBM del GPSS, General PurposeSimulatingSystem ( en español, Sistema de Simulación de Propósito General ) desarrollo a principios de la década de los 60 por Geoffrey Gordon. El objetivo principal del GPSS es la modulación de sistemas discretos.

Cualquier sistema por simular en este lenguaje se debe describir mediante un diagrama de bloques que representan las actividades, unidos mediante líneas que representan la frecuencia que seguirán un grupo de transacciones, que a su vez se muestran a través de los bloques. Las transacciones dependen de la naturaleza del sistema, por ejemplo, un sistemas de comunicaciones se refiere al movimiento de mensajes; un sistema de transporte se refiere al movimiento de vehículos motorizados; un sistema de producción al movimiento de piezas.

ELEMENTOS BÁSICOS

Como se menciona en la subseccion anterior la simulación mediante GPSS se realiza con dos elementos básicos conocidos como transacciones y bloques. Una transacción es aquello que fluye atraves del sistema de manufactura, y que puede ser: información, piezas, ordenes de producción, fallas, operarios, mecánicos, etc., mientras que un bloque se define como cualquier operación que realiza una transacción dentro de un sistema: procesamiento, entrada a un almacén, salida de un almacén, inicio de proceso, fin de proceso, salida del sistema, ensamble, desensamble, etc...

CONCEPTOS DE PROGRAMACIÓN

Un programa en GPSS puede ser visualizado desde dos puntos de vista; el primero,

dentro del contexto de programación por bloques ya descrito; el segundo, dentro del

contexto de cadenas de eventos.

ESTRUCTURA DEL LENGUAJE

Para usar el GPSS se requiere tener condiciones de comandos mas 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 continuación:

Instrucciones de acceso al sistema GPSS

Page 12: Gpss

Estas instrucciones permiten al usuario el acceso al compilador del GPSS y dependen de cada tipo de versión utilizada: en este punto se recomienda hacer referencia al manual respectivo.

Instrucciones de definido de variables

Son un tipo de instrucciones especiales de carácter opcional; su inclusión depende del sistema a modelar. Estas instrucciones siempre se encuentran relacionadas con las instrucciones de lógica del programa. Dentro de las instrucciones se encuentran las siguientes: definición de las funciones a utilizar, definición de la capacidad de los almacenes, definición del numero de operarios o maquinas por estación, inicialización de variables, definición de las operaciones matemáticas por utilizar, etcétera.

VENTAJAS DEL GPSS

PUEDE SER CONTINUAMENTE MEJORADO

SE ENCUENTRA COMPLETAMENTE DISPONIBLE

ESTA ESCRITO EN UN LENGUAJE DE PROGRAMACION Y POR LO TANTO ES MUY VELOZ

PUEDE RESOLVER UNA VARIEDAD DE PROBLEMAS EN UNA FORMA RAPIDA Y PRECISA

DICHOS PROBLEMAS PUEDEN SER DE DIFERENTE NATURALEZA TALES COMO LOS DE INGENIERIA,INDUSTRIA MANUFACTURERA,CIENCIA Y LOS NEGOCIOS.

DESVENTAJAS

GENERALMENTE SE ACERCAN A LA SOLUCIONES OPTIMAS

AUNQUE ESTAN NUNCAN SE CONOSCAN CON GRAN CERTEZA

HAY DIFICULTAD DE VENDER LA IDEA POR FALTA DE DIFUSION

http://lenguajesgpss.blogspot.mx/2010/04/lenguaje-de-simulacion-gpss.html