An Introduction to Simio® for Arena Users
Simio comes with a Standard Object Library that includes 14 pre-built object definitions that can be used to model a wide range of systems. This library is briefly summarized in the following table.
|Source||Fixed||Creates entities that arrive to the system.|
|Sink||Fixed||Destroys entities and records statistics.|
|Server||Fixed||Models a multi-channel service process with input/output queues.|
|Resource||Fixed||Models a resource that can be used by other objects.|
|Combiner||Fixed||Combines entities in batches.|
|Separator||Fixed||Separates entities from batches.|
|Workstation||Fixed||Models a 3-phase workstation with setup, processing, and teardown.|
|Vehicle||Transporter||Carries entities between fixed objects.|
|BasicNode||Node||A simple intersection of links.|
|TransferNode||Node||An intersection where entities set destination and wait on transporters.|
|Connector||Link||A zero-time connection between two nodes.|
|Path||Link||A pathway between two nodes where entities travel based on speed.|
|TimePath||Link||A pathway with a specified travel time.|
|Conveyor||Link||An accumulating/non-accumulating conveyor device.|
As we will discuss in more detail shortly, each of these object definitions are really just models that define the behavior for the objects. You build object definitions the same way you build any model in Simio. In fact any time you build a model of a system, that model can serve as an object definition. You can then place objects with the behavior defined by that model into other facility models.
Note that the library contains a Link object definition named Conveyor that can represent both accumulating and non-accumulating devices. In Arena a conveyor is a specific construct that is built into the Arena engine and cannot be changed by you as a user. In contrast the Conveyor in this library is an object definition and you can change and modify its behavior as needed by changing its underlying model. The specific conveyor defined in the Standard Object Library supports both fixed and variable spacing and accurately models the merging of entities of various sizes on the conveyor.
Note also that the library contains a Transporter object definition named Vehicle. This particular object definition models a transporter device that can carry multiple items between pickup and drop-off locations. You can create other transporter models that behave differently than the standard Vehicle model; e.g. you could create an object definition for a subway car, AGV, elevator, or bus.
As a Simio user you can create your own object definitions from any of these five classes. For example you might build a set of object definitions for modeling emergency rooms that include a MRI (Fixed), Triage Station (Fixed), Doctors (Entity), Beds (Transporter), Hallways (Link), etc. As we will discuss shortly you can create models for these object definitions from scratch, or you can modify or extend the models for existing object definitions such as those provided by the Standard Object Library.
The "things" that move through the system in Simio are referred to as entities. However the entities in Simio are very different from the entities in Arena. In Arena entities are part of a process model of the system and are completely dumb; their only purpose is to carry information (attributes) and to execute a process. In Simio entities are part of an object model and can have their own intelligent behavior. Entities can make decisions, reject requests, decide to take a rest, etc. Entities have object definitions just like the other objects in the model.
Entities in Arena can have attributes; in fact every entity in an Arena model must have exactly the same attributes. In Simio you can have many different types of entities, and each one may have its own set of Properties and States which carry data and help define its behavior. Unlike Arena, that same principle applies to other constructs as well -every object may have its own set of Properties and States which carry data and help define its behavior.