Está en la página 1de 10

Simulación Unidad 4.

Lenguajes de Simulación

República Bolivariana de Venezuela


Ministerio del Poder Popular Para la Defensa
Universidad Nacional Experimental Politécnica
De la Fuerza Armada Nacional Bolivariana
Núcleo Falcón

Autor: Ing. Gregory Cadetto

1
Simulación Unidad 4. Lenguajes de Simulación

Introducción

El GPSS/TMTM y el GPSS/HTM son aplicaciones nuevas e interactivas dentro del


ambiente IBM del GPSS, General Purpose Simulating System (en español,
Simulación de Sistemas de propósito General) desarrollado a principios de la década
de los 60 por Geoffrey Gordon. El objetivo principal del GPSS es la modelació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 secuencia que seguirán un grupo de transacciones, que a
su vez se mueven a través 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 vehículos
motorizados; un sistema de producción, al movimiento de piezas. 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 través del sistema de manufactura, y
que puede ser: información, piezas, órdenes de producción, fallas, operarios,
mecánicos, etcétera, mientras que un bloque se define como cualquier operación que
realiza una transacción dentro de un sistema; algunas operaciones pueden ser las
siguientes: procesamiento, entrada a un almacén, salida de un almacén, inicio de
proceso, fin de proceso, salida del sistema, ensamble, desensamble, etcétera. En un
principio los lenguajes de simulación se elaboran utilizando algún lenguaje de
propósito general como FORTRAN, ALGOL, PL/1, etc. Esto requería un gran
trabajo de programación; con el paso del tiempo se fueron identificando diferentes
situaciones, hasta llegar a estandarizarse ciertas instrucciones de programación en
rutinas bien definidas. De este concepto nació el diseño de lenguaje específico para
programas de simulación con los cuales se ha ido facilitando al usuario la
programación de sus modelos.

2
Simulación Unidad 4. Lenguajes de Simulación

4.1. Metodología: Construcción de modelos de simulación. Características


generales de los lenguajes de simulación.

Estructura Del Lenguaje:

Para usar el GPSS se requiere tener conocimientos de los comandos más 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:

a) 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.

b) Instrucciones de definición 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 capacidad de los
almacenes, definición del número 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 se muestra una lista de las definiciones más comunes
utilizadas en GPSS:

3
Simulación Unidad 4. Lenguajes de Simulación

Definición de funciones FUNCTION


Definición de números de máquinas STORAGE
Definición de matrices MATRIX
Asignación numérica a variables EQU
Inicialización de variables INITIAL
Definición de histogramas TABLE
Definición de operaciones VARIABLE Y FVARIABLE

c) Instrucciones de Lógica del programa.


Este tipo de instrucciones son las conocidas como bloques; son las que se ejecutarán
durante la simulación; la lógica dependerá de cada sistema qué 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:
SEIZE
Simulación de inicio de proceso y captura de máquina ENTER
PREEMPT
RELEASE
Simulación de fin de proceso y liberación de máquina
LEAVE
RETURN
QUEUE
Simulación de entrada de transacciones a un almacén ENTER
LINK
DEPART
Simulación de salida de transacciones de un almacén ENTER
UNLINK
GENERATE
imulación de entrada transacciones al sistema
SPLIT
Simulación de la salida de transacciones del sistema TERMINATE
ADVANCE
ASSEMBLE
Simulación de diversos tipos de proceso
MATCH
GATHER
TRANSFER
TEST
GATE
Simulación del control de flujo de transacciones LOGIC
SELECT
LOOP
BUFFER
SAVEVALUE
MSAVEVALUE
Bloques de operaciones aritméticas ASSIGN
INDEX
PRIORITY
Lo que de creación de estadísticas TABULATE

4
Simulación Unidad 4. Lenguajes de Simulación

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 dirección. La etiqueta es un
campoopcional y su existencia depende de la lógica del programa. Está
localizado en la “columna 2”. Su función es similar a las etiquetas en
Fortran.
 Bloque: Es la instrucción específica por ejecutar. Representa la acción 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 acción por ejecutar, sin embargo, es
necesario incluir un complemento, como puede ser la duración o el lugar de
dicha acción. Losoperandos son las características individuales de cada
bloque, y dependerán de la lógica del sistema. Se colocan en la “columna
19”.
 Comentarios: Es el espacio donde el usuario puede colocar cualquier
indicación o identificación de la instrucción.

d) Instrucciones de control de la simulación.


Estas instrucciones son las que controlan la ejecución, edición y manejo de archivos
en GPSS/PCTM. Las principales son: END, START, SIMULATE. Así, una vez dados
los lineamientos generales, elementos y estructura del GPSS, A continuación se
explican de manera más detallada los principales bloques del GPSS, incluyendo
algunos ejemplos ilustrativos.

5
Simulación Unidad 4. Lenguajes de Simulación

Lenguajes Específicos De Simulación

Ventajas:

1. El tiempo de desarrollo de la programación es muy corto porque se trata de


lenguajes sintéticos basados en programación por bloques o subrutinas, e
incluso algunos de ellos están encaminados al usuario de tal forma que ya no
es indispensable programar.

2. Permite realizar análisis de sensibilidad fácilmente y en un corto tiempo.


Tiene alta flexibilidad para hacer cambios.

3. Integra funciones como generación de números aleatorios, análisis


estadístico y gráficas.

4. Tiene una alta fiabilidad que conduce a una validación de resultados sencilla
y rápida.

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 más
fácilmente las interrelaciones.

Desventajas

1. Es necesario invertir en adquisición del software.


