Вы находитесь на странице: 1из 30

Sistemas y Modelos

QUE SON MODELOS ?


Tipologa de Modelos

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

Datos Reales Datos Simulados Codificacin

Seleccin Paradigma

Programa Simulacin

Validacin

Modelo Computacional

Lenguaje de Simulacin

Tipos de Modelos
Sistema Real

Experimento real
Modelo fsico Analtico

Experimento sobre modelo


Modelo matemtico Simulado Esttico
(no existe el tiempo)

Dinmico Continuo Discreto

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

Declaracin de mtodos (solo cabeceras)

Relaciones entre Clases


Red
+ Creados: integer + RetrasoMedio: float + CreaPaquete() ...

Nodo
EnEspera

Cola
+ NMedio: integer + Tamao: float

1..N

+ Id: integer Nodos + Procesados: integer + ServicioMedio: float + RestrasoMedio: float

1..1
+ Encola(Paquete) + Desencola():Paquete

1..1
...

1..N
Siguiente Origen Paquetes

Agregacin Asociacin Herencia


Destino

Paquete
1..1 + Id: integer
+ tamao: integer

1..1

Dinmica del Sistema


Un suceso representa un cambio en alguna variable de estado del sistema.
La creacin 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 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

El suceso A planifica B para dentro de t unidades de tiempo.

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

El suceso A planifica el suceso B con la probabilidad p, para dentro de t unidades de tiempo.

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

Suceso peridico de ciclo t.

Sucesos inciales de la simulacin.

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.

El elemento bsico es la estacin de servicio con cola de espera.


Las redes de colas expresan el flujo de los clientes a travs de las estaciones de servicio.

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

Diagrama de sucesos (FCFS):


tprep

Tllegada
C1 llega nuevo cliente

C2

1
t0

2
solicita servicio

ESTACIN FCFS 3
entra en servidor

tprep

Tservicio

4
sale del servidor

C1: M.ServidorLibre( ) C2: not M.Cola_vaca( ) tprep: tiempo preparacin

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

+ Id: int + Procesados: int + R: double


...

+ Nq: int + W: double 1..1 + Encola(Tr) + Desencola():Tr 1..N


tems

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

Videos bajo demanda

3 Discos (10 Gb)

Almacn de DVDs
Torre DVDs Brazo Robot

Servidor
CPU: 500 Mhz 512 Mb ...

Internet

Esquema del sistema


Cliente Cliente Cliente

COMMON GATEWAY INTERFACE (CGI)

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

Definicin de mtodos (solo cabeceras)

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

Brazo Robot Juke Box

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?

Вам также может понравиться