You are on page 1of 25

Modelado Intermedio

Material del Capítulo 6 de Simio y Simulación:


Modelado, Análisis, Aplicaciones
¿Qué es un Objeto?

• Un objeto es una estructura auto-contenida para el


modelado que define sus características, datos,
comportamiento, interfaz de usuario y animación.
• Los objetos son las estructuras que se usan con
mayor frecuencia para construir modelos.
• Un objeto tiene su propio comportamiento
personalizado que responde a eventos del sistema,
de acuerdo con su modelo interno.
• El comportamiento de un objeto puede extenderse y
modificarese usando logica de procesos.

2
Tres niveles de jerarquía de los objetos en Simio
• Una Definición de Objeto define cómo luce y se
comporta el objeto, y cómo interactúa con otros objetos.
– Consiste de sus propiedades, estados, eventos, vista externa y
lógica.
• Una Instancia de Objeto se crea cuando usted arrastra
(o instancia) un objeto en su modelo.
– Incluye los valores de las propiedades y puede definir uno o más
símbolos
– Toma la definición de objeto para cualquier otro aspecto del
objeto.
• Un Espacio de Trabajo de Objeto almacena le valor
actual de los estados de un objeto.
– Se crea cuando empieza una corrida y en algunos casos se crea
y destruye dinámicamente durante la corrida.

3
Tres niveles de jerarquía de los objetos en Simio
Definición de la Entidad Instancias de la Entidad
Comportamiento Símbolo(s)
Propiedades/Estados Valores de las
Símbolos por defecto propiedades

Adulto Niño

Espacio de Ejecución de la Entidad Dinámica


Valores de estados que pueden cambiar (e.g., salario)
Símbolos que pueden cambiar
ID único
Terminología de Objetos de Simio
• Modelo es otro nombre para una definición de
objeto. Cuando construye un modelo de un sistema
o de un subsistema, construye un objeto y viceversa.
• Un Proyecto es una colección de definiciones de
objeto (modelos). Frecuentemente los objetos de un
proyecto están diseñados para trabajar juntos o de
manera jerárquica.
– La extensión SPFX corresponde a los archivos de proyectos
de Simio.
• Una Librería es una colección de definiciones de
objeto o, en verdad, otro nombre para in proyecto.
Un archivo de proyecto se carga como una librería
con el botón Load Library de la cinta Project Home.
5
Características de los Objetos
• Propiedades (Properties) son valores de entrada que
se especifican cuando coloca (o instancia) un objeto
en su modelo.
• Estados (States) son valores dinámicos que pueden
cambiar durante la corrida del modelo.
• Eventos (Events) son notificaciones que puede lanzar
un objeto en tiempo de corrida para comunicarse con
otros objetos.
• La Vista Externa (External View) de un objeto es la
representación gráfica del objeto en 2D/3D.
• Una Lógica (Logic) de objeto define cómo responde un
objeto a la ocurrencia de eventos específicos.
6
Propiedades
• Las propiedades pueden ser de varios tipos, incluyendo:
– Standard – Integer, Real, Expression, Boolean, …
– Element – Material, Statistics
– Object – referencia genérica o específica a un objeto
– Repeat Group – un grupo de las anteriores que se repite
• La definición de una propiedad no puede cambiar
durante la corrida.
• Una expression puede contener variables aleatorias y
estados. Aunque la definición de la propiedad es
“estática”, cada vez que se evalúa puede regresar un
valor diferente.

7
Estados
• Los estados pueden ser de varios tipos, incluyendo:
– Discrete – Valor cambia sólo cuando se indica. Tipos: Real,
Integer, Boolean, DateTime, List o String.
– Level – Puede cambiar continuamente en el tiempo de
acuerdo a una tasa de cambio. La tasa puede cambiar
discretamente.
– Level with Acceleration – Puede cambiar continuamente en el
tiempo de acuerdo a una tasa de cambio y una acelaración. La
tasa y la aceleración pueden cambiar discretamente.

• El valor de un estado puede cambiar durante la corrida.


• Los estados pueden ser escalares o arreglos (10
dimensiones). 8
Propiedades vs Estatdos
• Los estados y propiedades de un objeto Entity son llamados
Atributos de la entidad.
• Una propiedad es estática y no puede cambiar durante una
corrida (aunque el valor que regresa puede cambiar).
Ejemplos:
– Tiempo de procesamiento, tasa esperada de fallas,
velocidad inicial, tamaño esperado de lote, costo por
hora.
• Los estados son dinámicos y pueden cambiar durante la
corrida. Ejemplos:
– Número de entidades procesadas, Número de fallas,
velocidad actual, tamaño de lote, costo actual
• En la definición de un modelo, el estado puede verse como
una variable global.
9
Notación “de punto” de Simio
• Simio utiliza una notación “de punto" para hacer referencia
a los datos de un objeto como sus propiedades y estados.
• La forma general es “xxx.yyy" donde yyy es un componente
de xxx.
• Server1.Capacity.Allocated.Average proporciona la
capacidad asignada promedio del objeto Server1.

