Repblica Bolivariana de Venezuela Ministerio del Poder Popular Para la Defensa Universidad Nacional Experimental Politcnica De la Fuerza Armada Nacional Bolivariana Ncleo Falcn
Autor: Ing. Gregory Cadetto Facilitador: MsC. Ing. Jess Rodrguez
2 Simulacin Unidad 4. Lenguajes de Simulacin
Introduccin
El GPSS/TM TM y el GPSS/H TM son aplicaciones nuevas e interactivas dentro del ambiente IBM del GPSS, General Purpose Simulating System (en espaol, Simulacin de Sistemas de propsito General) desarrollado a principios de la dcada de los 60 por Geoffrey Gordon. El objetivo principal del GPSS es la modelacin de sistemas discretos. Cualquier sistema por simular en este lenguaje se debe describir mediante un diagrama de bloques que representan las actividades, unidos mediante lneas que representan la secuencia que seguirn un grupo de transacciones, que a su vez se mueven a travs de los bloques. Las transacciones dependen de la naturaleza del sistema, por ejemplo un sistema de comunicaciones se refiere al movimiento de mensajes; un sistema de transporte se refiere al vehculos motorizados; un sistema de produccin, al movimiento de piezas. La simulacin mediante GPSS se realiza con dos elementos bsicos conocidos como transacciones y bloques. Una transaccin es aquello que fluye a travs del sistema de manufactura, y que puede ser: informacin, piezas, rdenes de produccin, fallas, operarios, mecnicos, etctera, mientras que un bloque se define como cualquier operacin que realiza una transaccin dentro de un sistema; algunas operaciones pueden ser las siguientes: procesamiento, entrada a un almacn, salida de un almacn, inicio de proceso, fin de proceso, salida del sistema, ensamble, desensamble, etctera. En un principio los lenguajes de simulacin se elaboran utilizando algn lenguaje de propsito general como FORTRAN, ALGOL, PL/1, etc. Esto requera un gran trabajo de programacin; con el paso del tiempo se fueron identificando diferentes situaciones, hasta llegar a estandarizarse ciertas instrucciones de programacin en rutinas bien definidas. De este concepto naci el diseo de lenguaje especfico para programas de simulacin con los cuales se ha ido facilitando al usuario la programacin de sus modelos.
3 Simulacin Unidad 4. Lenguajes de Simulacin
4.1. Metodologa: Construccin de modelos de simulacin. Caractersticas generales de los lenguajes de simulacin.
Estructura Del Lenguaje:
Para usar el GPSS se requiere tener conocimientos de los 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:
a) 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.
b) Instrucciones de definicin 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 capacidad de los almacenes, definicin del nmero de operarios o maquinas por estacin, inicializacin de variables, definicin de las operaciones matemticas por utilizar, etctera. A continuacin se muestra una lista de las definiciones ms comunes utilizadas en GPSS:
4 Simulacin Unidad 4. Lenguajes de Simulacin
Definicin de funciones FUNCTION Definicin de nmeros de mquinas STORAGE Definicin de matrices MATRIX Asignacin numrica a variables EQU Inicializacin de variables INITIAL Definicin de histogramas TABLE Definicin de operaciones VARIABLE Y FVARIABLE
c) Instrucciones de Lgica del programa. Este tipo de instrucciones son las conocidas como bloques; son las que se ejecutarn durante la simulacin; la lgica depender de cada sistema qu 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 entrada de transacciones a un almacn QUEUE ENTER LINK Simulacin de salida de transacciones de un almacn DEPART ENTER UNLINK imulacin de entrada transacciones al sistema GENERATE SPLIT Simulacin de la salida de transacciones del sistema TERMINATE Simulacin de diversos tipos de proceso ADVANCE ASSEMBLE MATCH GATHER Simulacin del control de flujo de transacciones TRANSFER TEST GATE LOGIC SELECT LOOP BUFFER
5 Simulacin Unidad 4. Lenguajes de Simulacin Bloques de operaciones aritmticas SAVEVALUE MSAVEVALUE ASSIGN INDEX PRIORITY Lo que 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 8 19 31 Loc Bloques Operandos Comentarios
Donde: Loc: Representa el nombre de una etiqueta o una direccin. La etiqueta es un campoopcional y su existencia depende de la lgica del programa. Est localizado en la columna 2. Su funcin es similar a las etiquetas en Fortran. Bloque: Es la instruccin especfica por ejecutar. Representa la accin que va a llevar a cabo cada una de las transacciones que cruza por all. Se coloca en la columna 8. Operandos: Cada bloque representa la accin por ejecutar, sin embargo, es necesario incluir un complemento, como puede ser la duracin o el lugar de dicha accin. Losoperandos son las caractersticas individuales de cada bloque, y dependern de la lgica del sistema. Se colocan en la columna 19. Comentarios: Es el espacio donde el usuario puede colocar cualquier indicacin o identificacin de la instruccin.
d) Instrucciones de control de la simulacin. Estas instrucciones son las que controlan la ejecucin, edicin y manejo de archivos en GPSS/PC TM . Las principales son: END, START, SIMULATE. As, una vez dados los lineamientos generales, elementos y estructura del GPSS, A continuacin se
6 Simulacin Unidad 4. Lenguajes de Simulacin explican de manera ms detallada los principales bloques del GPSS, incluyendo algunos ejemplos ilustrativos.
Lenguajes Especficos De Simulacin
Ventajas:
1. El tiempo de desarrollo de la programacin es muy corto porque se trata de lenguajes sintticos basados en programacin por bloques o subrutinas, e incluso algunos de ellos estn encaminados al usuario de tal forma que ya no es indispensable programar.
2. Permite realizar anlisis de sensibilidad fcilmente y en un corto tiempo. Tiene alta flexibilidad para hacer cambios.
3. Integra funciones como generacin de nmeros aleatorios, anlisis estadstico y grficas.
4. Tiene una alta fiabilidad que conduce a una validacin de resultados sencilla y rpida.
5. Permite definir y entender el sistema a simular gracias a que se tiene una visibilidad superior de la estructura general del modelo y se aprecian ms fcilmente las interrelaciones.
Desventajas
1. Es necesario invertir en adquisicin del software. 2. Se requiere invertir tiempo y costo en la capacitacin de los programadores del nuevo lenguaje.
7 Simulacin Unidad 4. Lenguajes de Simulacin 3. La computadora de la compaa y el software a adquirir deben ser compatibles.
Caractersticas De Los Lenguajes De Simulacin
En la actualidad los lenguajes que existen en el mercado tienen una serie de caractersticas propias que los distinguen de otros, entre esas caractersticas estn las siguientes:
1. El procedimiento utilizado para generar los nmeros aleatorios uniformes y las variables no uniformes conocidas. 2. La forma de adelantar el reloj de simulacin, que puede hacerse con incrementos de tiempo fijo como DYNAMO o con incrementos al prximo evento como GPSS. 3. Las estadsticas que se obtienen y el formato en que se representan los resultados. 4. El lenguaje en que est escrito, lo cual influye en la forma de detectar y reportar los errores de lgica. 5. Su compatibilidad de comunicacin con determinado tipo de computadoras, con otro lenguaje o simplemente con el usuario
8 Simulacin Unidad 4. Lenguajes de Simulacin
4.2. Anlisis: Anlisis algortmico de las estrategias de simulacin de sistemas discretos.
Eventos discretos Se pueden considerar dos puntos generales de vista acerca de cmo se identifiquen los eventos discretos. En uno de los puntos de vista, al que se refiere como Orientado a la partcula, O Basado en el material , la atencin se centra en las entidades del sistema y se considera a la simulacin como la tarea de seguir los cambios que ocurren conforme a las actividades. En ese caso se considera a los tiempos en que ocurren los cambios al sistema como atributos a las entidades. En el otro punto de vista, que se refiere como Orientado al evento O Basado en la mquina , la atencin se centra en las actividades y la simulacin sigue la historia de las actividades conforme se aplican a distintas entidades. En ese caso se considera a los tiempos en que ocurren los cambios al sistema como caractersticos de las actividades. La ejecucin de una simulacin se mantiene igual sin importar el punto de vista que se tome. Es necesario llevar registros de todas las actividades que desarrollan y de las entidades involucradas, y se deben de cambiar peridicamente para reflejar la secuencia de eventos en el sistema. Para hacerlo es necesario llevar registros de los tiempos de eventos y los clculos deben computar los Tiempos de eventos Futuros conforme se desarrolla la simulacin. Representacin del tiempo El paso del tiempo se registra mediante un nmero al que se conoce como Tiempo del reloj
9 Simulacin Unidad 4. Lenguajes de Simulacin . Generalmente se hace igual a cero al principio de una simulacin y posteriormente indica cuntas unidades de tiempo simulado han transcurrido desde el inicio de la simulacin. A menos que especficamente se expresa de manera contraria, el trmino Tiempo de simulacin Significa el tiempo de reloj indicado y no el tiempo que ha necesitado un computador para realizar la simulacin. Por regla general no hay conexin directa entre el tiempo simulado y el necesario para realizar los cmputos. El factor de control en la determinacin del tiempo de cmputo es el nmero de eventos que ocurren. Dependiendo de la naturaleza del sistema que se simula, y el detalle con que se modela, puede variar considerablemente la relacin del tiempo simulado al tiempo real. Si una simulacin estudiara el funcionamiento detallado de un sistema de computador en que los eventos reales ocurren en intervalos medidos en fracciones de microsegundos, aunque la simulacin se realizara en un computador digital de alta velocidad, fcilmente tomara varios miles de veces ms tiempo que la operacin real del sistema. Existen dos mtodos bsicos de actualizar el tiempo del reloj. Uno consiste en avanzar el reloj a la hora a que debe ocurrir el siguiente evento. El otro mtodo es avanzar el reloj en intervalos pequeos (generalmente uniformes) y determinar en cada intervalo si debe de ocurrir un evento en ese momento. Al primer mtodo se le conoce como Orientado al evento Y del segundo se dice que est Orientado a intervalos . Por lo general la simulacin de sistemas discretos se realiza utilizando el mtodo orientado a los eventos en tanto que la simulacin de sistemas continuos utiliza normalmente el mtodo orientado a los intervalos Sin embargo, se debe de sealar que no se puede expresar una regla definitiva con respecto a la manera en que se representa el tiempo en las simulaciones para sistemas discretos y continuos. Un programa orientado a los intervalos detecta cambios discretos y por tanto puede simular sistemas discretos, en tanto que se puede hacer que un programa orientado a
10 Simulacin Unidad 4. Lenguajes de Simulacin eventos siga cambios continuos introduciendo artificialmente eventos que ocurren a intervalos regulares. Generacin de patrones de llegadas Un aspecto importante de la simulacin de sistemas discretos es la generacin de llegadas exgenas. Es posible que se haya especificado una sucesin exacta de llegadas para la simulacin. Por ejemplo la sucesin puede ser el resultado de ciertas observaciones en el sistema. Ms an, cuando no hay interaccin en las llegadas exgenas y los eventos endgenos del sistema, es permisible crear una sucesin de llegadas como preparacin para la simulacin. Sin embarg, por lo general la simulacin se desarrolla creando nuevas llegadas conforme se necesitan. La llegada exgena de una entidad se define como evento y la hora de llegada de la siguiente entidad se registra como uno de los tiempos del evento. Cuando el tiempo de reloj llega a este tiempo de evento, se ejecuta el evento de entrar la entidad al sistema y de inmediato se calcula el tiempo de llegada de la siguiente entidad a partir de la distribucin de tiempos entre llegadas, con frecuencia se utiliza el trmino boot-strapping (cordn de bota) para describir este proceso que hace que una entidad cree su sucesora. El mtodo requiere slo llevar cuenta de la hora de llegada de la siguiente entidad; en consecuencia, es el mtodo preferido de generar llegadas para los programas de simulacin de computador. La entidad que llega generalmente requiere que se generen ciertos valores de atributos, en cuyo caso debe ponerse atencin a la hora en que se generan los valores. Se pueden generar cuando se calcula el tiempo de llegada o pueden generarse cuando la entidad llega fsicamente. Si no hay interaccin entre los atributos y los eventos que ocurren dentro del sistema, la generacin puede hacerse en cualquier momento. Sin embargo, si los valores de los atributos dependen del sistema, se debe acordar que al tiempo de generar el tiempo de la llegada, la llegada real todava es un evento en el futuro. Entonces es necesario posponer la generacin de los valores de atributo hasta que se ejecute el evento de la llegada. Por ejemplo una simulacin en que se generan llamadas
11 Simulacin Unidad 4. Lenguajes de Simulacin telefnicas. Es necesario generar la longitud de la llamada y su origen. No hay interaccin entre la distribucin de la longitud de la llamada y el estado del sistema, de manera qu se puede generar la longitud de la llamada al tiempo que se decide la hora de llegada o cundo llega la llamada. Sin embargo, una llamada no puede provenir de alguna lnea que ya est ocupada, de manera que la seleccin del origen debe de posponerse hasta que llegue la llamada. Elegir el origen cuando se decide la hora de llegada implica el riesgo de que otra llamada haya ocupado el origen propuesto antes de que llegue la llamada en cuestin.