310 likes | 616 Views
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 experimen-tación sobre modelos de éstos para obtener las conclusiones.
E N D
Simulación La simulación es una herramienta de análisis de sistemas, que se basa en la experimen-tació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.)
Objetivos Abstracción Validación SelecciónParadigma Datos Reales Datos Simulados Codificación Validación Lenguaje de Simulación Diseño de un Simulador Modelo deSistema Sistema Real Modelo Computacional ProgramaSimulación
Tipos de Modelos Sistema Real Experimento real Experimento sobre modelo Modelo físico Modelo matemático Analítico Simulado Estático(no existe el tiempo) Dinámico 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.
Nombre de clase Declaración deatributos Declaración de métodos(solo cabeceras) Descripción de Clases Nodo + Id: integer + NumProcesados: integer + TiempoServicioMedio: float + TiempoRestrasoMedio: float + PeticionServicio(Paquete) + FinServicio() + Procesa() + EnProceso():bool + ColaVacía():bool + SiguienteNodo():Nodo
Nodo Red Cola EnEspera + Id: integer + Procesados: integer + ServicioMedio: float + RestrasoMedio: float ... + NMedio: integer+ Tamaño: float + Encola(Paquete) + Desencola():Paquete + Creados: integer+ RetrasoMedio: float + CreaPaquete() ... 1..1 1..1 1..N Siguiente Origen Paquetes Paquete 1..1 + Id: integer+ tamaño: integer Destino 1..1 Relaciones entre Clases 1..N Nodos Agregación Asociación Herencia
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.
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 B t A B cond t A B
El suceso A planifica el suceso B con la probabilidad p, para dentro de t unidades de tiempo. 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 A B X=p B t1 X=p1 t2 C A X=p2 t3 X=p3 D
Suceso periódico de ciclo t. Sucesos inciales de la simulación. Definición de macro-sucesos. Macro-suceso F A D G Diagramas de Sucesos t A t S
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
tprep Tllegada C2 C1 tprep Tservicio 1 2 3 4 lleganuevo cliente t0 solicita servicio entra en servidor sale del servidor Estaciones de Servicio Servidores Cola espera Fuente de clientes Diagrama de sucesos (FCFS): ESTACIÓN FCFS C1: M.ServidorLibre( ) C2: notM.Cola_vacía( ) tprep: tiempo preparación
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
Sistema Informático T1 CPU T2 T3 T4 D1 D2
Cola EstaciónFCFS + Nq: int+ W: double+ Encola(Tr) + Desencola():Tr + Id: int + Procesados: int + R: double ... Sistema CPU Disco Transacción + Ntrans: int+ TMedio: double + Niter: int... + Id: int+Ttrans: double Diagrama UML EnEspera 1..1 1..1 1..N 1..2 ítems
D1 CPU M/M/1 D2 M/M/1 Terminales M/M/1 Diagrama de colas
P1 1 1ª transacción 2 2ª transacción P2 3 3ª transacción P3 4 4ª transacción Diagrama de sucesos D1 Terminales CPU D2 P1=1/Niter P2=(1-P1)/2 P3=(1-P1)/2
P1 1 1ª transacción 2 2ª transacción P2 3 3ª transacción P3 4 4ª transacción Diagrama de sucesos D1 CPU 4000 14 15 D2
P1 1 1ª transacción 2 2ª transacción C1 4ms P2 5 6 7 3 3ª transacción P3 C2 4 4ª transacción Diagrama de sucesos D1 4000 14 15 D2
P1 1 1ª transacción C2 C2 14ms 14ms C1 C1 11 8 12 9 13 10 2 2ª transacción C1 4ms P2 5 6 7 3 3ª transacción P3 C2 4 4ª transacción Diagrama de sucesos 4000 14 15
Videos bajo demanda Almacénde DVDs 3 Discos (10 Gb) Servidor Internet CPU: 500 Mhz 512 Mb ... Torre DVDs Brazo Robot
Cliente Cliente Cliente COMMON GATEWAY INTERFACE (CGI) GESTOR DE VÍDEOS CACHÉ-RAM CACHÉ-DISCO 3 BRAZO JUKE-BOX Esquema del sistema
Descripción de Clases Nombre de clase Film + código + duración + clientes: List Cliente + nuevo_cliente(Cliente) + dame_cliente():Cliente ... Gestor de videos + número_films: integer + Películas: List Film + nuevo_film(Film) + nuevo_cliente(Cliente) + pos_film_cliente(Film, Cliente):Fotograma + clientes_en_ pelicula(Film): List Cliente Definición deatributos 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) Gestor Vídeos Brazo Robot 0 Juke Box 400ms (0, f2(x)) Caché Disco 2 (0, f1(x)) Caché RAM 1 (0) Llegada de peticiones (1) Busca GF en RAM (2) Busca GF en Disco c1) ¿película en marcha?