ClubEnsayos.com - Ensayos de Calidad, Tareas y Monografias
Buscar

GPSS: GENERAL PURPOSE SIMULATION SYSTEM (SIMULACION DE SISTEMAS DE PROPOSITO GENERAL)


Enviado por   •  24 de Octubre de 2015  •  Ensayos  •  5.909 Palabras (24 Páginas)  •  325 Visitas

Página 1 de 24

GPSS: GENERAL PURPOSE SIMULATION SYSTEM (SIMULACION DE SISTEMAS DE PROPOSITO GENERAL)

El GPSS es uno de los primeros lenguajes de simulación que se desarrolló, así que se ha probado durante muho tiempo. (Gordon lo implementó en 1962). 
Sin embargo tiene la desventaja de que no incluye una animación incorporada, aunque sus resultados se pueden animar por otros paquetes tales como el Proff Annimation. 

Antecedentes 


El GPSS (General Purpose Simulation System) lo implemento Gordon en 1962 y fué J. O. Henrikesen quien hizo la primera liberación para la Wolverine Sofware en 1977, desde entonces se ha mantenido como un lenguaje capáz de simular adecuadamente una gran cantidad de entornos de interés práctico y teórico. 
Existen diferentes versiones de GPSS, cada una con sus variantes particulares, pero la filosofía operativa es semejante en todas las versiones. En el ITESM-CEM se dispone de dos: el GPSS/H para plataforma DOS y compatibles, y el GPSS/C para Plataforma UNIX. En este curso se presentan las instrucciones de manera que sean aceptadas por ambos compiladores de GPSS (en lo posible) ,marcando siempre que lo amerite, las diferencias entre una y otra versión. Sien embargo es conveniente recordar que las versiones de los lenguajes y programas cambian continuamente por lo que, si dispone de una versión de GPSS en donde no corran las instrucciones tal y como aparecen en este curso, consulte su manual de referencia donde, seguramente, encontrará la sintaxis apropiada para su versión. 


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. 

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. 

GENERATE.

Es el bloque que sirve para dar entrada, a las transacciones, al sistema. Las transacciones se crean en uno o mas 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

Media

Modificador

Desplzamiento

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.
E. Nivel de prioridad.
F. Otro valor a usar en la simulación.

Para la distribución uniforme, el operando A representa el tiempo medio entre llegadas. El operador B representa la mitad del ancho entre llegadas. El valor del operador B deberá ser menor que el valor de A en todos los casos.

El operador C se utiliza cuando se necesita fijar el tiempo de generación de la primera transacción. Las siguientes transacciones se generarán de acuerdo con los operandos A y B.

El operando D pone límite al total de transacciones que pueden entrar al modelo a través del bloque GENERATE. Al generar las n transacciones el bloque se vuelve inactivo.

El bloque E permite dar prioridad a las transacciones generadas, entre mayor sea su valor mayor será la prioridad.

En cualquier modelo se requiere por lo menos un bloque GENERATE y el tiempo mínimo para la creación de las transacciones es de 1, a excepción de usar el operador D sin utilizar A y B. Cada que se genera una transacción, automáticamente lleva consigo dos parámetros que pueden ser consultados en cualquier instante, estos son, el número de transacción y el tiempo en que fue creado.

Ejemplos:

...

Descargar como (para miembros actualizados)  txt (40.7 Kb)   pdf (136.3 Kb)   docx (35.4 Kb)  
Leer 23 páginas más »
Disponible sólo en Clubensayos.com