10
Fichas
• Una ficha (token) es un delegado de un objeto que
ejecuta los pasos en un proceso.
• Una ficha puede tener sus propios estados y
propiedades.
• Una ficha lleva la referencia al objeto padre y al
objeto asociado
– El objeto padre es la instancia de objeto en la que se
definió el proceso.
– El objeto asociado es el objeto relacionado (difrenet
del padre) que detonó la ejecución del proceso.

11
Entidades
• Las entidades (Entities) son los entes físicos que se
mueven en el sistema (e.g., partes, personas, etc.)
• Parten de un modelo de objeto y pueden tener su
propio comportamiento inteligente. Pueden tomar
decisiones, rechazar pedidos, descansar, etc.
• Las entidades tienen sus defición de objeto como
cualquier otro objeto del modelo.
• Los espacios de trabajo de las entidades se crean y
destruyen dinámicamente. Las entidades se mueven
en una red de nodos y vínculos, en el espacio 3D,
entran y salen de objetos fijos.

12
Procesos
• Un proceso es un conjunto de acciones que ocurren en el
tiempo y que pueden cambiar el estado del sistema.
• En Simio, un proceso se define como un diagrama de
flujo, usando pasos (steps) que son ejecutados por fichas
(tokens) y pueden cambiar el estado de uno o más
elementos (elements).
• Los pasos ejecutan acciones como:
– Espera (delay) por un tiempo dado.
– Captura (seize) o liberación (release) de un objeto.
– Espera (wait) por la ocurrencia de algún evento.
– Decidir (decide) con base en alguna condición.
– Transferir (transfer) una entidad a una estación.
Aplicaciones de los Procesos

• Los procesos pueden usarse para introducir lógica


y los modelos pueden construirse totalmente con
objetos, procesos o una combinación de ambos.
• Los objetos permiten un modelado rápido y los
procesos permiten flexibilidad.
• Todos los objetos de la Standard Library se han
construido utilizando procesos.
• Los procesos pueden usarse para insertar lógica
en cada instancia de los objetos de la Standard
Library.
Tipos de Procesos
• Un standard process es un proceso definido por
Simio que se ejecuta automáticamente al correr un
modelo. Por ejemplo, el proceso the OnInitialized se
ejecuta para cada objeto al inicio de la corrida.
– Un decision process es un standard process usado por
Simio para que un objeto responda una decisión True/False
(e.g., ¿me puedes transportar?).
– Un decision process no puede experimentar una demora.
• Un add-on process se incorpora en un objeto para
permitir la inserción de lógica personalizada.
• Un event-triggered process es un proceso definido
por el usuario que se detona con la ocurrencia de
algún evento (e.g., Input.Entered).
Procesos Complementarios (Add-On)

• Agregan funcionalidad a un
objeto sin alterarlo.
• Lea la descripción para
determinar el mejor punto
de lanzamiento.
• Los procesos “residen” en el
objeto padre
Resumen de Procesos
• Pasos (Steps) (ejecutados
por fichas)
– Propiedades
• Elements (referenciados en
los pasos)
– Propiedades
– Estados
– Eventos
• Fichas (Tokens)
– Propiedades
– Estados
Objetos y Recursos
• Los objetos tienen un recurso con capacidad fija o
programada.
• Cualquier objeto puede capturar capacidad de otro y
usar a éste como un “recurso”.
• Los objetos mantienen una cola ordenada de los otros
objetos que esperan para capturar su capacidad.
• Cuando se libera capacidad de un objeto, ésta se
reasigna tomando al primer objeto de la cola o
seleccionando de entre los objetos que esperan.
• Se producen estadísticas automáticas de capacidad.
• Interacción inteligente con los otros objetos que
tratan de capturarlo.
Estados de un Recurso

19
Modelo 6-1: Análisis de Colas del
Ensamble de PCB

• Utilización de Montaje = 10/15 = .667


• Utilización de Inspección = 10/20 = .500
• Sistema es estable

20
Model 6-1: Modelo en Simio del Ensamble
de PCB

• Colocar un objeto Source, dos Server y dos Sink.


• Colocar un objeto Default Entity.
• Cambiar los nombres de los objetos (incluyendo la entidad)
como se ilustra en la figura.
• Unir los objetos con vínculos del tipo Connector. 21
Modelo 6-2: Ensamble de PCB – Reparación

• Agregar Reparacion, programas de trabajo y fallas de


máquina.
• Recolectar estadísticas de Tiempos de Proceso en
Montaje.
22
Modelo 6-2: Ensamble de PCB – Programas
• Agregar programa de Inspeccion
– Tres turnos de 8-horas c/u con 1 hora de refrigerio
• Agregar programa de Reparacion
– Un turno de 8-horas con 1 hora de refrigerio

23
Modelo 6-2: Ensamble de PCB – Fallas

24
Modelo 6-2: Ensamble de PCB – Fallas

25

You might also like