Attributes

Attributes are user-defined and built-in variables of model elements whose values can change during the course of a simulation run. For example, in the case of a Batch Activity where Entity release depends on the weight of Entities received in the batch, an Attribute could track the total weight of the items accumulated in the Batch Activity. Another example would be determining the percentage of orders processed within a specified period of time. The Attributes you need to track this include the processing time for each order, the number of orders that meet the promised delivery date, and the total number of orders processed.

Attributes may be used to:

  • Alter the behavior of a Process by changing the value of an attribute during a simulation
  • Communicate information (such as attribute values) between two Processes in a model
  • Store data collected during a simulation run

There are two categories of SIMPROCESS Attributes: built-in System Attributes, which SIMPROCESS automatically creates and updates, and User-defined Attributes, which the user creates. For example, the number of Entities generated for each Entity type (e.g., number of orders) is automatically tracked and stored in a built-in System Attribute named NumberCreated. To track an Attribute such as weight, which SIMPROCESS does not know about, an Attribute called ApplianceWeight could be created.

Some System Attributes can be modified by users. These are called “Get-Set” type System Attributes. Generally, these are variables that control Process parameters such as the number of Entities to batch or amount of time of the next delay. By modifying these System Attributes, the behavior of the simulation can be affected.

System Attributes that cannot be changed include those that monitor statistics, such as the number of Entities generated during the simulation. These are called “Get-Only” type System Attributes. Information on the status of a simulation, such as which Activity is processing an Entity or what type of Entity is being processed, is also available through “Get-Only” System Attributes.

By defining your own set of Attributes, you can begin customizing your model. These Attributes can represent model element Attributes that are not built into SIMPROCESS, such as Entity weight or size, skill level of a Resource, or service level. You define attributes in association with:

  • Entity Types, or Entity instances
  • Processes or Activities
  • Resources
  • The Model

When you define an Attribute, you either tell SIMPROCESS to create an instance of that Attribute for every model element of the same type (e.g., Entities, Resources), or to just create the Attribute for a particular type of model element (Customer Order Entity, Truck Resource). In SIMPROCESS terminology, we say that user-defined Attributes are either globally defined or locally defined. Model Attributes are only globally defined. User-defined Attribute can be designated as Model Parameters.

In summary, System Attributes give you vital information about the simulation and more control over the simulation. User-defined Attributes expand the information level of a simulation, which can be used in a myriad of ways, such as routing of Entities and custom statistics. Both types of Attribute are commonly used in Expressions but also can be used anywhere there is a distribution list by using the Evaluate (Evl) function.