modelos de sistemas con ing. rafael a. díaz chacón u.c.v. iii rad/99

66
Modelos de Sistemas con Ing. Rafael A. Díaz Chacón U.C.V. II I RAD/99

Upload: julia-vega-macias

Post on 23-Jan-2016

215 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Modelos de Sistemas con Ing. Rafael A. Díaz Chacón U.C.V. III RAD/99

Modelos de Sistemas con

Ing. Rafael A. Díaz Chacón

U.C.V.

III

RAD/99

Page 2: Modelos de Sistemas con Ing. Rafael A. Díaz Chacón U.C.V. III RAD/99

Variables y Funciones en Visual SLAM

RAD/99

Page 3: Modelos de Sistemas con Ing. Rafael A. Díaz Chacón U.C.V. III RAD/99

Variables Globales modificables. Variables Locales de las entidades. Variables Globales sólo para lectura.

Variables Visual SLAMTipos

RAD/99

Page 4: Modelos de Sistemas con Ing. Rafael A. Díaz Chacón U.C.V. III RAD/99

II (Variable global entera)

XX(I) (Vector global de valores reales*)

LL(I) (Vector global de valores enteros*)

SZ(I) (Vector global de valores alfabéticos*)

SS(I) (Vector global de variables de estado**)

DD(I) (Vector global de derivadas de variables de estado**)

Variables Visual SLAMVariables Globales modificables

RAD/99

* debe definirse el valor máximo en la instrucción LIMITS

** debe definirse el valor máximo en la instrucción CONTINUOUS

Page 5: Modelos de Sistemas con Ing. Rafael A. Díaz Chacón U.C.V. III RAD/99

ARRAY[I,J] (Arreglo global*)

XXINST(I) (Vector global de valores reales en una subred**)

LLINST(I) (Vector global de valores enteros en una subred**)

SZINST(I) (Vector global de valores alfabéticos en una subred **)

MSTOP (Debe colocarse en -1 para parar la simulación)

Variables Visual SLAMVariables Globales modificables

RAD/99

*Cada fila debe definirse en la instrucción ARRAY

** debe definirse el valor máximo en la instrucción LIMITSVSN

Page 6: Modelos de Sistemas con Ing. Rafael A. Díaz Chacón U.C.V. III RAD/99

ETYPE (Atributo entero de cada entidad)

ATRIB(I) (Vector de atributos reales de cada entidad*)

LTRIB(I) (Vector de atributos enteros de cada entidad*)

STRIB(I) (Vector de atributos alfabéticos de cada entidad*)

ENUM (Identificador entero de cada entidad**)

Variables Visual SLAMVariables Locales de las entidades

RAD/99

* debe definirse el valor máximo en la instrucción LIMITS

** sólo para lectura

Page 7: Modelos de Sistemas con Ing. Rafael A. Díaz Chacón U.C.V. III RAD/99

ERETURN (Atributo que guarda el último retorno)

ANTRIB(I) (Vector de atributos reales de cada entidad*)

LNTRIB(I) (Vector de atributos enteros de cada entidad*)

SNTRIB(I) (Vector de atributos alfabéticos de cada entidad*)

INSTNAME (Identificador de la instancia actual)

Variables Visual SLAMVariables Locales de las entidades

RAD/99* debe definirse el valor máximo en la instrucción LIMITSVSN

Válidos sólo en subredes

Page 8: Modelos de Sistemas con Ing. Rafael A. Díaz Chacón U.C.V. III RAD/99

TNOW (Instante actual en la simulación)

TTBEG (Instante de inicio de la simulación)

TTFIN (Instante de finalización de la simulación)

DTNOW (Tamaño actual del paso de integración*)

DTMIN (Tamaño mínimo del paso de integración*)

DTMAX (Tamaño máximo del paso de integración*)

Variables Visual SLAMVariables Globales sólo para lectura

RAD/99* en el algoritmo numérico de RKF

Page 9: Modelos de Sistemas con Ing. Rafael A. Díaz Chacón U.C.V. III RAD/99

MATRIB (Dimensión del vector ATRIB)

MLTRIB (Dimensión del vector LTRIB)

MSTRIB (Dimensión del vector STRIB)

MXXX (Dimensión del vector XX)

MXLL (Dimensión del vector LL)

MXSZ (Dimensión del vector SZ)

Variables Visual SLAMVariables Globales sólo para lectura

RAD/99

Page 10: Modelos de Sistemas con Ing. Rafael A. Díaz Chacón U.C.V. III RAD/99

NNCLT (Número de nodos COLCT utilizados)

NNSTA (Número de instrucciones TIMST utilizadas)

NNRUN (Corrida actual de la simulación)

NNRNS (Número total de corridas de la simulación)

NNEQD (Dimensión del vector DD)

NNEQS (Dimensión del vector SS)

SCENARIO (Nombre del escenario actual)

Variables Globales sólo para lectura

RAD/99

Variables Visual SLAM

Page 11: Modelos de Sistemas con Ing. Rafael A. Díaz Chacón U.C.V. III RAD/99

Funciones Globales. Funciones de Variables Aleatorias. Funciones Intrínsecas. Funciones Estadísticas.

Funciones Visual SLAMTipos

RAD/99

Page 12: Modelos de Sistemas con Ing. Rafael A. Díaz Chacón U.C.V. III RAD/99

NGUSE(I) (Unidades del grupo de recursos I en uso)

NNGRP(I) (Unidades del grupo de recursos I disponibles)

NNCNT(I) (Entidades que han completado la actividad I)

NNACT(I) (Entidades actualmente en la actividad I)

NNGAT(I) (Valor actual de la compuerta I)

NNRSC(I) (Unidades del recurso I disponibles)

NRUSE(I) (Unidades del recurso I en uso)

NNQ(I) (Entidades actualmente en el archivo de espera I)

Funciones Globales

RAD/99

Funciones Visual SLAM

