Arena

3
En arena es posible asignar atributos a entidades usando variables, la diferencia entre atributos y variables es cuando un atributo queda asignado a una entidad y se convierte en una característica de cada entidad en el sistema. Las variables no son entidades específicas y pueden ser usadas o referida a cada momento en el tiempo. Arena tiene su forma especial de tratar con atributos y variables y es muy importante entender esto, especialmente en casos donde se ven flujos en el separar o juntar entidades. Para dejar clara esta explicación usaremos este ejemplo: En un hospital algunos clientes necesitan hacer un test de sangre y los resultados de este test estarán añadidos al diferente documento en un diferente departamento dondo este documento será guardado. Esto significa que parte del documento será llevado al departamento del test de sangre y cuando se tengan los valores de la sangre y sean reportados, el documento será juntado con el resultado de los valores de la sangre y el documento podrá ser guardado. El documento que no tenga que esperar por el test de sangre será guardado directamente. 50% de los clientes necesita someterse a un test de sangre. El modelo Arena esta mostrado en la siguiente figura.

description

ejemplo variables arena

Transcript of Arena

En arena es posible asignar atributos a entidades usando variables, la diferencia entre atributos y variables es cuando un atributo queda asignado a una entidad y se convierte en una caracterstica de cada entidad en el sistema. Las variables no son entidades especficas y pueden ser usadas o referida a cada momento en el tiempo.Arena tiene su forma especial de tratar con atributos y variables y es muy importante entender esto, especialmente en casos donde se ven flujos en el separar o juntar entidades. Para dejar clara esta explicacin usaremos este ejemplo:En un hospital algunos clientes necesitan hacer un test de sangre y los resultados de este test estarn aadidos al diferente documento en un diferente departamento dondo este documento ser guardado. Esto significa que parte del documento ser llevado al departamento del test de sangre y cuando se tengan los valores de la sangre y sean reportados, el documento ser juntado con el resultado de los valores de la sangre y el documento podr ser guardado. El documento que no tenga que esperar por el test de sangre ser guardado directamente. 50% de los clientes necesita someterse a un test de sangre. El modelo Arena esta mostrado en la siguiente figura.

Documento va desde Dossiers hasta Blood test?, en Blood test? El 50% va directamente al almacn donde es guardado el otro 50% donde sern guardados y el otro 50% ser sometido a un test de sagre (XOR Split). En el bloque Department un atributo con el nmero del departamento ser asignado al documento. Luego el bloqye Split crear una copia idntica al original (Con los mismos atributos). Despues que el bloque del proceso Blood Test los resultados del test de sangre sern asignados y luego del bloque Merge se juntaran dos en uno. Luego el documento se guarda en el bloque Finished.Ahora el problema con atributos en Arena parte, en el bloque Split dos entidades iguales sern creadas y ambas tomaran el atributo del Department (digamos el nmero 20). Las entidades originales pasarn por el bloque de proceso Blood test y tomaran un valor asignado. Todas las entidades en el sistema tomarn un atributo llamado Department con un valor inicial de 0. Esto no es realmente un problema cuando se simula pero no es muy elegante. El real problema es el bloque Merge, en este bloque dos entidades con el mismo nmero de serial (Automticamente creado por Arena) se juntaran en uno. En este bloque es posible hacer cuatro cosas con el atributo asignado:1) La entidad juntada tomar el valor de la primera entidad que entra al bloque Merge.2) La entidad juntada tomar el valor de la segunda entidad que entra al bloque Merge.3) La entidad juntada tomar la suma del valor de ambas entidades.4) La entidad juntada tomar el producto del valor de ambas entidades.Ninguna de estas cuatro posibilidades es satisfactoria. Esto es por el atributo Department, los atributos juntados solo pueden tomar los valores correctos si uno de las dos posibilidades son usadas, y esto es seguro y se sabe que la entidad que sigue el camino al Blood test y los resultados del Blood test constantemente sern la primera o la ltima entidad.Porque se ha definido variables es vlido para todo el sistema, es muy importante saber que variable ser usada donde y despus usando est en el bloque necesario de creacin. Para casos pequeos con pequeos procesos seguidos esto no es realmente un problema pero para largos y complicados casos se puede equivocar muy fcil. Es importante saber que hay ya un numero de atributos standart en Arena. El problema descrito arriba puede ser evitado solo usando esos atributos. Arena no maneja esos atributos de la mejor manera juntando diferentes flujos. No es siempre posible modelar casos con el uso solo de atributos standart.