2. Se requiere invertir tiempo y costo en la capacitación de los programadores
del nuevo lenguaje.
3. La computadora de la compañía y el software a adquirir deben ser
compatibles.

6
Simulación Unidad 4. Lenguajes de Simulación

Características De Los Lenguajes De Simulación

En la actualidad los lenguajes que existen en el mercado tienen una serie de


características propias que los distinguen de otros, entre esas características están
las siguientes:

1. El procedimiento utilizado para generar los números aleatorios uniformes y


las variables no uniformes conocidas.
2. La forma de adelantar el reloj de simulación, que puede hacerse con
incrementos de tiempo fijo como DYNAMO o con incrementos al próximo
evento como GPSS.
3. Las estadísticas 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 lógica.
5. Su compatibilidad de comunicación con determinado tipo de computadoras,
con otro lenguaje o simplemente con el usuario

4.2. Análisis: Análisis algorítmico de las estrategias de simulación de sistemas


discretos.

Eventos discretos
Se pueden considerar dos puntos generales de vista acerca de cómo se identifiquen
los eventos discretos. En uno de los puntos de vista, al que se refiere como
Orientado a la partícula, O Basado en el material, la atención se centra en las
entidades del sistema y se considera a la simulación 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
máquina, la atención se centra en las actividades y la simulación sigue la historia de

7
Simulación Unidad 4. Lenguajes de Simulación

las actividades conforme se aplican a distintas entidades. En ese caso se considera a


los tiempos en que ocurren los cambios al sistema como característicos de las
actividades. La ejecución de una simulación 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 periódicamente
para reflejar la secuencia de eventos en el sistema. Para hacerlo es necesario llevar
registros de los tiempos de eventos y los cálculos deben computar los
Tiempos de eventos
Futuros conforme se desarrolla la simulación.
Representación del tiempo
El paso del tiempo se registra mediante un número al que se conoce como
Tiempo del reloj
. Generalmente se hace igual a cero al principio de una simulación y posteriormente
indica cuántas unidades de tiempo simulado han transcurrido desde el inicio de la
simulación. A menos que específicamente se expresa de manera contraria, el término
Tiempo de simulación
Significa el tiempo de reloj indicado y no el tiempo que ha necesitado un computador
para realizar la simulación. Por regla general no hay conexión directa entre el
tiempo simulado y el necesario para realizar los cómputos. El factor de control en la
determinación del tiempo de cómputo es el número de eventos que ocurren.
Dependiendo de la naturaleza del sistema que se simula, y el detalle con que se
modela, puede variar considerablemente la relación del tiempo simulado al tiempo
real. Si una simulación estudiara el funcionamiento detallado de un sistema de
computador en que los eventos reales ocurren en intervalos medidos en fracciones de
microsegundos, aunque la simulación se realizara en un computador digital de alta
velocidad, fácilmente tomaría varios miles de veces más tiempo que la operación real
del sistema. Existen dos métodos básicos de actualizar el tiempo del reloj. Uno
consiste en avanzar el reloj a la hora a que debe ocurrir el siguiente evento. El otro
método es avanzar el reloj en intervalos pequeños (generalmente uniformes) y
determinar en cada intervalo si debe de ocurrir un evento en ese momento. Al primer

8
Simulación Unidad 4. Lenguajes de Simulación

método se le conoce como Orientado al evento Y del segundo se dice que está
Orientado a intervalos.
. Por lo general la simulación de sistemas discretos se realiza utilizando el método
orientado a los eventos en tanto que la simulación de sistemas continuos utiliza
normalmente el método orientado a los intervalos Sin embargo, se debe de señalar
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
eventos siga cambios continuos introduciendo artificialmente eventos que ocurren a
intervalos regulares.
Generación de patrones de llegadas
Un aspecto importante de la simulación de sistemas discretos es la generación de
llegadas exógenas. Es posible que se haya especificado una sucesión exacta de
llegadas para la simulación. Por ejemplo la sucesión puede ser el resultado de
ciertas observaciones en el sistema. Más aún, cuando no hay interacción en las
llegadas exógenas y los eventos endógenos del sistema, es permisible crear una
sucesión de llegadas como preparación para la simulación. Sin embargó, por lo
general la simulación se desarrolla creando nuevas llegadas conforme se necesitan.
La llegada exógena 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 distribución de tiempos entre llegadas, con frecuencia se utiliza el
término boot-strapping (cordón de bota) para describir este proceso que hace que
una entidad cree su sucesora. El método requiere sólo llevar cuenta de la hora de
llegada de la siguiente entidad; en consecuencia, es el método preferido de generar
llegadas para los programas de simulación de computador. La entidad que llega
generalmente requiere que se generen ciertos valores de atributos, en cuyo caso debe
ponerse atención a la hora en que se generan los valores. Se pueden generar cuando

9
Simulación Unidad 4. Lenguajes de Simulación

se calcula el tiempo de llegada o pueden generarse cuando la entidad llega


físicamente. Si no hay interacción entre los atributos y los eventos que ocurren
dentro del sistema, la generación 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 todavía es un evento en el futuro.
Entonces es necesario posponer la generación de los valores de atributo hasta que se
ejecute el evento de la llegada. Por ejemplo una simulación en que se generan
llamadas telefónicas. Es necesario generar la longitud de la llamada y su origen. No
hay interacción entre la distribución 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 cuándo llega la llamada. Sin embargo, una llamada no
puede provenir de alguna línea que ya esté ocupada, de manera que la selección 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 cuestión.

4.3. Diseño de modelos: Diseño de modelos de simulación de sistemas discretos:


modelos de fenómenos de espera (colas), inventario, etc.

???

10

También podría gustarte