Page 13: Modelos de Sistemas con Ing. Rafael A. Díaz Chacón U.C.V. III RAD/99

PROB(P) (Devuelve el valor TRUE si un número aleatorio entre 0.0 y 1.0 es menor que P; P debe estar entre 0.0 y 1.0*)

USERF(N) (Devuelve el valor de una función escrita por el usuario correspondiente al argumento N)

VSNEXPR(VSN,INST,EXPR) (Evalúa la expresión EXPR dentro de la subred VSN y la instancia INST)

Funciones Globales

RAD/99

Funciones Visual SLAM

* sólo válido como condición en un ACTIVITY

Page 14: Modelos de Sistemas con Ing. Rafael A. Díaz Chacón U.C.V. III RAD/99

ASSERT(VAL,MIN,MAX) (Devuelve el valor VAL si y sólo si está entre MIN y MAX; en caso contrario da un error)

GETEXCEL(HOJA,IFILA,ICOL) (Devuelve el valor de la casilla (IFILA,ICOL) de la hoja de cálculo HOJA de EXCEL)

GGTBLN(IEJEX,IEJEY,XVALOR) (Devuelve el valor en el eje Y de interpolar XVALOR en la tabla de datos (x,y) dados por los arreglos IEJEX y IEJEY, respectivamente)

Funciones Globales

RAD/99

Funciones Visual SLAM

Page 15: Modelos de Sistemas con Ing. Rafael A. Díaz Chacón U.C.V. III RAD/99

DRAND(I) (Número pseudo-aleatorio entre 0.0 y 1.0*)

EXPON(PROM,I) (Muestra de una distribución Exponencial con media PROM*)

UNFRM(UMIN,UMAX,I) (Muestra de una distribución Uniforme entre UMIN y UMAX*)

WEIBL(ALFA,BETA,I) (Muestra de una distribución Weibull con parámetro de escala ALFA y parámetro de forma BETA*)

Funciones de Variables Aleatorias

RAD/99

Funciones Visual SLAM

* usando el generador de números aleatorios I

Page 16: Modelos de Sistemas con Ing. Rafael A. Díaz Chacón U.C.V. III RAD/99

Funciones de Variables Aleatorias

RAD/99

Funciones Visual SLAM

* usando el generador de números aleatorios I

TRIAG(UMIN,UMODA,UMAX,I) (Muestra de una distribución Triangular entre UMIN y UMAX con moda en UMODA*)

RNORM(PROM,DESV,I) (Muestra de una distribución Normal con media PROM y desviación estándar DESV*)

RLOGN(PROM,DESV,I) (Muestra de una distribución Lognormal con media PROM y desviación estándar DESV*)

ERLNG(PROM,UK,I) (Muestra de una distribución Erlang la cual es la suma de UK muestras exponenciales cada una con media PROM*)

Page 17: Modelos de Sistemas con Ing. Rafael A. Díaz Chacón U.C.V. III RAD/99

Funciones de Variables Aleatorias

RAD/99

Funciones Visual SLAM

* usando el generador de números aleatorios I

GAMA(BETA,ALFA,I) (Muestra de una distribución Gamma con parámetros BETA y ALFA*)

BETA(THETA,PHI,I) (Muestra de una distribución Beta con parámetros THETA y PHI*)

NPSSN(PROM,I) (Muestra de una distribución Poisson con media PROM*)

DPROBN(IACUM,IVALOR,I) (Muestra de una distribución empírica cuyas probabilidades acumuladas están en el arreglo IACUM y cuyos correspondientes valores posibles están en el arreglo IVALOR*)

Page 18: Modelos de Sistemas con Ing. Rafael A. Díaz Chacón U.C.V. III RAD/99

Funciones Intrínsecas

RAD/99

Funciones Visual SLAM

ABS(VALOR) (Valor absoluto de VALOR) ACOS(VALOR) (Arco coseno de VALOR) ASIN(VALOR) (Arco seno de VALOR) ATAN(VALOR) (Arco tangente de VALOR) ATAN2(A,B) (Arco tangente de (A/B)) ATOI(ALFA) (Convierte la palabra ALFA en un valor entero) ATOF(ALFA) (Convierte la palabra ALFA en un valor real) CEIL(VALOR) (Valor real igual al menor entero >= que VALOR) CHAR(ENT) (Convierte el valor entero ENT en caracteres ASCII) COS(ANGULO) (Coseno de ANGULO) COSH(ANGULO) (Coseno hiperbólico de ANGULO)

Page 19: Modelos de Sistemas con Ing. Rafael A. Díaz Chacón U.C.V. III RAD/99

Funciones Intrínsecas

RAD/99

Funciones Visual SLAM

DBLE(ENT) (Convierte el valor entero ENT en valor real) DIM(A,B) (Diferencia positiva entre A y B) EXP(VALOR) (Exponencial de VALOR) FLOOR(VALOR) (Mayor entero <= que VALOR) FMOD(A,B) (Residuo del cociente entre los reales A y B) FTOA(VALOR) (Convierte el valor real VALOR en una palabra) IILEN(ALFA) (Longitud de la palabra ALFA sin contar espacios en

blanco) INDEX() (Encuentra el contenido de dentro de ) INT(VALOR) (Trunca VALOR y lo retorna como entero) ITOA(ENT) (Convierte el valor entero ENT en una palabra) LDEXP(VAL,EX) (Calcula (2*VAL) elevado a la potencia EX)

Page 20: Modelos de Sistemas con Ing. Rafael A. Díaz Chacón U.C.V. III RAD/99

Funciones Intrínsecas

RAD/99

Funciones Visual SLAM

