Traducción de Material Capacitación Simio LLC. Se traduce solamente las explicaciones, manteniendo los comandos y nombre de las variables en inglés. www.evirtual.cl - Capacitación
Introducción a los procesos. ◦ Process logic, Steps, Elements, and Tokens.
◦ Procesos Add-on.
Decisions, Statistics ◦ Workshop – Agony Continued
Seize, Delay, Release ◦ Workshop – MRI with Technician
Logic and coordinación. ◦ Ejemplos SimBit
◦ Workshop – Devoluciones en Biblioteca
Un proceso es un conjunto de acciones que ocurren en el tiempo que pueden cambiar el estado del sistema..
En Simio, un proceso está definido como un flujograma usando steps que son ejecutados por un token y puede cambiar el estado de uno o más elementos.
Steps realizan acciones tales como:
◦ Delay por un tiempo especificado.
◦ Seize o release un objecto.
◦ Wait por la ocurrencia de un evento.
◦ Decide basado en una probabilidad o condición.
◦ Transfer una entidad en una station.
◦ ….
con Design/Team Edition los procesos se pueden usar para construir lógicas de modelamiento. Los modelos se pueden construir enteramente con objetos, con procesos, o con una combinación de ambos.
Los objetos permiten un modelamiento rápido y proveen flexibilidad.
La Standard Library de objetos están todos contruídos usando procesos.
Los procesos se pueden usar para insertar lógica especial en la Standard Library en una instancia en base a instancias.
Un token puede tener propiedades y estados.
Un token lleva una referencia a su parent object y al associated object.
Los atribbutos del Associated object puede ser referenciado usando el nombre de la clase; e.g. ModelEntity.TimeCreated
Los atributos del parent object pueden ser referenciados por su nombre; e.g. ProcessTime
Parent Object
Tokens
Associated Object
In the case of entity visits the associated object is the visiting
entity.
If the process is being executed inside the
Server, then the Server would be the parent
object.
Un standard process es un procesos definido por Simio que se ejecuta automáticamente por el motor Simio. Por ejemplo, el proceso OnInitialized es ejecutado por Simio para cada objeto en la inicialización. ◦ Un decision process es un standard process usado por el
motor para pedirle al objeto que entregue una decisión True/False (e.g. Me recogerá?). Decision processes no pueden tener demoras de tiempo.
Un add-on process se incorpora en el modelo de un objeto parapermitir al usuario de ese objeto de insertar una lógica especial.
Un event-triggered process es un proceso definido por el usuario que es activado por un evento que se gatilla dentro del modelo. (e.g. Input.Entered).
Asgrega funcionalidad a un objeto sin cambiar el objeto.
Mirala descripción para determinar el mejor punto de activación.
Procesa “vida” en parent model
Steps (ejecutado por tokens) ◦ Propiedades
Elements (referenciados por los steps) ◦ Properties ◦ States ◦ Events
Tokens ◦ Properties ◦ States
Elements tienen comportamiento definido por Simio que es controlado usando los steps.
Elements tienen propiedades que especifican opciones de entrada.
Elements tienen estados que pueden cambiar con el tiempo.
Elements pueden activar eventos en puntos seleccionados en el tiempo.
Elements son agregados en la Definitions window del modelo.
Nombre Elemento Descripción
Station Define la capacidad restringida al interior de un objeto
Timer Activa una corriente de evento de acuerdo a un IntervalType especificado.
Failure Define el estado de la falla para el objeto parent.
BatchLogic Forma un batch clasificando entidades y adjuntándola a una parent entity.
Storage Define una cola de almacenamiento temporal para una o más entidades en un
orden especificado.
Monitor Activa un evento cuando el estado cambia o cruza un valor especificado.
Network Define una malla de links
RoutingGroup Define la lógiva de enrutamiento para seleccionar un nodo de destino desde una
lista de posibles destinos.
OutputStatistics Define una expresión que se guarda al final de cada réplica.
Statetaistics Registra las estadísticas dependiente del tiempo en una variable de estado
TallyStaistics Mantiene un resumen estadístico para los valores observados registrados
usando un Tally step.
Operation Define una secuencia de actividades que se desarrollan en el tiempo.
Activity Define una actividad que se desarrolla dentro de una operación.
Material Define un material que puede ser producido o consumido y que tiene un Bill of
Material
Steps realizan una acción tal como seize, delay, decide, wait, etc.
Steps no tienen estado.
Steps pueden cambiar el estado de un element/token/entity/object.
Steps están organizados en grupos (Common, All, User-Defined)
Processes tienen un solo Begin y uno o más Ends. Ponga los steps en el gráfico y se arreglan automáticamente. Arrastre un End al punto de entrada de un step. Arrastre un step para moverlo a una nueva ubicación. Seleccione el proceso entero hacieno clic fuera de los steps. Acerque el proceso seleccionado usando las teclas +/- . Copie y pegue un proceso dentro de Simio o en aplicaciones
externas (Special Paste in MS Office). Asigna una Category de proceso el cual se puede expandir o
contraer.
Common Steps
Step Name Acción
Assign Asigna un valor de una expresión a una variable de estado
Decide Envía un token a una de dos puntos de salida según una expresión.
Delay Demora el token por un tiempo específico.
Execute Ejecuta un proceso y puede esperar o continuar
Tally Cuadra un valor en un elemento TallyStatistics específico
Create Crea una nueva entidad
Destroy Destruye la entidad parent o asociada.
Fire Dispara el objeto evento especificado.
Wait Espera por un evento especificado que se dispare
Seize Captura uno omás objetos recursos
Release Libera uno o más objetos recursos.
Transfer Transfiere ña entidad asociada entre objetos y/o lebera espacio o entre
estaciones.
EndTransfer Completa el transfer de la entidad asociada en el objeto y/o estación.
Step Name Acción
Allocate Gatilla manualmente captura de recursos para la parent entity.
Batch Crea un lote con la entidad asociada usando el elemento BatchLogic
Consume Consume una cantidad específica de material.
EndActivity Termina la operación vigente de la entidad asociada.
EndOperation Termina la operación vigente de una entidad.
Fail Especifica el elemento Failure para cambiar a estado falla.
Insert Inserta el objeto asociada o parent en un cola
Interrupt Puede ser usado para interrumpir demoras de procesos.
Produce Produce una cantidad específica de material
Remove Remueve el objeto asociado o parent desde una cola.
Rapair Especifica un elemento Failure para restablecer a estado reparado
Resume Reactiva un proceso suspendido o movimiento del objeto asociado o
parent.
Search Busca una colección de ítemes incluyendo filas de tablas u objetos en
una lista o cola.
SetNetwork Define la malla vigente para el objeto asociado o parent.
SetNode Define el destino vigente para el objeto asociado o parent.
SetTable Define una tabla de referencia y fila para un token u objeto
parent/asociado
StartActivity Inicia una actividad específica para una operación
StartOperation Inicia una operación específica
Subscribe Agrega un nuevo triggering event a un proceso.
Suspend Suspende un proceso o movimiento de un objeto asociado o parent
Unsubscribe Retira un triggered evento para un proceso.
Step Name Action
Arrive Notifies the visit request that the entity has arrived to the requested location.
PlanVisit Search for and accept a ride pickup or visit request as a planned node visit.
SelectVisit Select a planned node visit and set the destination to the selected node.
Step Name Action
Dropoff Drop off a passenger entity at the current node.
Pickup Pickup a passenger entity from the RidePickupQueue at the current node.
SelectDropoff Set the destination to a selected passenger entity in the RideQueue.
Step Name Action
Park* Park the associated or parent entity in the parking area of a node.
Ride Initiate a transporter ride request for the associated entity.
Route Set the destination for the associated entity using a RoutingGroup element.
UnPark* Move the parked parent or associated entity into the crossing area of the node.
VisitNode Execute the OnVisitingNode standard process for the associated entity.
Step Name Action
Disengage Unlock the entity from the link so that it can move independently.
Engage Lock an entity to the current location or nearest cell location on the link.
Entity
Transporter
Node
Link * These steps may also be used by an entity/transporter.
Simio tiene una estructura abierta .NET que soporta user-defined steps and elements.
Steps/elements pueden ser codificados en cualquier lenguaje .NET (e.g. Visual Basic, C#).
User-defined steps tiene sus propias propiedades yson usadas exactamente como steps construidos pero se despliegan en azul.
Statistics ◦ Tallies, Tally
Logic ◦ Decide, Delay, SetNode
Arrive – Adjust – Inspect – Rework (10%).
Marcar rechazosen “rojo”
Permitir máximo de 3 ajustes antes de failed.
Registrar la cantidad de ajustes.
Adjust Inspect
10%
90%
Failed
Passed
Rework
Mejorer el modelo de Agony Airport para registrar las estadísticas de los pasajeros atrasados.
Pasajeros llegan 0.4-1.2 horas (uniform) antes de sus vuelos (e.g. sus vuelos es esa cantidad de tiempo después de pasar por la entrada).
Agregue la lógica al modelo para registrar las estadísticas de la cantidad y la tardanza de los pasajeros atrasados.
Agregar una state variable en ModelEntity llamada FlightTime para almacenar las horas de salida de cada pasajero . Difínalo con un add-on process en el Source en TimeNow más una distribución.
Agregue un Tally Statistic element y Tally step en la variable en Model llamada LateDepartures para almacenar estas mediciones de salida. Defínalo con un add-on process en la Gate (Sink).
Decide FlightTime < TimeNow
Tally TimeNow - FlightTime
ServerA
ServerB
PartA
PartB
Depart
E(3)
E(4) T(1,2,3)
T(1,2,3)
Depot
Repairman
20
50
50
Failures : E(100) Repairs : T(1,2,3)
Use a standard Server to represent an MRI
Use add-on process to require technician for 5 minute setup and 5 minute cleanup in addition to normal processing time.
Patients arrive 1 per hour
Service time is 45 minutes
Partes que llegan visitan los cuatro
servidores usando la ruta menos usada.
Server1
Server4
Server3
Server2
Arrive Depart
From/To Server1 Server2 Server3 Server4
Server1 0 12 16 13
Server2 0 0 14 10
Server3 0 17 0 15
Server4 0 9 8 0
Initial Data
Coloque un Resource llamado Technician
Agregur un proceso en Processing para Seize Technician y Delay por 5 minutos.
Agregue un proceso en Processed para Delay por 5 minutos y Release Technician.
SeizingVehicle ◦ Seize a vehicle for certain parts. Vehicle does normal
transportation otherwise.
OverflowWIP, WorkerUsedForMultipleTasks ◦ Overflow waiting area, secondary resources
TransferLine ◦ Synchronized movement
RecordDistanceTraveled ◦ Incremental statistics
MoveableOperator ◦ Illustrates smart entity behavior (Employee)
Materials son devueltos en un buzón de libros cada .25 minutos (expo).
El bibliotecario solamente procesa cuando hay a lo menos 10 libros esperando, y luego los procesa todos a la vez.
Use un dashboard para graficar la cantidad de libros esperando.
Use Source y Sink para los lobros de llegada y para los guardados respectivamente.
Use Worker para representar al bibliotecario.
Add Process - Evaluating Transport Request ◦ Decide DropBox.OutputBuffer.Contents < 10 &&
Worker.NumberRiders ==0
◦ Assign Token.ReturnValue to -1 (reject)