Especificación formal de
modelos
Material extraído del ramo cc20a
(N. Baloian, L. Guerrero, J. Pino)
Especificación formal de modelos
• La especificación formal debe dar
instrucciones claras para la ejecución del
modelo (simulación)
• Un concepto fundamental el de “estado del
modelo”
• Un estado de un modelo es descrito por el
valor que tienen en cierto momento las
variables de estado
Variables de Estado
• Los componentes de un modelo son descritos por un
conjunto de variables descriptivas.
• Las reglas que especifican la interacción entre
componentes, determinan la manera en la cual estas
variables descriptivas cambian con el tiempo.
• Para que una computadora sea capaz de simular el modelo,
debe "conocer" estas reglas de interacción.
• En muchos modelos es posible designar un pequeño
subconjunto de todas las variables descriptivas de tal forma
que es suficiente conocer el valor actual de este
subconjunto de variables para calcular los valores futuros
de todas las variables descriptivas.
• A este subconjunto de variables las llamaremos "variables
de estado".
Descripción formal de Variables de Estado
• Considere un modelo con las variables descriptivas a1,
a2, a3, ..., an.
• Decimos que los valores de estas variables son y1, y2,
y3, ..., yn en un instante de tiempo t, si a1 toma el
valor y1, a2 toma el valor y2, ..., an toma el valor yn en
el instante t.
• Se considera un modelo "bien definido" si las reglas de
interacción entre componentes determinan, para cada
instante futuro t' (t' > t), un único conjunto de valores
y'1, y'2, y'3, ..., y'n dados los valores y1, y2, y3, ..., yn
en el instante t.
• De este modo, dados los valores y1, y2, ..., yn en un
tiempo t, el computador puede calcular los valores y'1,
y'2, ..., y'n para cualquier tiempo t' (con t' > t).
Ejemplo 6 - Sistema de trenes
• 2 trenes, el "rápido" y el "expreso" quieren llegar a un punto común para
traspasar una carga. Cada tren corre sobre sus propios rieles, paralelos a los
del otro. Los trenes disponen de un sistema simple de comunicación que
permite detectar si el otro tren está hacia adelante o hacia atrás. El
ferrocarril corre entre -L y L, y hay hitos en los cuales se activa el sistema de
comunicación (hay un total de 2L + 1 hitos).
Simplificado (modelado)
Descripción
• Componentes
– TREN·RAPIDO, TREN·EXPRESO, HITOS.
• Variables descriptivas
– TREN·RAPIDO: RAPIDO - con rango HITOS; describe la ubicación
del TREN·RAPIDO.
– TREN·EXPRESO: EXPRESO - con rango HITOS; describe la ubicación
de TREN·EXPRESO.
• Para cada P en HITOS
– R·SEÑAL·EN·P - con rango {-1,1} (en qué dirección se encuentra R)
– E·SEÑAL·EN·P - con rango {-1,1} (en qué dirección se encuentra P)
Interacción entre componentes
• La base temporal es discreta: t, t+1, t+2, ...
(a) El valor de R·SEÑAL·EN·P en el instante t es D((RAPIDO
en t) - P) donde D(x) es 1 si x >= 0 y -1 si x < 0.
(b) El valor de E·SEÑAL·EN·P en el instante t es
D((EXPRESO en t) - P).
(c) RAPIDO en t+h = [RAPIDO en t] +
[E·SEÑAL·EN·(RAPIDO en t) en t].
(d) EXPRESO en t+h = [EXPRESO en t] +
[R·SEÑAL·EN·(EXPRESO en t) en t].
Descripción del Estado
El estado del modelo lo podemos representar por el par (r,e), como se muestra en
la siguiente figura:
Funciones de Transición
• Las funciones de transición pueden ser
escritas íntegramente en función de las
variables de estado
• Muchas veces se usan funciones y/o variables
auxiliares para facilitar su descripción
• Función de transición:
– r(t+1) = r(t) + D(e(t) – r(t)),
– e(t+1) = e(t) + D(r(t) – e(t))
• Está íntegramente en función de r y e
Ejemplo 7 - Un montacargas
simplificado
• Se trata de un montacargas
que puede viajar entre dos
pisos. Tiene una puerta.
• En los pisos hay un botón
para llamar al montacargas,
y un timbre que suena
cuando llega y abre su
puerta.
• No hay botón interior, por lo
que oralmente se debe
pedir a alguien en el otro
piso que presione el botón
para hacer moverse el
montacargas
• Se está modelando para ver
cuán complejo es agregarle
otros componentes.
Descripción (1)
COMPONENTES:
MONTACARGAS, PISO-1, PISO-2
VARIABLES DESCRIPTIVAS:
MONTACARGAS
PUERTA - con rango {ABIERTA, CERRADA}
LUGAR - con rango {UNO,DOS,SUBIENDO,BAJANDO}; LUGAR = x indica si el
montacargas está en ese instante en un piso, subiendo o bajando.
RETARDO - con rango {0,1,2,3}; RETARDO = y significa que hace y unidades
de tiempo se le pidió algo específico al montacargas.
Para PISO-i (i = 1,2)
BOTON-i con rango {APRETADO, NO-APRETADO}; BOTON-i = z indica si el
botón en el piso i ha sido apretado o no en ese instante.
TIMBRE-i, con rango {SONIDO,SILENCIO}
INTERACCION ENTRE COMPONENTES
1.
2.
3.
4.
5.
6.
El MONTACARGAS permanece indefinidamente en el piso al que llegó con
su puerta ABIERTA, a menos que alguien presione un BOTON.
Si se presiona un BOTON y éste es del mismo PISO en el que está el
MONTACARGAS, éste permanece en ese piso con la puerta ABIERTA durante
las próximas 3 unidades de tiempo.
Si se presiona un BOTON y el MONTACARGAS no está con la puerta ABIERTA
(está SUBIENDO o BAJANDO) no pasa nada.
Si se presionan ambos botones al mismo tiempo, tiene prioridad el botón
del mismo piso en el que está el MONTACARGAS.
Si se presiona un BOTON y el MONTACARGAS está en el otro piso y con la
puerta ABIERTA, en la próxima unidad de tiempo ésta se cierra, y en la
siguiente unidad de tiempo viaja (sube o baja con la puerta CERRADA),
demorando 2 unidades de tiempo adicional. Después abre la puerta.
Al llegar a un piso, se hace sonar el TIMBRE del piso correspondiente
durante una unidad de tiempo.
ESPECIFICACION DE LA MAQUINA
SECUENCIAL (AUTOMATA)
(ENTRADAS, ESTADOS, SALIDAS, d, l)
(a) ENTRADAS
Las variables de entrada son BOTON·1 y BOTON·2. Una entrada es
entonces (b1, b2), con b1, b2  {APRETADO, NO·APRETADO}.
Resumiremos APRETADO como A y NO·APRETADO como N.
Por ejemplo, si en el instante t el BOTON·1 está apretado y el BOTON·2
no lo está, el valor de las variables de entrada es (A,N). De este modo:
ENTRADAS = {(A,A), (A,N), (N,A), (N,N)}
Para especificar la función d, algunas veces queremos decir que da lo
mismo el valor de un cierto botón. En este caso usamos i (indiferente).
Estados
Las variables de estado son PUERTA, LUGAR, RETARDO.
Entonces, un estado será un trío (p,l,r), donde
p {ABIERTA, CERRADA}
l  {UNO, DOS, SUBIENDO, BAJANDO}
r  {0, 1, 2, 3}
Por tanto,
ESTADOS  {ABIERTA, CERRADA} x {UNO, DOS, SUBIENDO, BAJANDO} x {0, 1, 2, 3}
En realidad es un subconjunto propio porque hay estados
imposibles, tales como (ABIERTA, SUBIENDO, i), ya que el
montacargas sólo sube con la puerta cerrada.
SALIDAS
Arbitrariamente elegimos algunas variables de salida.
Digamos que son PUERTA, LUGAR, TIMBRE·1, TIMBRE·2.
Por tanto,
SALIDAS  {ABIERTA, CERRADA} x {UNO, DOS, SUBIENDO,
BAJANDO} x {SONIDO, SILENCIO} x {SONIDO, SILENCIO}
d (función de transición incompleta)
Consideremos primero un estado inicial factible y construyamos las
transiciones a partir de este. Un estado inicial factible es, por ejemplo,
(ABIERTA, UNO, 0). Hagamos un diagrama en que los nodos son los estados, y
los arcos son las entradas:
Tabla de Transiciones
Con este diagrama es fácil construir una tabla para d:
d: ESTADOS x ENTRADAS  ESTADOS
estado
PUERTA, LUGAR, RETARDO
ABIERTA, UNO, 0
ABIERTA, UNO, 0
ABIERTA, UNO, 0
ABIERTA, UNO, 1
ABIERTA, UNO, 1
ABIERTA, UNO, 2
ABIERTA, UNO, 2
ABIERTA, UNO, 3
ABIERTA, UNO, 3
CERRADA, UNO, 1
CERRADA, SUBIENDO, 2
CERRADA, SUBIENDO,. 3. .
entrada
BOTON-1,BOTON-2
N, N
A, i
N, A
A, i
N, i
A, i
N, i
A, i
N, i
i, i
i, i
i, .i . .
estado
PUERTA, LUGAR, RETARDO
ABIERTA, UNO, 0
ABIERTA, UNO, 1
CERRADA, UNO, 1
ABIERTA, UNO, 1
ABIERTA, UNO, 2
ABIERTA, UNO, 1
ABIERTA, UNO, 3
ABIERTA, UNO, 1
ABIERTA, UNO, 0
CERRADA, SUBIENDO, 2
CERRADA, SUBIENDO, 3
. . . ABIERTA, DOS, 0
l(función de salida)
(p, l, r, SILENCIO, SONIDO) si p = CERRADA,
l = SUBIENDO y r = 3
l (p, l, r, b1, b2) =
(p, l, r, SONIDO, SILENCIO) si p = CERRADA,
l = BAJANDO y r = 3
(p, l, r, SILENCIO, SILENCIO) en otros casos
Modelos de eventos discretos
Modelos de
eventos discretos
Modelos de
tiempo continuo
Modelos de
ecuaciones diferenciales
Aunque en el sistema real el
tiempo transcurre de forma
continua, los cambios de
estado ocurren a saltos
(gatillados por eventos
arbitrarios).
Modelos de tiempo
continuo y estado continuo.
Los cambios de estado son
continuos. Ej. 3. (ciudad,
poblacion)
Simulación de eventos discretos
Supongamos que nos dan los valores de las variables de entrada del ejemplo 7
(montacargas) en una tabla:
t
B O T O N -1
B O T O N -2
0
N
N
1
N
N
2
N
N
3
N
N
...
...
...
200
A
N
201
N
N
202
N
N
203
N
N
...
...
...
300
N
A
...
...
...
355
A
A
Con esto es posible hacer la simulación del montacargas, pero el programa será
poco eficiente.
Hay formas eficientes de almacenar una matriz poco densa. También hay formas
más eficientes de simular, que calcular para cada incremento de t, el nuevo estado
y el valor de las variables de salida.
Eficiencia en los modelos de
eventos discretos
Si hacemos un diagrama con el valor de las variables:
No tiene sentido hacer el cálculo de la transición de estados durante 200
iteraciones, cuando nada significativo ha ocurrido.
Sin embargo, en el instante t = 200 hay algo interesante: un evento. Podríamos,
en el instante t = 0, decidir avanzar directamente al instante t = 200, ya que
nada ha cambiado en el modelo. Esto nos ahorraría tiempo de computador. En
la mayor parte de los sistemas que en la práctica se simulan, ocurre algo
parecido. Esto se denomina simulación de eventos discretos.
Consideraciones para la eficiencia
• Observen que se tiene una tabla de entradas, que en el caso
del montacargas es el punto de partida de los eventos.
• Para poder realizar simulación de eventos discretos, es
necesario que los eventos sean predecibles (el instante en que
ellos van a ocurrir puede ser conocido de alguna manera).
• En sistemas reales, el instante de ocurrencia de un evento no
se conoce por una tabla.
• Una segunda condición para realizar simulación de eventos
discretos es que todo cambio de estado es una consecuencia
de un evento pre-programado.
• El modelo entonces avanza a saltos. Nada significativo
ocurre entre los saltos.
Especificación de instantes
de ocurrencia de eventos
• Cómo se especifican los instantes de ocurrencia?
• La forma usual es mediante una variable aleatoria.
• Una variable aleatoria Y tiene asociada una función de
distribución acumulada, y al muestrearse entrega un valor de
su rango.
Y : S  R (en los números reales), donde S es el espacio
muestral
Variables Aleatorias
En un programa de computador, muestrear una variable aleatoria consiste en
llamar una rutina que entrega como resultado un valor del rango de la variable
aleatoria.
En el ejemplo del montacargas, podríamos tener una variable aleatoria APR·1,
tal que si la muestreamos nos da el número de instantes, a partir del actual, en
que el BOTON·1 va a tener valor “A”. Similarmente con APR·2.
Notación:
R+ : números reales positivos
R+0 : números reales positivos y cero
R+0, : números reales positivos, cero e infinito ( + r =  para todo r en
R)
Si A es un conjunto, denotamos como A* al conjunto de todas las secuencias
finitas de A. Una secuencia típica de A* es a1, a2, ..., an, donde cada ai  A. Esta
secuencia se dice que tiene largo n. Cuando n = 0, tenemos la secuencia vacía.
Ejemplo 8: Un supermercado simplificado
Los clientes que entran a un supermercado tienen nombres sacados del conjunto {a, b, ...,
z}. Un cliente que entra, pasa al AREA·COMPRAS, donde selecciona sus adquisiciones.
Cuando termina se va a la caja, donde espera en COLA. Después de pagar al cajero, el
cliente se va por la SALIDA.
Observemos que una cola en la caja puede representarse como x1, x2, ..., xn, con xi  {a,
b, c, ..., z}. Es decir, una cola específica es un elemento de {a, b, c, ..., z}*.
Descripción
COMPONENTES:
ENTRADA, AREA-COMPRAS, CAJA, SALIDA
VARIABLES DESCRIPTIVAS:
ENTRADA
HOLA - con rango {0,a,b,c,..., z}; HOLA = 0 significa que no hay clientes en la
entrada. HOLA = x significa que el cliente x está en la ENTRADA.
AREA-COMPRAS
T-COMPRAS - con rango en los reales positivos; una variable aleatoria que
indica el tiempo que demora un cliente en hacer sus adquisiciones en el
AREA-COMPRAS
LISTA-CLIENTES - con rango ({a,b,...,z} x R+)*. (x1, t1), (x2, t2), ..., (xn, tn)
significa que el cliente xi saldrá del AREA·COMPRAS en ti unidades de
tiempo a partir de ahora.
Variables Descriptivas
CAJA
COLA - con rango {a, b, c, ..., z}*. COLA = x1, x2, ..., xn indica que x1 está
primero en la cola, x2 es segundo, etc.
T·SERVICIO - con rango R+. Variable aleatoria que da el tiempo en el que
será procesado el cliente que está primero en la cola.
SERVICIO·RESTANTE - con rango R+. SERVICIO·RESTANTE = s significa que
el cliente que está siendo atendido, dejará la CAJA en s unidades de
tiempo
a
partir
de
ahora.
OCUPADO - con rango {SI, NO}; indica si la CAJA está atendiendo o no
un cliente.
SALIDA
CHAO - con rango {0, a, b, c, ..., z}; CHAO = 0 indica que no hay
clientes en la salida. CHAO = x significa que el cliente x está saliendo.
INTERACCION ENTRE COMPONENTES
1.
Cuando un cliente x llega a la ENTRADA en t, su presencia es indicada
por HOLA = x. Entra al área de compras (HOLA se pone en 0) y después
de muestrear T·COMPRAS, obtiene un tiempo de adquisiciones t. Por
tanto, (x, t) es puesto en la lista LISTA·CLIENTES.
2.
A medida que el reloj avanza, (x, t) se decrementa hasta (x, 0). En ese
instante, el cliente x deja el AREA·COMPRAS, y se pone al final de la
COLA en la caja. A medida que los clientes son procesados, avanzan
hacia el frente de la COLA. Cuando es el primero, se muestrea
T·SERVICIO para obtener un tiempo s y se asigna s a
SERVICIO·RESTANTE.
3.
El cliente x espera en la cabeza de la COLA hasta que
SERVICIO·RESTANTE se hace 0. En ese momento se va de la CAJA (y del
supermercado). Su paso por la SALIDA (que toma tiempo 0) se señala
por CHAO = x.
Esquema de un cliente
Esquema en un instante t
Ejemplo: En un instante dado t, la situación puede ser la siguiente
Esquema en un instante t+8
En el instante t + 8 la situación podría ser la siguiente (por ejemplo):
Instantes de Ocurrencia
El ejemplo anterior clarifica las ideas de simulación de eventos discretos. En lugar
de avanzar el tiempo del modelo como t, t+1, t+2, ..., si en un momento
determinado el tiempo del modelo es t, podemos avanzar el tiempo al próximo
instante de ocurrencia.
Supongamos, para empezar, que no hay llegada de clientes (un modelo
autónomo). Esto puede ocurrir cuando el supermercado ha cerrado la ENTRADA.
Entonces, sea t el instante actual, t' el próximo instante de ocurrencia.
t' = t + min {t1, t2, ..., tn, s}
Es decir, t' será el instante actual más el mínimo de los tiempos que quedan para
que se produzca un evento. Los t1, t2, ..., tn y s son relojes decrecientes (timers):
cuando su valor se hace 0, ocurre un evento.
Modelamiento de Sistemas
¿Cómo será la evolución de las variables durante el tiempo?
Instantes de ocurrencia de eventos
Veamos qué ocurre entre dos instantes de ocurrencia.
Por ejemplo, entre (t + tb) y (t + tc) :
- La variable COLA permanece constante (con valor b).
- La variable T·SERVICIO no es muestreada: permanece constante
con el último valor de sb.
- La variable SERVICIO·RESTANTE decae linealmente.
- La variable CHAO permanece constante (valor 0).
En general, entre dos instantes de ocurrencia cualesquiera sucede lo mismo.
Por tanto, el tiempo se puede hacer saltar entre instantes de ocurrencia, y
esto es la base de la simulación de eventos discretos.
Autonomía del modelo
Supongamos que la rutina que muestrea la variable aleatoria T·SERVICIO necesita el valor
anterior que ella misma generó para obtener la muestra. Con este supuesto y recordando
que la ENTRADA está cerrada, las variables de estado son:
LISTA·CLIENTES, con valor típico (x1, t1), ..., (x2, t2).
COLA, con valor típico y = y1, ..., yn.
T·SERVICIO, con valor típico r.
SERVICIO·RESTANTE, con valor típico s.
Por tanto, los estados son:
S = ( ((x1, t1), (x2, t2), ...), y, r, s)
CASO NO-AUTONOMO
La llegada de clientes es un fenómeno externo al modelo, pero también puede
modelarse. En muchos casos, la llegada de clientes, o el periodo de tiempo entre
llegada de clientes, puede modelarse con una variable aleatoria con una distribución
acumulada conocida. Sea ENTRE·LLEGADAS esta variable (es decir, si muestreamos
ENTRE·LLEGADAS obtenemos la cantidad de tiempo que hay que esperar para que
llegue un nuevo cliente a partir del último).
Modelamiento de Sistemas
Podemos crear una nueva variable LLEGA, que se inicializa con muestreo de ENTRE·LLEGADAS, y que va
decreciendo con el tiempo, de modo que cuando se hace 0, aparece el nuevo cliente, se muestrea
ENTRE·LLEGADAS, se asigna a LLEGA, etc. Por tanto, las variables quedan:
Finalmente, a cada cliente que llega se le asigna un tiempo de compras, muestreando la variable aleatoria
T·COMPRAS. Por tanto, todos los eventos son predecibles, que era una de las condiciones de este tipo de
simulación. ¿Cuál es ahora el próximo instante de ocurrencia? Si el valor en t de LLEGA es g, entonces:
t' = t + min {t1, t2, ..., tn, s, g}
EVENTOS DISCRETOS
Necesitamos una estructura de datos para la simulación de
eventos discretos: la lista PROXIMOS·EVENTOS. Se trata de
una lista ordenada de menor a mayor por el instante de
ocurrencia:
COM PONENTE
IN S T A N T E S
E V E N T O ·D E ·
t 
E V E N T O ·D E · 
t 
E V E N T O ·D E ·d
t d
...
Donde t <= t <= td
Pasos en la Simulación
Inicialización
1. Poner variable RELOJ con el tiempo de modelo inicial t0.
2. Poner variables S1, S2, ..., Sp con los valores iniciales de las variables de estado (s1, s2,
..., sp).
3. Para las componentes que tengan un evento, poner el par (EVENTO·DE·, t) en la
lista PROXIMOS·EVENTOS, en que t es el instante de ocurrencia calculado. (Ordenar
lista).
Avance del tiempo
4. Poner el RELOJ con el t del primer par en la lista PROXIMOS·EVENTOS.
Transición
5. Realice la transición de estados, extrayendo de la lista PROXIMOS·EVENTOS todos
los pares que tengan instante igual a RELOJ, re-programando componentes,
cambiando variables, etc. En esta etapa se re-colocan pares (EVENTO·DE·, t) en la
lista PROXIMOS·EVENTOS, cuidando de ponerlos en el orden apropiado.
Pasos en la Simulación
¿todavía hay una transición con este valor de RELOJ?
6. Si el valor de RELOJ iguala el instante del primer par, vaya
a 5.
Chequeo de término
7. Si el valor de RELOJ iguala o excede el instante de término
t1, PARE. En caso contrario, vaya a 4.
Universidad de Chile
Luis A. Guerrero
Choose The Appropriate
Simulation Tools
Assuming Simulation is the appropriate
means, three alternatives exist:
1. Build Model in a General Purpose
Language
2.
Build Model in a General Simulation
Language
3.
Use a Special Purpose Simulation
Package
Introduction
41
MODELLING W/ GENERAL
PURPOSE LANGUAGES
 Advantages:
– Little or no additional software cost
– Universally available (portable)
– No additional training (Everybody knows…(language X) ! )
 Disadvantages:
–
–
–
–
Every model starts from scratch
Very little reusable code
Long development cycle for each model
Difficult verification phase
Introduction
42
GEN. PURPOSE LANGUAGES
USED FOR SIMULATION
FORTRAN
– Probably more models than any other language.
PASCAL
– Not as universal as FORTRAN
MODULA
– Many improvements over PASCAL
ADA
– Department of Defense attempt at standardization
C, C++
– Object-oriented programming language
Introduction
43
MODELING W/ GENERAL
SIMULATION LANGUAGES
 Advantages:
–
–
–
–
Standardized features often needed in modeling
Shorter development cycle for each model
Much assistance in model verification
Very readable code
 Disadvantages:
– Higher software cost (up-front)
– Additional training required
– Limited portability
Introduction
44
GENERAL PURPOSE SIMULATION
LANGUAGES
 GPSS
–
–
–
–
Block-structured Language
Interpretive Execution
FORTRAN-based (Help blocks)
World-view: Transactions/Facilities
 SIMSCRIPT II.5
–
–
–
–
English-like Problem Description Language
Compiled Programs
Complete language (no other underlying language)
World-view: Processes/ Resources/ Continuous
Introduction
45
GEN. PURPOSE SIMULATION
LANGUAGES (continued)
 MODSIM III