LEN(ALFA) (Longitud de la palabra ALFA) LLE() (Retorna TRUE si la palabra es <= que la palabra) LGE() (Retorna TRUE si la palabra es >= que la palabra) LGT() (Retorna TRUE si la palabra es > que la palabra) LLT() (Retorna TRUE si la palabra es < que la palabra) LOG(VALOR) (Logaritmo natural de VALOR) LOG10(VALOR) (Logaritmo en base 10 de VALOR) MAX(A,B) (Máximo entre A y B) MIN(A,B) (Mínimo entre A y B) MOD(ENT1,ENT2) (Residuo del cociente ENT1/ENT2) NINT(VALOR) (Redondea VALOR al entero más cercano)

Page 21: Modelos de Sistemas con Ing. Rafael A. Díaz Chacón U.C.V. III RAD/99

Funciones Intrínsecas

RAD/99

Funciones Visual SLAM

POW(A,B) (Calcula A elevado a la potencia B) SIGN(A,B) (Si B<0.0 retorna -ABS(A), en otro caso retorna ABS(A)) SIN(ANGULO) (Seno de ANGULO) SINH(ANGULO) (Seno hiperbólico de ANGULO) SQRT(VALOR) (Raíz Cuadrada de VALOR) STRCAT() (Retorna la palabra concatenada en la palabra ) TAN(ANGULO) (Tangente de ANGULO) TANH(ANGULO) (Tangente hiperbólica de ANGULO)

Page 22: Modelos de Sistemas con Ing. Rafael A. Díaz Chacón U.C.V. III RAD/99

Funciones Estadísticas

RAD/99

Funciones Visual SLAM

AAAVG(I) (Valor promedio de la utilización de la actividad I*)

AAMAX(I) (Máxima utilización de la actividad I*) AASTD(I) (Desviación estándar de la utilización de la actividad I*) AATLC(I) (Instante del último cambio de estado de la actividad I) CCAVG(I) (Promedio de la variable estadística del nodo COLCT I*) CCMAX(I) (Máximo de la variable estadística del nodo COLCT I*) CCMIN(I) (Mínimo de la variable estadística del nodo COLCT I*) CCNUM(I ) (Muestras de la variable estadística del nodo COLCT I*) CCSTD(I ) (Desviación estándar de la variable del nodo COLCT I*) FFAVG(I ) (Número promedio de entidades en el archivo I*) FFAWT(I ) (Tiempo promedio de espera en el archivo I*) FFMAX(I ) (Número máximo de entidades en el archivo I*)

* desde que se inició el muestreo actual

Page 23: Modelos de Sistemas con Ing. Rafael A. Díaz Chacón U.C.V. III RAD/99

Funciones Estadísticas

RAD/99

Funciones Visual SLAM

FFPRD(I) (Periodo de tiempo del muestreo del archivo I*) FFSTD(I) (Desviación estándar de la longitud del archivo I*) FFTLC(I) (Instante del último cambio de longitud del archivo I*) GGOPN(I) (Porcentaje de tiempo que ha estado abierta la puerta I*) GGTLC(I) (Instante del último cambio de estado de la puerta I*) GRPAVA(I) (Promedio de disponibilidad de los recursos del grupo I*) GRPAVG(I) (Promedio de utilización de los recursos del grupo I*) GRPMAX(I ) (Utilización máxima de los recursos del grupo I*) GRPPRD(I ) (Periodo de muestreo para el grupo I*) GRPSTD(I ) (Desviación estándar de la utilización del grupo I*) GRPTLC(I ) (Instante del último cambio de estado de la utilización del

grupo de recursos I*)

* desde que se inició el muestreo actual

Page 24: Modelos de Sistemas con Ing. Rafael A. Díaz Chacón U.C.V. III RAD/99

Funciones Estadísticas

RAD/99

Funciones Visual SLAM

RRAVA(I) (Promedio de disponibilidad del recurso I*) RRAVG(I) (Promedio de utilización del recurso I*) RRMAX(I) (Utilización máxima del recurso I*) RRPRD(I) (Periodo de muestreo para el recurso I*) RRSTD(I) (Desviación estándar de la utilización del recurso I*) RRTLC(I) (Instante del último cambio de la utilización del recurso I*) TTAVG(I) (Promedio de la variable persistente en tiempo I*) TTMAX(I ) (Máximo valor de la variable persistente en tiempo I*) TTMIN(I ) (Mínimo valor de la variable persistente en tiempo I*) TTPRD(I ) (Periodo de muestreo para la variable temporal I*) TTSTD(I ) (Desviación estándar de la variable temporal I*) TTTLC(I) (Instante del último cambio de la variable temporal I*)

* desde que se inició el muestreo actual

Page 25: Modelos de Sistemas con Ing. Rafael A. Díaz Chacón U.C.V. III RAD/99

Tipos de funciones

RAD/99

Funciones en Ambiente C

Sirven como interfaz entre los ambientes AweSim y C. Ya están declaradas en el archivo de encabezado vslam.h Se pueden usar en el ambiente gráfico de redes SLAM o dentro

de otro tipo de funciones en C escritas por el usuario. Las funciones en ambiente C son de dos tipos:

Funciones que deben ser escritas por el usuario. Funciones escritas previamente para ser

utilizadas por el usuario.

Page 26: Modelos de Sistemas con Ing. Rafael A. Díaz Chacón U.C.V. III RAD/99

Escritas por el usuario

RAD/99

Funciones en Ambiente C

ALLOC: Se utiliza para realizar una asignación de recursos en un nodo AWAIT, según una regla particular.

ENTRY*SWFUNC ALLOC(int código,ENTRY*primera);

código: Valor entero para escoger la regla de asignación de recursos asociada al nodo AWAIT que está haciendo la llamada a la función.

primera: Ubicación de la primera entidad en el archivo asociado al nodo AWAIT.

Valor de retorno: Posición de la entidad que será liberada del nodo AWAIT. Si no hay asignación retorna NULL.

Nota: En el ambiente AweSim se usa ALLOC(código).

Page 27: Modelos de Sistemas con Ing. Rafael A. Díaz Chacón U.C.V. III RAD/99

Escritas por el usuario

RAD/99

Funciones en Ambiente C

