Академический Документы
Профессиональный Документы
Культура Документы
Simulacin
La simulacin es una herramienta de anlisis de sistemas, que se basa en la experimentacin sobre modelos de stos para obtener las conclusiones.
En este curso nos centraremos en Sistemas puramente Informticos
(Bases de datos, Redes de Ordenadores, etc.)
Diseo de un Simulador
Objetivos
Abstraccin
Sistema Real
Validacin
Modelo de Sistema
Seleccin Paradigma
Programa Simulacin
Validacin
Modelo Computacional
Lenguaje de Simulacin
Tipos de Modelos
Sistema Real
Experimento real
Modelo fsico Analtico
Elementos de un Modelo
Estructura del sistema (entidades, sus propiedades y relaciones) Recursos del sistema
(entidades compartidas)
Dinmica del sistema (cambios sobre el estado de las entidades) Condiciones de contorno del sistema
(variables aleatorias del sistema)
Estructura
Variables de estado: Partes del sistema que cambian a lo largo de la simulacin.
Diseo Orientado a Objeto (notacin UML)
Clases: agrupan objetos con igual estructura y comportamiento. Objetos: entidades del sistema con identidad propia y un estado descrito a travs de pares atributo valor. Mtodos: describen las operaciones sobre los objetos, ocultando su implementacin.
Descripcin de Clases
Nombre de clase
Nodo
+ Id: integer + NumProcesados: integer + TiempoServicioMedio: float + TiempoRestrasoMedio: float + PeticionServicio(Paquete) + FinServicio() + Procesa() + EnProceso():bool + ColaVaca():bool + SiguienteNodo():Nodo
Declaracin de atributos
Nodo
EnEspera
Cola
+ NMedio: integer + Tamao: float
1..N
1..1
+ Encola(Paquete) + Desencola():Paquete
1..1
...
1..N
Siguiente Origen Paquetes
Paquete
1..1 + Id: integer
+ tamao: integer
1..1
Los sucesos puede clasificarse en: Sucesos discretos: modificaciones instantneas de las vbles. Sucesos continuos: variaciones infinitesimales de las vbles (ecuaciones diferenciales). Los sucesos adems pueden ser deterministas o estocsticos.
Diagramas de Sucesos
t
A B
t
A
cond
El suceso A planifica B para dentro de t unidades de tiempo solo si se satisface la condicin cond. El suceso A cancela al suceso B despus de t unidades de tiempo. (t puede ser una variable aleatoria)
t
A B
Diagramas de Sucesos
A X=p
t1
X=p
1
B t2
X=p2 X=p3
t3 D
El suceso A planifica a B, a C o a D segn la distribucin de probabilidades (p1, p2, p3). Solo se planifica un suceso.
Diagramas de Sucesos
t
A
AMacro-suceso D G
Definicin de macro-sucesos.
Recursos
Un recurso es una parte del sistema que debe ser compartida por varios agentes.
Redes de colas de espera.
Estaciones de Servicio
Una estacin de servicio se caracterizan por: Tasa de llegada Nmero de servidores Distribucin del tiempo de servicio Capacidad del sistema Poltica de servicio
Estaciones de Servicio
Servidores Fuente de clientes Cola espera
Tllegada
C1 llega nuevo cliente
C2
1
t0
2
solicita servicio
ESTACIN FCFS 3
entra en servidor
tprep
Tservicio
4
sale del servidor
Polticas de Servicio
cmo deben procesarse los clientes de una estacin?
FCFS (o FIFO): First Come, First Served LCFS (o LIFO): Last Come, First Served Round-Robin (RR) Processor Sharing (PS) Service in Random Order (SIRO) Control de Prioridades Expulsiva con reanudacin (preempt) No expulsiva Expulsiva con reinicializacin
Ejemplo 1
Sistema Informtico
T1 T2 T3 T4
CPU
D1
D2
Diagrama UML
EstacinFCFS Sistema
+ Ntrans: int + TMedio: double + Niter: int ... 1..2
Cola
EnEspera
1..1
Disco
CPU
Transaccin
+ Id: int +Ttrans: double
Diagrama de colas
D1
CPU
M/M/1 M/M/1
D2
Terminales
M/M/1
Diagrama de sucesos
P1
1 1 transaccin
2 2 transaccin 3 3 transaccin 4 4 transaccin
P1=1/Niter P2=(1-P1)/2 P3=(1-P1)/2 Terminales CPU
P3 P2
D1
D2
Diagrama de sucesos
P1
1 1 transaccin
2 2 transaccin 3 3 transaccin 4 4 transaccin
4000 14 15
D1 CPU
P3 P2
D2
Diagrama de sucesos
P1
1 1 transaccin
2 2 transaccin 3 3 transaccin 4 4 transaccin
4000 14 15 5 C1 6 4ms C2 7
D1
P2
P3
D2
Diagrama de sucesos
P1
1 1 transaccin
8
C2 C1 9 14ms 10
2 2 transaccin 3 3 transaccin
4 transaccin
4000 14 15 5
C1 6
4ms
C2 7
P2
P3
C1 14ms 12 11
C2
13
Ejemplo 2
Almacn de DVDs
Torre DVDs Brazo Robot
Servidor
CPU: 500 Mhz 512 Mb ...
Internet
GESTOR DE VDEOS
CACH-RAM CACH-DISCO
BRAZO JUKE-BOX
Descripcin de Clases
Nombre de clase Film + cdigo + duracin + clientes: List Cliente + nuevo_cliente(Cliente) + dame_cliente():Cliente ... Gestor de videos Definicin de atributos + nmero_films: integer + Pelculas: List Film + nuevo_film(Film) + nuevo_cliente(Cliente) + pos_film_cliente(Film, Cliente):Fotograma + clientes_en_ pelicula(Film): List Cliente
No es necesario definir los tipos exactos de los atributos y de los mtodos, ya que stos pertaen al modelo computacional.
Ejemplo
normal(2000ms)
0
c1
Gestor Vdeos
400ms
2
(0, f2(x))
Cach Disco
(0, f1(x))
1
Cach RAM
(0) Llegada de peticiones (1) Busca GF en RAM (2) Busca GF en Disco c1) pelcula en marcha?