Collecting Resource Entity Statistics

Resource entities are usually scattered throughout the model during a simulation run. For example, some resource entities might be stored in a Resource Pool block, some might be allocated to controlling entities (that is, they are seized by other entities), and some might be held in a Server or Delay block. The Resource Stats Collector block on the Data and Display template organizes resource entities of interest into resource groups, and it calculates and reports user-defined statistics for a group. For each resource group, resource constraints can be defined in the Resource Stats Collector block to locate and monitor the group’s targeted resource entities during a simulation run. Each defined statistic is computed for all groups, and each statistic can also be defined with its own resource constraints to further limit the computation to a subset of a resource group. For example, suppose you create a resource entity type called DoctorEntity to represent doctors in a medical simulation, and one of the attributes you define on this DoctorEntity entity type is named specialty. Valid values for this specialty attribute might be cardiologist, neurologist, and ENT. You can use the Resource Stats Collector block to calculate statistics for all instances of the DoctorEntity resource entity that have a specialty attribute value of neurologist by defining a Group named Neurologists such that the group members have the value DoctorEntity for the Entity Types field and Attribute Rule specialty==“neurologist”. The Resource Stats Collector block reports its results as a data table, with each group as a data row and each column containing statistics.

One particular statistic that simulation practitioners are often interested in is utilization, which is usually defined to be the percentage of time that a resource is “busy” relative to the time-averaged number of resources available. The definition of a busy resource can vary depending on the system being modeled. For example, “busy” could mean not idle (seized) and in the Functional state. Alternatively, “busy” could just mean seized, as in the banking system model in the section Extending the Banking System Model. The Resource Stats Collector block has a statistic type called %AvgAvail, which can be used to compute utilization statistics. Furthermore, the Resource Stats Collector block is designed so that you can specify your own definition of a “busy” resource when computing utilization statistics. You use the Seized, State, and Attribute Rule fields on the Statistics tab to create your own definition of busy.