ASSEMBLE: Se utiliza para realizar una selección de colas en un nodo SELECT, según una regla particular.

ENTITY*SWFUNC ASSEMBLE(int código,SN_NODE*apuntador);

código: Valor entero para escoger la regla de selección de colas asociada al nodo SELECT que está haciendo la llamada a la función.

apuntador: Apuntador del nodo SELECT que será liberado.

Valor de retorno: Apuntador de la entidad que será liberada del nodo SELECT.

Nota: En el ambiente AweSim se usa USERASSEMBLE(código).

Page 28: Modelos de Sistemas con Ing. Rafael A. Díaz Chacón U.C.V. III RAD/99

Escritas por el usuario

RAD/99

Funciones en Ambiente C

BATCHSAVE: Se utiliza para salvar atributos de entidades que se acumulan en un nodo BATCH, según una regla particular.

void SWFUNC BATCHSAVE(int código, ENTITY*lote, ENTITY*llegada);

código: Valor entero para escoger la regla de selección de lotes asociada al nodo BATCH que está haciendo la llamada a la función.

lote: Apuntador de la entidad lote que se está formando.

llegada: Apuntador de la entidad que llega al lote

Valor de retorno: No retorna ningún valor.

Nota: En el ambiente AweSim se usa USER(código) en un nodo BATCH.

Page 29: Modelos de Sistemas con Ing. Rafael A. Díaz Chacón U.C.V. III RAD/99

Escritas por el usuario

RAD/99

Funciones en Ambiente C

EVENT: Se utiliza para programar acciones particulares en un nodo EVENT.

void SWFUNC EVENT(int código, ENTITY*entidad);

código: Valor entero para escoger el caso apropiado para el evento que se desea ejecutar en esta llamada a la función.

entidad: Apuntador de la entidad que provoca la llamada a la función EVENT.

Valor de retorno: No retorna ningún valor.

Nota: En el ambiente AweSim se usa EVENT(código) en un nodo EVENT.

Page 30: Modelos de Sistemas con Ing. Rafael A. Díaz Chacón U.C.V. III RAD/99

Escritas por el usuario

RAD/99

Funciones en Ambiente C

INTLC: Se utiliza para inicializar variables propias de C o también del ambiente AweSim y programar eventos iniciales.

BOOL SWFUNC INTLC(int corrida);

corrida: Número de la corrida que se va a iniciar.

Valor de retorno: Retorna TRUE si se va a realizar la corrida y FALSE en caso contrario.

Page 31: Modelos de Sistemas con Ing. Rafael A. Díaz Chacón U.C.V. III RAD/99

Escritas por el usuario

RAD/99

Funciones en Ambiente C

NQS: Se utiliza para seleccionar, según una regla particular, el nodo QUEUE a atender desde un nodo SELECT.

UINT SWFUNC NQS(int código, ENTITY*entidad, SN_NODE*nodo);

código: Valor entero para escoger el caso apropiado para la regla de selección de colas asociada al nodo SELECT.

entidad: Apuntador de la entidad que provoca la llamada a la función NQS.

nodo: Apuntador del nodo SELECT asociado.

Valor de retorno: Número del archivo del nodo QUEUE seleccionado o 0 si no se seleccionó ninguno.

Nota: En el ambiente AweSim se usa NQS(código) en un nodo SELECT.

Page 32: Modelos de Sistemas con Ing. Rafael A. Díaz Chacón U.C.V. III RAD/99

Escritas por el usuario

RAD/99

Funciones en Ambiente C

NRS: Se utiliza para seleccionar, según una regla particular, el recurso que formará parte de un grupo en el bloque GROUP.

UINT SWFUNC NRS(int código, ENTITY*entidad, int grupo, int unidades);

código: Valor entero para escoger el caso apropiado para la regla de selección de recursos para un grupo asociada al bloque GROUP.

entidad: Apuntador de la entidad que provoca la llamada a la función NRS.

grupo: Número del grupo para el cual se asignarán los recursos.

unidades: Número de unidades especificadas en el nodo AWAIT.

Valor de retorno: Número del recurso seleccionado o 0 si no se seleccionó ninguno.

Nota: En el ambiente AweSim se usa NRS(código) en un bloque GROUP.

Page 33: Modelos de Sistemas con Ing. Rafael A. Díaz Chacón U.C.V. III RAD/99

Escritas por el usuario

RAD/99

Funciones en Ambiente C

NSS: Se utiliza para seleccionar, según una regla particular, la actividad de servicio que sigue a un nodo SELECT.

UINT SWFUNC NSS(int código, ENTITY*entidad, SN_NODE*nodo);

código: Valor entero para escoger el caso apropiado para la regla de selección de servidores asociada al nodo SELECT.

entidad: Apuntador de la entidad que provoca la llamada a la función NSS.

nodo: Apuntador del nodo SELECT asociado.

Valor de retorno: Número de la actividad de servicio seleccionada o 0 si no se seleccionó ninguna.

Nota: En el ambiente AweSim se usa NSS(código) en un nodo SELECT.

Page 34: Modelos de Sistemas con Ing. Rafael A. Díaz Chacón U.C.V. III RAD/99

Escritas por el usuario

RAD/99

Funciones en Ambiente C

ORDER: Se utiliza para ordenar un archivo que no pertenece a una red SLAM cuando la regla no es ni FIFO ni LIFO.

UINT SWFUNC ORDER(int código,void argumento, ENTITY*entidad, ENTITY*nueva);

código: Valor entero para escoger el caso apropiado para la regla de ordenamiento de entiaddes definida en la función su_filnew.

argumento: Argumento de la regla de ordenamiento especificada por la función su_filnew

entidad: Apuntador de la entidad que existe actualmente en el archivo.

nueva: Apuntador de la entidad que será sumada en el archivo.

Valor de retorno: Ubicación de la nueva entidad respecto a la entidad de referencia.

