Está en la página 1de 25

LENGUAJES

ORIENTADOS A LA
INTERACCIÓN DE
PROCESOS
• SE RVANDO BALTAZAR LÓ PEZ
• E VA PÉ RE Z MEDRANO
• DANI E L SI LVA CRUZ
• MI SAE L URIBE ÁLVARE Z
Clasificación de lenguajes de simulación
Discretos de propósitos generales en programación de eventos
Examinación de actividades
De interacción al proceso.
Interacción al proceso
Secuencia de tiempos interrelacionados, describiendo la experiencia de una entidad a través del
sistema. Por ejemplo, en un modelo de colas esta "historia" se traduce en el paso del tiempo del
ingreso a la cola, ingreso al servidor, paso del tiempo en el servicio y fin del servicio
Terminología más usual
Entity (Entidad): Objeto de interés del sistema; un componente del sistema.
Attribute (Atributo): Propiedad asociada con una entidad.
Set (Conjunto): Colección de entidades con relaciones de pertenencia similares.
State (Estado): Conjunto de valores de atributos de una entidad en un momento determinado.
Instancia de patrón de comportamiento.
Activity (Actividad): Cualquier proceso que provoque un cambio en el estado del sistema. Las
entidades realizan actividades.
Event (Evento): Ocurrencia de una actividad en un momento particular en el tiempo.
Process (Proceso): Secuencia de eventos junto con sus actividades asociadas. Patrón de
comportamiento de cualquier subconjunto del sistema.
Tecnología de manufactura
Tolerancias pequeñas en tiempo y espacio
Alto nivel de complejidad
Inversión inicial elevada
Mientras la tecnología busca controlar la complejidad, al mismo tiempo contribuye a
incrementar la complejidad incluso más
Procesos de manufactura
Los procesos de manufactura típicamente consisten en un cierto número de centros de trabajo o
celdas.
Con frecuencia, varios centros de trabajo en un sistema de manufactura son funcionalmente
equivalentes
Las piezas de trabajo que se mueven en un sistema de manufactura típicamente tienen un plan
de proceso único (ruta).
En la mayoría de los sistemas de manufactura hay una distribución desbalanceada de la carga de
trabajo entre los centros de trabajo.
Un elemento esencial de la mayoría de los sistemas de manufactura es el componente de
manejo de materiales.
Adecuación de los lenguajes a los
modelos
Se comporta como un programa separado, controlado independientemente.
Tiene un algoritmo de comportamiento bien definido.
Es capaz de generar objetos (entidades), procesándolas o pasándolas a listas u otros procesos.
Se puede activar, poner en espera o terminarla en puntos deseados en el tiempo o basados en
ciertas condiciones.
Una vez activado, un proceso repite su comportamiento hasta que es puesto en espera o es
terminado.
Se pueden obtener muchas copias (instancias) del mismo proceso y pueden iniciarse para
trabajar en paralelo.
SIMNET

SIMnet era una red de área extensa con simuladores de vehículos y muestra para la simulación de
combate en tiempo real distribuidos: helicópteros, tanques y aviones en un campo de batalla virtual.
SIMnet fue desarrollado y utilizado por el ejército de Estados Unidos. SIMnet desarrollo comenzó a
mediados de la década de 1980, se envió a partir de 1987, y fue utilizado para el entrenamiento hasta
que llegó el sucesor de los programas en línea hasta bien entrado el decenio de 1990.

Tiene su principio en la idea general que los modelos de simulación discreta pueden crearse de una u
otra manera como sistemas de líneas de espera. En este contexto, el lenguaje se basa en un
acercamiento de red que utiliza tres nodos autodescriptivos: una fuente, en donde llegan las
transacciones (clientes), una línea de espera, donde la espera tiene lugar en caso de que esta sea
necesaria, y una instalación, en donde se lleva a cabo el servicio. Se agrega un cuarto nodo, llamado
auxiliar, para incrementar las capacidades de modelación de lenguaje.
Los nodos en SIMNET II están conectados por ramas. Conforme las transacciones
recorren las ramas, estas ejecutan importantes funciones entre las que se cuentan:
Controlar el flujo de transacciones en cualquier parte de la red.
Recolectar estadísticas pertinentes.
Efectuar cálculos aritméticos.
Nomenclatura del modelo
NODO FUENTE: Se usa para crear la llegada de transacciones a la red
Nomenclatura del modelo

NODO LINEA DE ESPERA: Las líneas de espera sirven para alojar transacciones. En
SIMNET II el tamaño de una línea de espera puede ser finito o infinito, el número inicial
de clientes en espera al principio de la simulación puede ser 0 o positivo.
Nomenclatura del modelo

NODO INSTALACIÓN: Un nodo instalación es donde se efectúa el servicio. En


SIMNET II una instalación tiene una capacidad finita, representando el número de
servidores en paralelo. Durante la simulación, cada servidor puede estar ocupado o
desocupado.
Nomenclatura del modelo
NODO AUXILIAR: Un nodo auxiliar es uno de capacidad infinita que siempre aceptará
todas las transacciones que le lleguen. El nodo está diseñado para aumentar la capacidad
de modelación del lenguaje. Sobre todo, es adecuado para representar demoras. También,
el nodo auxiliar es el único que puede introducirse a sí mismo, característica que es muy
útil en la simulación de acciones repetitivas (o lazos).
Nomenclatura del modelo
Código de programación
LENGUAJE DE SIMULACIÓN GPSS

