Sistemas y Modelos QUE SON MODELOS Tipologa de

  • Slides: 30
Download presentation
Sistemas y Modelos

Sistemas y Modelos

QUE SON MODELOS ? Tipología de 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

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 Real Validación Selección Paradigma Datos

Diseño de un Simulador Objetivos Abstracción Modelo de 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

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) •

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

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)

Descripción de Clases Nombre de clase Declaración de atributos Declaración de métodos (solo cabeceras) Nodo + Id: integer + Num. Procesados: integer + Tiempo. Servicio. Medio: float + Tiempo. Restraso. Medio: float + Peticion. Servicio(Paquete) + Fin. Servicio() + Procesa() + En. Proceso(): bool + Cola. Vacía(): bool + Siguiente. Nodo(): Nodo

Relaciones entre Clases Cola Nodo Red + Creados: integer + Retraso. Medio: float 1.

Relaciones entre Clases Cola Nodo Red + Creados: integer + Retraso. Medio: float 1. . N + Id: integer Nodos + Procesados: integer + Servicio. Medio: float + Restraso. Medio: float 1. . 1 + Crea. Paquete(). . . En. Espera + NMedio: integer + Tamaño: float 1. . 1 + Encola(Paquete) + Desencola(): Paquete . . . 1. . N Siguiente Origen Paquetes Agregación Paquete 1. . 1 + Id: integer Asociación Herencia Destino 1. . 1 + tamaño: integer

Dinámica del Sistema • Un suceso representa un cambio en alguna variable de estado

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 A t B B cond A t B El

Diagramas de Sucesos t A A t B B cond A t B 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

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 t 1 X=p 1 A t 2 X=p 3 C t 3 D El suceso A planifica a B, a C o a D según la distribución de probabilidades (p 1, p 2, p 3). Solo se planifica un suceso.

Diagramas de Sucesos t Suceso periódico de ciclo t. A t Sucesos inciales de

Diagramas de Sucesos t Suceso periódico de ciclo t. A t Sucesos inciales de la simulación. S F A D Macro-suceso G Definición de macro-sucesos.

Recursos • Un recurso es una parte del sistema que debe ser compartida por

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

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

Estaciones de Servicio Servidores Fuente de clientes Cola espera Diagrama de sucesos (FCFS): tprep Tllegada C 1 1 llega nuevo cliente C 1: M. Servidor. Libre( ) C 2: not M. Cola_vacía( ) tprep: tiempo preparación t 0 2 solicita servicio C 2 tprep Tservicio 3 ESTACIÓN FCFS entra en servidor 4 sale del servidor

Políticas de Servicio ¿cómo deben procesarse los clientes de una estació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

Ejemplo 1

Ejemplo 1

Sistema Informático T 1 T 2 CPU T 3 T 4 D 1 D

Sistema Informático T 1 T 2 CPU T 3 T 4 D 1 D 2

Diagrama UML Estación. FCFS Sistema + Ntrans: int + TMedio: double + Niter: int.

Diagrama UML Estación. FCFS Sistema + Ntrans: int + TMedio: double + Niter: int. . . + Id: int + Procesados: int + R: double. . . 1. . 1 Cola En. Espera 1. . 1 + Nq: int + W: double + Encola(Tr) + Desencola(): Tr 1. . N 1. . 2 ítems Disco CPU Transacción + Id: int +Ttrans: double

Diagrama de colas D 1 CPU M/M/1 Terminales D 2 M/M/1

Diagrama de colas D 1 CPU M/M/1 Terminales D 2 M/M/1

Diagrama de sucesos P 1 1 1ª transacción 2 2ª transacción 3 3ª transacción

Diagrama de sucesos P 1 1 1ª transacción 2 2ª transacción 3 3ª transacción 4 4ª transacción P 1=1/Niter P 2=(1 -P 1)/2 P 3=(1 -P 1)/2 D 1 Terminales P 2 CPU P 3 D 2

Diagrama de sucesos P 1 1 1ª transacción 2 2ª transacción 3 3ª transacción

Diagrama de sucesos P 1 1 1ª transacción 2 2ª transacción 3 3ª transacción 4 4ª transacción D 1 4000 14 15 P 2 CPU P 3 D 2

Diagrama de sucesos P 1 1 1ª transacción 2 2ª transacción 3 3ª transacción

Diagrama de sucesos P 1 1 1ª transacción 2 2ª transacción 3 3ª transacción 4 4ª transacción D 1 4000 14 15 C 2 C 1 5 6 4 ms P 2 7 P 3 D 2

Diagrama de sucesos P 1 1 1ª transacción C 2 8 2 2ª transacción

Diagrama de sucesos P 1 1 1ª transacción C 2 8 2 2ª transacción 3 3ª transacción 14 ms C 1 4000 14 15 C 1 5 6 4 ms C 2 9 P 2 7 P 3 C 2 14 ms C 1 4 4ª transacción 10 11 12 13

Ejemplo 2

Ejemplo 2

Videos bajo demanda 3 Discos (10 Gb) Almacén de DVDs Servidor Torre DVDs Brazo

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 COMMON GATEWAY INTERFACE (CGI) GESTOR DE VÍDEOS CACHÉ-RAM 3 CACHÉ-DISCO

Esquema del sistema 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 +

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 c 1 normal(2000 ms) 0 Gestor Vídeos Brazo Robot Juke Box 400 ms

Ejemplo c 1 normal(2000 ms) 0 Gestor Vídeos Brazo Robot Juke Box 400 ms 2 1 (0) Llegada de peticiones (1) Busca GF en RAM (2) Busca GF en Disco c 1) ¿película en marcha? (0, f 2(x)) (0, f 1(x)) Caché Disco Caché RAM