Page 35: Modelos de Sistemas con Ing. Rafael A. Díaz Chacón U.C.V. III RAD/99

Escritas por el usuario

RAD/99

Funciones en Ambiente C

OTPUT: Se utiliza para escribir un reporte en C al final de la corrida actual de la simulación.

BOOL SWFUNC OTPUT(int corrida);

corrida: Número de la corrida que finaliza.

Valor de retorno: Retorna TRUE si se va a realizar la siguiente corrida y FALSE en caso contrario.

Page 36: Modelos de Sistemas con Ing. Rafael A. Díaz Chacón U.C.V. III RAD/99

Escritas por el usuario

RAD/99

Funciones en Ambiente C

STATE: Se utiliza para escribir las ecuaciones diferenciales o en diferencias que rigen el comportamiento del sistema cuando se incluyen variables continuas en el modelo.

void SWFUNC STATE(void);

No requiere de argumento ni retorna valor alguno.

Page 37: Modelos de Sistemas con Ing. Rafael A. Díaz Chacón U.C.V. III RAD/99

Escritas por el usuario

RAD/99

Funciones en Ambiente C

UERR: Se utiliza para escribir un reporte con mensajes particulares cuando ocurre un error en la ejecución de la simulación; Es llamada por la función ERROR.

BOOL SWFUNC UERR(int código);

código: Número del tipo de error que se cometió.

Valor de retorno: Retorna TRUE si se va a parar la simulación y FALSE en caso contrario.

Page 38: Modelos de Sistemas con Ing. Rafael A. Díaz Chacón U.C.V. III RAD/99

Escritas por el usuario

RAD/99

Funciones en Ambiente C

UMONT: Se utiliza para escribir un reporte particular del seguimiento de entidades sólo cuando se está utilizando la opción TRACE de la instrucción MONTR.

BOOL SWFUNC UMONT(int evento, ENTITY* entidad);

evento: Número del tipo de evento que ocurrió.

entidad: Apuntador de la entidad que provoca la llamada a la función UMONT

Valor de retorno: Retorna TRUE si se va a monitorear el evento y FALSE en caso contrario.

Page 39: Modelos de Sistemas con Ing. Rafael A. Díaz Chacón U.C.V. III RAD/99

Escritas por el usuario

RAD/99

Funciones en Ambiente C

USERF: Se utiliza para escribir una función particular para ser ejecutada en el ambiente de una red SLAM.

double SWFUNC USERF(int código, ENTITY* entidad);

código: Número del tipo de caso a ejecutar de la función USERF.

entidad: Apuntador de la entidad que provoca la llamada a la función USERF

Valor de retorno: Retorna el valor asignado por la función USERF según el número código.

Nota: En el ambiente AweSim se usa USERF(código).

Page 40: Modelos de Sistemas con Ing. Rafael A. Díaz Chacón U.C.V. III RAD/99

Para ser utilizadas por el usuario

RAD/99

Funciones en Ambiente C

VARIABLES ALEATORIAS. ESTADÍSTICA DE LAS VARIABLES SLAM. MANIPULACIÓN DE ARCHIVOS DE ESPERA. ESTADO ACTUAL DE LA RED SLAM. ESTADO ACTUAL DE LA SIMULACIÓN. REPORTES DE SALIDA. ATRIBUTOS AUXILIARES. VALORES EN LAS TABLAS DE DATOS. ESTADO ACTUAL DE LAS ENTIDADES. ASIGNACIÓN DE MEMORIA.

Page 41: Modelos de Sistemas con Ing. Rafael A. Díaz Chacón U.C.V. III RAD/99

Para ser utilizadas por el usuario

RAD/99

Funciones en Ambiente C

VARIABLES ALEATORIAS. (I)

double BETA(double dtheta,double dphi, int generador);

double DPROB(double*probacum,double*valor, int número, int generador);

double DRAND( int generador);

double ERLNG(double dmedia,double iXK, int generador);

double EXPON(double dmedia, int generador);

double GAMA(double dbeta,double dalpha, int generador);

long INTRN( int generador);

long NPSSN(double dmedia, int generador);

Page 42: Modelos de Sistemas con Ing. Rafael A. Díaz Chacón U.C.V. III RAD/99

Para ser utilizadas por el usuario

RAD/99

Funciones en Ambiente C

VARIABLES ALEATORIAS. (II)

double RLOGN(double dmedia,double desviacion, int generador);

double RNORM(double dmedia,double desviacion, int generador);

double TRIAG(double dminimo,double dmoda, double dmaximo, int generador);

double UNFRM(double dminimo,double dmaximo, int generador);

double WEIBL(double dbeta,double dalpha, int generador);

BOOL su_setseed( int generador, long semilla);

BOOL su_streams( int generador);

double XRN( int generador);

Page 43: Modelos de Sistemas con Ing. Rafael A. Díaz Chacón U.C.V. III RAD/99

Para ser utilizadas por el usuario

RAD/99

Funciones en Ambiente C

ESTADÍSTICA DE LAS VARIABLES SLAM. (I)

double AAAVG( int número_de_la_actividad);

double AAMAX(int número_de_la_actividad);

double AASTD(int número_de_la_actividad);

double AATLC(int número_de_la_actividad);

Estadística de las actividades

Page 44: Modelos de Sistemas con Ing. Rafael A. Díaz Chacón U.C.V. III RAD/99

Para ser utilizadas por el usuario

RAD/99

Funciones en Ambiente C

ESTADÍSTICA DE LAS VARIABLES SLAM. (II)

double CCAVG( int número_del_nodo_COLCT);

double CCMAX( int número_del_nodo_COLCT);

double CCMIN(int número_del_nodo_COLCT);

double CCNUM(int número_del_nodo_COLCT);

double CCSTD(int número_del_nodo_COLCT);

BOOL COLCT(double valor, int número_del_nodo_COLCT);

BOOL su_colnew(int número_del_nodo_COLCT, char*nombre, int celdas, double minimo, double ancho);