GPSS es un seudo-lenguaje de programación basado en la teoría de colas que se puede utilizar para la
simulación de diferentes operaciones en distintos campos.

Bloque : Generate
• La instrucción de bloque que permite generar las transacciones e ingresarlas en el modelo se llama
GENERATE. Su sintaxis es:

• GENERATE A,B,C,D,E,F
– A es la tasa promedio a la cual se crean las transacciones en unidades de tiempo simulado. Su valor por
omisión es cero.
– B es la dispersión en el tiempo de creación promedio de las trans acciones, es decir, el tiempo de inter arrivo
de las transacciones al modelo será de A + - B unidades de tiempo. Su valor por omisión es cero.
– C es un operando donde se coloca el tiempo simulado al que llega la primera transacción al modelo. El valor
por omisión no está determinado.
– D es el número límite de transacciones creadas y su valor por omisión es infinito.
– Es un operando donde se coloca la prioridad asignada a cada transacción creada por el GENERATE. En
GPSS/PC las prioridades posibles son de 0 a 127. La prioridad mayor tiene preferencia sobre las de prioridad
inferior.
Pasos para la Simulación GPSS

• Identificación de los elementos del sistema a estudiar.


• Descripción de la lógica que gobierna el sistema.
• Usar el sistema de diagrama de flujos para producir un modelo GPSS/H.
• Correr el modelo.
• Analizar el modelo para la identificación de errores.
• Aplicar los resultados obtenidos en el análisis del sistema.
• Experimentar con el sistema.
Ejemplos : Generate
• GENERATE 2700,200,1000,100,50
Crea transacciones cada 2700 ± 200 unidades de tiempo, pero la primera transacción se crea al tiempo 1000.
Después de 100 transacciones no se generan más y cada una de las 100 generadas tendrán una prioridad de
50.

• GENERATE 30,FN$XPDIS
Crea transacciones según una distribución exponencial negativa con media 30 unidades de tiempo.

Bloque Terminate

• TERMINATE se emplea para destruir las transacciones que ingresen a ella, se puede emplear para simular que un
elemento sale del sistema y ahorrar memoria. Ayuda a que se cumplan las condiciones
de terminación de un programa ya que puede afectar al contador del START.

Su sintaxis es:
• TERMINATE A
Donde A es un operando donde se coloca el número (entero) con el que se disminuirá el contador de termino de la
simulación, cuyo número inicial se da en la instrucción de control START. Cuando el
contador alcanza un valor menor o igual a cero se ejecuta la siguiente instrucción debajo del START, si es un END, la
simulación termina.
Ejemplos: Terminate

• TERMINATE
Cada transacción que ingresa a este bloque se destruye.
• TERMINATE 5
Cada vez que una transacción ingresa a este bloque se destruye y disminuye en 5 el contador de
finalización de la simulación.

Bloque : Seize
• Sirve para registrar el empleo de una unidad de servicio por parte de una transacción que entra, de tal
forma que la unidad queda ocupada hasta que la transacción ingresa a una instrucción

RELEASE. Una sola transacción podría ocupar varias unidades de servicio simultáneamente.

Su sintaxis es:
• SEIZE A
Donde el operando A se emplea para dar la identificación a la unidad que se ocupa (número o nombre).

• Ejemplo :
SEIZE HORNO
Registra la ocupación de una unidad de servicio llamada HORNO.
Bloque : Release

• Sirve para desocupar la unidad de servicio ocupada previamente por la transacción al haber ingresado a
un bloque Seize. No se reciben negativas para entrar a este bloque.

Su sintaxis es :
• RELEASE A
El operando A indica la identificación de la unidad que se libera.

• Ejemplo :
RELEASE HORNO
Indica que la transacción libera a la unidad de servicio HORNO que ocupó con anterioridad.
Bloque : Advance

• Suspende el movimiento de una transacción por una cantidad especifica de tiempo simulado. Puede
emplearse para simular el tiempo que una persona tarda en ocupar un equipo, en una sala de espera, etc.

Su sintaxis es:
• ADVANCE A,B
Donde el operando A corresponde al tiempo de retardo para la transacción y B es el intervalo de dispersión
alrededor de A.

• Ejemplos :
ADVANCE 12,4
Retarda la transacción 12 ± 4 unidades de tiempo simulado.
ADVANCE 15
Retarda exactamente 15 unidades de tiempo a la transacción.
ADVANCE 5,FN$XPDIS
Retarda a la transacción un tiempo distribuido exponencialmente con media 5 .
Ejemplo 1
A un supermercado llegan los clientes a razon de 4 +/- 1 minutos.
De los cuales una parte de ellos se dirige a la sección de comida tardando 4+/- 1 minuto en llegar
a dicha sección. El 40% de los que compran comida se dirige a la seccion de detergentes, tardando 4 +/- 1 minutos en
llegar a la sección.  El 60% se dirige a la sección de cervezas, tardando 1.5 +/- 0.5 minutos en llegar a la sección.

Los que compran comida tardan entre 2 a 20 minutos en elegir los productos, los que compran detergentes tardan entre
1 a 7 minutos y los que compran cerveza tardan entre 1 a 2 minutos.

Luego se aproximan a caja para realizar el pago (el cajero tarda entre 2 a 6 minutos). Los clientes se retiran del
supermercado tardando de 2 a 4 minutos. Simular por 15 horas.
ENTRDADA DE SINTAXIS EN GPSS
RESULTADO DE SIMULACION EN GPSS

También podría gustarte