Processes
Process
Definición
Un Process (proceso), en Simio, es una secuencia de acciones que pueden o no tomar tiempo y modificar el estado del modelo. Un Process está compuesto por Steps y Tokens. Los procesos se pueden utilizar para personalizar el comportamiento de los objetos de la Standard Library.
Un proceso puede ser activado o desactivado asignando un 1 o un 0 al State MiProceso.Enabled. Si un Process se encuentra desactivado, cualquier intento de ejecutarlo será ignorado. Si la desactivación se realiza mientras existan instancias del Process en ejecución, estas terminarán normalmente.
Ejemplo de un Process en Simio.
Clasificación
Standard Processes
Estos procesos son ejecutados por Simio en puntos específicos de la corrida del modelo, muchas veces como respuesta a eventos internos del software.
Algunos procesos estándar son:
- OnRunInitialized: Este Process es ejecutado cuando el objeto o modelo es inicializado.
- OnCapacityChanged: Este Process es ejecutado cuando la capacidad del recurso ha cambiado.
- OnRunEnding: Este Process es ejecutado cuando el modelo está terminando de correr ya sea por presionar Reset o Stop (en modo interactivo) o porque se alcanzó la condición de término (modo interactivo o de experimentos.
Las opciones disponibles dependerán del objeto en el que se esté trabajando. Para definir un Process de este tipo se puede usar el botón Select Process.
Decision Processes
Estos procesos son un tipo especial de Standard Process. Son utilizados por algunos objetos para obtener un valor utilizado en la toma de una decisión. No pueden tomar tiempo (contener Delays).
- OnEvaluatingSeizeRequest: Utilizado para determinar si el recurso será o no entregado al objeto que lo está solicitando.
Add-on Processes
Los objetos de la Standard Library vienen con una serie de propiedades que permiten asignarle un Process creado por el usuario, para que este sea ejecutado en puntos determinados de la lógica del objeto. Por ejemplo: un objeto Server puede ejecutar un Process cuando va a comenzar el procesamiento de una entidad.
Step
Definición
Los Steps (pasos) son las acciones que se realizan en un Process y permiten definir lógica más compleja que la incluida en los objetos por defecto.
Ejemplo de un Process en Simio. En la imagen se pueden ver los Steps: Decide, Delay y SetNode
Puntos de Salida
Existen Steps que tienen más de un punto de salida (exit point). Algunos de estos son: Create, Find y Decide.
Los Steps pueden usar todos sus puntos de salidas, o estos pueden ser excluyentes. Por ejemplo: el Step Find solo utilizará uno de sus puntos de salida dependiendo de si pudo o no encontrar el elemento que se estaba buscando. El Step Create puede utilizar ambos de forma simultánea, esto se ejemplifica a continuación.
En el ejemplo se representa un modelo simplificado del procesamiento del pedido de un cliente. En este se crea una orden de trabajo, se le asignan valores, y se transfiere al área de producción, finalmente, el Token original sale del Create y va al Tally que registra las cotizaciones que son aceptadas.