Estadística de los nodos COLCT

Page 45: Modelos de Sistemas con Ing. Rafael A. Díaz Chacón U.C.V. III RAD/99

Para ser utilizadas por el usuario

RAD/99

Funciones en Ambiente C

ESTADÍSTICA DE LAS VARIABLES SLAM. (III)

double FFAVG( int número_del_archivo_de_espera);

double FFAWT( int número_del_ archivo_de_espera);

double FFMAX(int número_del_ archivo_de_espera);

double FFPRD(int número_del_ archivo_de_espera);

double FFSTD(int número_del_ archivo_de_espera);

double FFTLC( int número_del_ archivo_de_espera);

Estadística de los archivos de espera dentro de una red SLAM

Page 46: Modelos de Sistemas con Ing. Rafael A. Díaz Chacón U.C.V. III RAD/99

Para ser utilizadas por el usuario

RAD/99

Funciones en Ambiente C

ESTADÍSTICA DE LAS VARIABLES SLAM. (IV)

double su_filavg( SIM_FILE*número_del_archivo_de_espera);

double su_filawt(SIM_FILE* número_del_ archivo_de_espera);

double su_filmax( SIM_FILE* número_del_ archivo_de_espera);

double su_filprd(SIM_FILE* número_del_ archivo_de_espera);

double su_filstd(SIM_FILE* número_del_ archivo_de_espera);

double su_filtlc(SIM_FILE* número_del_ archivo_de_espera);

Estadística de los archivos de espera fuera de una red SLAM

Page 47: Modelos de Sistemas con Ing. Rafael A. Díaz Chacón U.C.V. III RAD/99

Para ser utilizadas por el usuario

RAD/99

Funciones en Ambiente C

ESTADÍSTICA DE LAS VARIABLES SLAM. (V)

double GGOPN( int número_de_la_compuerta);

double GGTLC(int número_de_la_compuerta);

double GRPAVA(int número_del_grupo_de_recursos);

double GRPAVG(int número_del_grupo_de_recursos);

double GRPMAX(int número_del_grupo_de_recursos);

double GRPPRD(int número_del_grupo_de_recursos);

double GRPSTD(int número_del_grupo_de_recursos);

Estadística de las compuertas, recursos y grupos de recursos

Page 48: Modelos de Sistemas con Ing. Rafael A. Díaz Chacón U.C.V. III RAD/99

Para ser utilizadas por el usuario

RAD/99

Funciones en Ambiente C

ESTADÍSTICA DE LAS VARIABLES SLAM. (VI)

double GRPTLC(int número_del_grupo_de_recursos);

double RRAVA(int número_del_recurso);

double RRAVG(int número_del_recurso);

double RRMAX(int número_del_recurso);

double RRPRD(int número_del_recurso);

double RRSTD(int número_del_recurso);

double RRTLC(int número_del_recurso);

Estadística de las compuertas, recursos y grupos de recursos

Page 49: Modelos de Sistemas con Ing. Rafael A. Díaz Chacón U.C.V. III RAD/99

Para ser utilizadas por el usuario

RAD/99

Funciones en Ambiente C

ESTADÍSTICA DE LAS VARIABLES SLAM. (VII)

double TTAVG(int número_de_la_variable);

double TTMAX(int número_ de_la_variable);

double TTMIN(int número_ de_la_variable);

double TTPRD(int número_ de_la_variable);

double TTSTD(int número_ de_la_variable);

double TTTLC(int número_ de_la_variable);

Estadística de las variables persistentes en el tiempo

Page 50: Modelos de Sistemas con Ing. Rafael A. Díaz Chacón U.C.V. III RAD/99

Para ser utilizadas por el usuario

RAD/99

Funciones en Ambiente C

MANIPULACIÓN DE ARCHIVOS DE ESPERA. (I)

ENTRY*FILEM(int número_del_archivo, ENTITY*entidad);

ENTRY*LOCAT(int número_del_archivo, long ubicación);

ENTITY*RMOVE(int número_del_archivo, long ubicación);

ENTRY*MMFE(int número_del_archivo);

ENTRY*MMLE(int número_del_archivo);

long NNQ(int número_del_archivo);

ENTRY*NPRED(int número_del_archivo, ENTRY*posición_actual);

ENTRY*NSUCR(int número_del_archivo, ENTRY*posición_actual);

ENTRY*SCHDL(int número_del_evento, ENTITY*entidad, double intervalo);

SIM_FILE*su_fnfile(int número_del_archivo);

ENTITY*su_sfnentity(ENTRY*posición_actual);

Archivos definidos dentro de una red SLAM

Page 51: Modelos de Sistemas con Ing. Rafael A. Díaz Chacón U.C.V. III RAD/99

Para ser utilizadas por el usuario

RAD/99

Funciones en Ambiente C

MANIPULACIÓN DE ARCHIVOS DE ESPERA. (II)

SIM_FILE*su_filnew(int número_del_archivo, char*nombre, BOOL status, int tipo, int max, int,código_de_orden, void*argumento_de_orden, int, código_para_empates, void*argumento_para_empates);

int su_orderascattrib(ENTITY*entidad_actual, ENTITY*entidad_nueva,int índice);

int su_ orderdesattrib(ENTITY*entidad_actual, ENTITY*entidad_nueva,int índice);

int su_ orderasclttrib(ENTITY*entidad_actual, ENTITY*entidad_nueva,int índice);

int su_ orderdeslttrib(ENTITY*entidad_actual, ENTITY*entidad_nueva,int índice);

int su_ orderascsttrib(ENTITY*entidad_actual, ENTITY*entidad_nueva,int índice);

int su_ orderdessttrib(ENTITY*entidad_actual, ENTITY*entidad_nueva,int índice);

Archivos definidos fuera de una red SLAM

Page 52: Modelos de Sistemas con Ing. Rafael A. Díaz Chacón U.C.V. III RAD/99

