Sistemas y Modelos
QUE SON MODELOS ?
Tipología de Modelos
Simulación
La simulación es una herramienta de análisis
de sistemas, que se basa en la experimentación sobre modelos de éstos para obtener
las conclusiones.
En este curso nos centraremos en Sistemas
puramente Informáticos
(Bases de datos, Redes de Ordenadores, etc.)
Diseño de un Simulador
Objetivos
Abstracción
Modelo de
Sistema
Sistema Real
Validación
Selección
Paradigma
Datos Reales
Datos Simulados
Programa
Simulación
Codificación
Validación
Lenguaje de Simulación
Modelo
Computacional
Tipos de Modelos
Sistema Real
Experimento real
Modelo físico
Experimento sobre modelo
Modelo matemático
Analítico
Simulado
Estático
Dinámico
(no existe el tiempo)
Continuo
Discreto
Elementos de un Modelo
• Estructura del sistema
(entidades, sus propiedades y relaciones)
• Recursos del sistema
(entidades compartidas)
• Dinámica 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
simulación.
• Diseño Orientado a Objeto (notación UML)
– Clases: agrupan objetos con igual estructura y
comportamiento.
– Objetos: entidades del sistema con identidad propia y
un estado descrito a través de pares atributo  valor.
– Métodos: describen las operaciones sobre los objetos,
ocultando su implementación.
Descripción de Clases
Nombre de clase
Declaración
de
atributos
Declaración
de métodos
(solo cabeceras)
Nodo
+ Id: integer
+ NumProcesados: integer
+ TiempoServicioMedio: float
+ TiempoRestrasoMedio: float
+ PeticionServicio(Paquete)
+ FinServicio()
+ Procesa()
+ EnProceso():bool
+ ColaVacía():bool
+ SiguienteNodo():Nodo
Relaciones entre Clases
Cola
Nodo
Red
EnEspera
+ Creados: integer
+ RetrasoMedio: float
1..N
+ Id: integer
Nodos + Procesados: integer
+ ServicioMedio: float
+ RestrasoMedio: float
+ NMedio: integer
+ Tamaño: float
1..1
+ Encola(Paquete)
+ Desencola():Paquete
1..1
+ CreaPaquete()
...
...
1..N
Siguiente
Origen
Paquetes
Agregación
Paquete
1..1 + Id: integer
Asociación
Herencia
Destino
+ tamaño: integer
1..1
Dinámica del Sistema
• Un suceso representa un cambio en alguna variable de estado
del sistema.
– La creación de un paquete en la red (Red.Creados++).
– El procesamiento de un paquete en un nodo (N.Procesados++).
• Los sucesos puede clasificarse en:
– Sucesos discretos: modificaciones instantáneas de las vbles.
– Sucesos continuos: variaciones infinitesimales de las vbles
(ecuaciones diferenciales).
• Los sucesos además pueden ser deterministas o
estocásticos.
Diagramas de Sucesos
t
A
B
t
A
B
cond
t
A
B
El suceso A planifica B para dentro
de t unidades de tiempo.
El suceso A planifica B para dentro
de t unidades de tiempo solo si se
satisface la condición cond.
El suceso A cancela al suceso B
después de t unidades de tiempo.
(t puede ser una variable aleatoria)
Diagramas de Sucesos
t
A
El suceso A planifica el suceso B
con la probabilidad p, para dentro
de t unidades de tiempo.
B
X=p
B
t1
X=p
1
A
t2
X=p2
X=p3
C
t3
D
El suceso A planifica a B, a C o a D
según la distribución de
probabilidades (p1, p2, p3).
Solo se planifica un suceso.
Diagramas de Sucesos
t
Suceso periódico de ciclo t.
A
t
Sucesos inciales de la simulación.
S
F
AMacro-suceso
D
G
Definición de macro-sucesos.
Recursos
• Un recurso es una parte del sistema que debe
ser compartida por varios agentes.
• Redes de colas de espera.
• El elemento básico es la estación de servicio
con cola de espera.
• Las redes de colas expresan el flujo de los
clientes a través de las estaciones de servicio.
Estaciones de Servicio
Una estación de servicio se caracterizan por:
– Tasa de llegada
– Número de servidores
– Distribución del tiempo de servicio
– Capacidad del sistema
– Política de servicio
Estaciones de Servicio
Servidores
Fuente de
clientes
Cola espera
Diagrama de sucesos (FCFS):
tprep
Tllegada
C2
C1
1
llega
nuevo cliente
C1: M.ServidorLibre( )
C2: not M.Cola_vacía( )
tprep: tiempo preparación
t0
2
solicita
servicio
tprep
Tservicio
ESTACIÓN
3
FCFS
entra en
servidor
4
sale del
servidor
Políticas de Servicio
¿cómo deben procesarse los clientes de una estación?
•
•
•
•
•
•
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 reanudación (preempt)
– No expulsiva
– Expulsiva con reinicialización
Ejemplo 1
Sistema Informático
T1
T2
CPU
T3
T4
D1
D2
Diagrama UML
EstaciónFCFS
Sistema
+ Ntrans: int
+ TMedio: double
+ Niter: int
...
+ Id: int
+ Procesados: int
+ R: double
...
1..1
Cola
EnEspera
+ Nq: int
+ W: double
1..1
+ Encola(Tr)
+ Desencola():Tr
1..N
1..2
ítems
Disco
CPU
Transacción
+ Id: int
+Ttrans: double
Diagrama de colas
D1
CPU
M/M/1
M/M/1
Terminales
D2
M/M/1
Diagrama de sucesos
P1
1
1ª
transacción
2
2ª
transacción
3
3ª
transacción
4
4ª
transacción
P1=1/Niter
P2=(1-P1)/2
P3=(1-P1)/2
D1
Terminales
CPU
P2
P3
D2
Diagrama de sucesos
P1
1
1ª
transacción
2
2ª
transacción
3
3ª
transacción
4
4ª
transacción
D1
4000
14
15
CPU
P2
P3
D2
Diagrama de sucesos
P1
1
1ª
transacción
2
2ª
transacción
3
3ª
transacción
4
4ª
transacción
D1
4000
14
15
C1
5
6
4ms
C2
P2
7
P3
D2
Diagrama de sucesos
P1
1
1ª
transacción
C2
8
2
2ª
transacción
3
3ª
transacción
14ms
C1
4000
14
15
C1
5
6
4ms
C2
9
P2
7
P3
C2
14ms
C1
4
4ª
transacción
10
11
12
13
Ejemplo 2
Videos bajo demanda
3 Discos (10 Gb)
Almacén
de DVDs
Servidor
Torre DVDs
Brazo Robot
CPU:
500 Mhz
512 Mb
...
Internet
Esquema del sistema
Cliente
Cliente
Cliente
COMMON GATEWAY INTERFACE (CGI)
GESTOR DE VÍDEOS
CACHÉ-RAM
3
CACHÉ-DISCO
BRAZO
JUKE-BOX
Descripción de Clases
Nombre de clase
Definición
de
atributos
Gestor de videos
Film
+ número_films: integer
+ Películas: List Film
+ código
+ duración
+ clientes: List Cliente
+ nuevo_film(Film)
+ nuevo_cliente(Cliente)
+ pos_film_cliente(Film, Cliente):Fotograma
+ clientes_en_ pelicula(Film): List Cliente
+ nuevo_cliente(Cliente)
+ dame_cliente():Cliente
...
Definición de métodos
(solo cabeceras)
No es necesario definir los tipos exactos de los atributos y de los métodos,
ya que éstos pertañen al modelo computacional.
Ejemplo
c1
normal(2000ms)
0
Gestor
Vídeos
Brazo Robot
Juke Box
400ms
2
(0, f2(x))
(0, f1(x))
1
(0) Llegada de peticiones
(1) Busca GF en RAM
(2) Busca GF en Disco
c1) ¿película en marcha?
Caché Disco
Caché RAM
Descargar

Sistemas y Modelos