–
–
–
–
Modern Object-Oriented Language
Modularity Compiled Programs
Based on Modula2 (but compiles into C)
World-view: Processes
 SIMULA
– ALGOL-based Problem Description Language
– Compiled Programs
– World-view: Processes
Introduction
46
GEN. PURPOSE SIMULATION
LANGUAGES (continued)
 SLAM
–
–
–
–
Block-structured Language
Interpretive Execution
FORTRAN-based (and extended)
World-view: Network / event / continuous
 CSIM
– process-oriented language
– C-based (C++ based)
– World-view: Processes
Introduction
47
MODELING W/ SPECIAL-PURPOSE
SIMUL. PACKAGES
 Advantages
– Very quick development of complex models
– Short learning cycle
– No programming--minimal errors in usage
 Disadvantages
– High cost of software
– Limited scope of applicability
– Limited flexibility (may not fit your specific application)
Introduction
48
SPECIAL PURPOSE PACKAGES
USED FOR SIMUL.
 NETWORK II.5
– Simulator for computer systems
 OPNET
– Simulator for communication networks, including
wireless networks
 COMNET III
– Simulator for communications networks
 SIMFACTORY
– Simulator for manufacturing operations
Introduction
49
THE REAL COST OF SIMULATION
Many people think of the cost of a simulation
only in terms of the software package price.
There are actually at least three components to
the cost of simulation:
1. Purchase price of the software
2. Programmer / Analyst time
3. “Timeliness of Results”
Introduction
50
TERMINOLOGY
System
– A group of objects that are joined together in
some regular interaction or interdependence
toward the accomplishment of some purpose.
– Entity
– An object of interest in the system.
– E.g., customers at a bank
Introduction
51
TERMINOLOGY (continued)
Attribute
– a property of an entity
– E.g., checking account balance
Activity
– Represents a time period of specified length.
– Collection of operations that transform the
state of an entity
– E.g., making bank deposits
Introduction
52
TERMINOLOGY (continued)
Event:
– change in the system state.
– E.g., arrival; beginning of a new execution;
departure
State Variables
– Define the state of the system
– Can restart simulation from state variables
– E.g., length of the job queue.
Introduction
53
TERMINOLOGY (continued)
Process
– Sequence of events ordered on time
 Note:
– the three concepts(event, process,and activity)
give rise to three alternative ways of building
discrete simulation models
Introduction
54
Descargar

Diapositiva 1