Para ser utilizadas por el usuario

RAD/99

Funciones en Ambiente C

MANIPULACIÓN DE ARCHIVOS DE ESPERA. (III)

SIM_FILE*su_filreorder( SIM_FILE*posición_en_la_lista, int tipo, int max, int,código_de_orden, void*argumento_de_orden, int, código_para_empates, void*argumento_para_empates);

int su_fildestroy( SIM_FILE*posición_en_la_lista);

ENTRY*su_filfind(SIM_FILE*posición_del_archivo_en_la_lista, ENTRY*posición_de_inicio, SF_FILTER comparación, void filtro);

BOOL su_filterattrib(SU_FINDARG*argumento);

BOOL su_filterentity(long número_de_la_entidad);

BOOL su_filterEQentity(ENTITY*apuntador_buscado);

BOOL su_filterNEentity(ENTITY*apuntador_buscado);

BOOL su_filterevent(int código);

Archivos definidos fuera de una red SLAM

Page 53: Modelos de Sistemas con Ing. Rafael A. Díaz Chacón U.C.V. III RAD/99

Para ser utilizadas por el usuario

RAD/99

Funciones en Ambiente C

MANIPULACIÓN DE ARCHIVOS DE ESPERA. (IV)

ENTRY*su_filinsert( SIM_FILE*posición_del_archivo, ENTITY * apuntador_de_la_entidad);

ENTITY su_filentremove( SIM_FILE*posición_en_la_lista, long rango);

BOOL su_filremove(SIM_FILE*posición_del_archivo_en_la_lista, ENTRY*posición_a_eliminar);

ENTRY* su_filfirst(SIM_FILE*posición_del_archivo_en_la_lista);

ENTRY* su_fillast(SIM_FILE*posición_del_archivo_en_la_lista);

long su_filsize(SIM_FILE*posición_del_archivo_en_la_lista);

ENTRY* su_filprev(SIM_FILE*posición_del_archivo_en_la_lista, ENTRY* posición_actual);

ENTRY* su_filnext(SIM_FILE*posición_del_archivo_en_la_lista, ENTRY* posición_actual);

Archivos definidos fuera de una red SLAM

Page 54: Modelos de Sistemas con Ing. Rafael A. Díaz Chacón U.C.V. III RAD/99

Para ser utilizadas por el usuario

RAD/99

Funciones en Ambiente C

ESTADO ACTUAL DE LA RED SLAM. (I)

BOOL ALTER( int número_del_recurso, int unidades);

BOOL FREE( int número_del_recurso, int unidades);

int NGUSE(int número_del_grupo);

int NNGRP(int número_del_grupo);

int NNRSC(int número_del_recurso);

int NRUSE(int número_del_recurso);

BOOL SEIZE( int número_del_recurso, int unidades);

int su_grpnumres( int número_del_grupo);

int su_grpres( int número_del_grupo, int enésimo_recurso_de_la_lista);

int su_resnumfiles(int número_del_recurso);

SIM_FILE*su_resfile(int número_del_recurso, int enésimo_archivo_de_la_lista);

SIM_FILE*su_resinterruptfile(int número_del_recurso);

Estado de recursos y grupos de recursos

Page 55: Modelos de Sistemas con Ing. Rafael A. Díaz Chacón U.C.V. III RAD/99

Para ser utilizadas por el usuario

RAD/99

Funciones en Ambiente C

ESTADO ACTUAL DE LA RED SLAM. (II)

BOOL CLOSX( int número_de_la_compuerta);

BOOL NNGAT( int número_de_la_compuerta);

BOOL OPEN(int número_de_la_compuerta);

int su_gatnumfiles(int número_de_la_compuerta);

SIM_FILE* su_gatfile(int número_de_la_compuerta, int posición);

Estado de compuertas

Page 56: Modelos de Sistemas con Ing. Rafael A. Díaz Chacón U.C.V. III RAD/99

Para ser utilizadas por el usuario

RAD/99

Funciones en Ambiente C

ESTADO ACTUAL DE LA RED SLAM. (III)

int NNACT( int número_de_la_actividad);

int NNBLK( int número_de_la_actividad, int número_del_archivo);

int NNCNT( int número_de_la_actividad);

BOOL STOPA(int código);

ENTITY*su_actentity(SN_ACT*apuntador_de_la_actividad, int posición_de_la_entidad);

SN_ACT*su_actfind(int número_de_la_actividad);

SN_NODE*su_actnode(SN_ACT*apuntador_de_la_actividad);

int su_actnumber(SN_ACT*apuntador_de_la_actividad);

int su_actserver(SN_ACT*apuntador_de_la_actividad);

Estado de actividades regulares y de servicio

Page 57: Modelos de Sistemas con Ing. Rafael A. Díaz Chacón U.C.V. III RAD/99

Para ser utilizadas por el usuario

RAD/99

Funciones en Ambiente C

ESTADO ACTUAL DE LA RED SLAM. (IV)

BOOL ARRIVE( char*nombre_del_nodo, ENTITY* apuntador_de_la_entidad);

BOOL ENTER( int código, ENTITY* apuntador_de_la_entidad);

SN_NODE*su_entnode(ENTITY* apuntador_de_la_entidad);

SN_NODE*su_nodefind(char*nombre_del_nodo);

int su_nodenumfile(SN_NODE* nodo);

SIM_FILE*su_nodefile(SN_NODE* nodo, int apuntador_del_archivo);

char*su_nodelabel(SN_NODE* nodo, int apuntador_del_archivo);

Estado de nodos

Page 58: Modelos de Sistemas con Ing. Rafael A. Díaz Chacón U.C.V. III RAD/99

Para ser utilizadas por el usuario

RAD/99

Funciones en Ambiente C

ESTADO ACTUAL DE LA RED SLAM. (V)

SN_NODE*su_nodenext(SN_NODE* nodo);

int su_nodenumact(SN_NODE* nodo);

SN_ACT*su_nodeact(SN_NODE* nodo, int apuntador_de_la_actividad);

int su_nodetype(SN_NODE* nodo);

int su_selnumq(SN_NODE* nodo);

SN_NODE*su_selqueue(SN_NODE* nodo, int apuntador_del_nodo_QUEUE);

Estado de nodos

Page 59: Modelos de Sistemas con Ing. Rafael A. Díaz Chacón U.C.V. III RAD/99

Para ser utilizadas por el usuario

RAD/99

Funciones en Ambiente C

ESTADO ACTUAL DE LA SIMULACIÓN.

void CLEAR(void);

void su_error(int código, char*mensaje);

void su_gdlay(int primer_valor, int último_valor, double entrada_al_retardo, double valor_del_retardo);

int SSEVT(int código_del_evento);

void su_warn(int código, char*mensaje);

Page 60: Modelos de Sistemas con Ing. Rafael A. Díaz Chacón U.C.V. III RAD/99

Para ser utilizadas por el usuario

RAD/99

Funciones en Ambiente C

REPORTES DE SALIDA. (I)

BOOL GPLOT( int número_de_la_actividad);

BOOL PRNTA( int número_de_la_actividad);

BOOL PRNTB(int código);

BOOL PRNTC(int código);

BOOL PRNTF(int número_del_archivo);

BOOL su_outfilecontent( SIM_FILE* apuntador_del_archivo_de_salida, FILE* apuntador_del_archivo_de_escritura);

BOOL PRNTG(int número_de_la_compuerta);

BOOL PRNTH(int código);

BOOL PRNTO(int código);

BOOL PRNTR(int código);

Page 61: Modelos de Sistemas con Ing. Rafael A. Díaz Chacón U.C.V. III RAD/99

Para ser utilizadas por el usuario

RAD/99

Funciones en Ambiente C

REPORTES DE SALIDA. (II)

BOOL PRNTS( void);

BOOL PRNTT( int código);

BOOL SUMRY(void);

void SU_OUT(BOOL pantalla, BOOL reporte_intermedio, char*formato);

FILE*su_iogetreadfile(char*nombre);

FILE*su_iogetwritefile(char*nombre);

void su_iosetfile (char*nombre, FILE*apuntador_del_archivo, BOOL lectura);

void su_ioclosefile (char*nombre);

BOOL TRACE(void);

BOOL UNTRA(void);

Page 62: Modelos de Sistemas con Ing. Rafael A. Díaz Chacón U.C.V. III RAD/99

Para ser utilizadas por el usuario

RAD/99

Funciones en Ambiente C

ATRIBUTOS AUXILIARES.

BOOL su_auxset(ENTITY*apuntador_de_la_entidad, void*apuntador_auxiliar, int longitud);

void*su_auxget(ENTITY*apuntador_de_la_entidad);

Page 63: Modelos de Sistemas con Ing. Rafael A. Díaz Chacón U.C.V. III RAD/99

Para ser utilizadas por el usuario

RAD/99

Funciones en Ambiente C

VALORES EN LAS TABLAS DE DATOS.

double GETARY( int número_de_la_fila, int número_de_la_columna);

double GGTBL( int número_de_muestras, double*arreglo_X, double*arreglo_Y, double valor_en_X);

double GTABL( int número_de_muestras, double*arreglo_Y, double valor_X, double mínimo, double máximo, double incremento);

BOOL PUTARY( int número_de_la_fila, int número_de_la_columna, double valor);

BOOL SETARY( int número_de_la_fila, double*arreglo_de_valores, int número_de_columnas);

Page 64: Modelos de Sistemas con Ing. Rafael A. Díaz Chacón U.C.V. III RAD/99

Para ser utilizadas por el usuario

RAD/99

Funciones en Ambiente C

ESTADO ACTUAL DE LAS ENTIDADES. (I)

char*NNLBL( ENTITY* apuntador_de_la_entidad);

int NNVNT( ENTITY* apuntador_de_la_entidad);

int NNUMB( ENTITY* apuntador_de_la_entidad);

ENTITY*su_entnew(int tipo, double*atributos_reales, long* atributos_enteros, char*atributos_alfabéticos);

void su_entterminate(ENTITY* apuntador_de_la_entidad);

ENTITY* su_entclone(ENTITY* apuntador_de_la_entidad, int tipo);

ENTITY* su_entcurrent(void);

int su_entnumber(ENTITY* apuntador_de_la_entidad);

Page 65: Modelos de Sistemas con Ing. Rafael A. Díaz Chacón U.C.V. III RAD/99

Para ser utilizadas por el usuario

RAD/99

Funciones en Ambiente C

ESTADO ACTUAL DE LAS ENTIDADES. (II)

int su_enttype(ENTITY* apuntador_de_la_entidad);

STIME su_enttime(ENTITY* apuntador_de_la_entidad);

int su_entwhere(ENTITY* apuntador_de_la_entidad);

double*su_entrealattrib(ENTITY* apuntador_de_la_entidad);

long*su_entlongattrib(ENTITY* apuntador_de_la_entidad);

char*su_entstringattrib(ENTITY* apuntador_de_la_entidad);

void su_entsetattrib(ENTITY* apuntador_de_la_entidad, double*atributos_reales, long* atributos_enteros, char*atributos_alfabéticos);

void su_entsettype(ENTITY* apuntador_de_la_entidad, int tipo);

Page 66: Modelos de Sistemas con Ing. Rafael A. Díaz Chacón U.C.V. III RAD/99

Para ser utilizadas por el usuario

RAD/99

Funciones en Ambiente C

ASIGNACIÓN DE MEMORIA.

void*su_memalloc(int tamaño);

void su_memfree(void*apuntador);

void su_memcalloc(int número, int tamaño);

void*su_memrealloc(void*apuntador, int tamaño);

char*su_memstrdup(char*tamaño);