You are here:Home>Learning Center>User’s Guide>Chapter 3 – Model Elements

User's guide chapter 3 section 1 & 2

Previous: Chapter 2Next: Chapter 4

Chapter 3 – Model Elements

Model Elements chart

3.1 – Data Entry Rules for Names & Numbers

ProcessModel requires names and numbers to be entered following some simple rules. You should be familiar with these conventions to ensure that valid entries are made in your model.

Names

Using descriptive, but short, names is recommended. The name you enter in the properties dialog for a resource, for instance, could be used in Action logic. If the name is too long and cumbersome, entering the logic statements could become tedious. If the name is too short or cryptic, you may not remember what it is later. However, you are free to adopt your own naming convention within the limits of the following rules:

• All letters are case insensitive (“A” is the same as “a”).
• Only the letters A through Z (upper or lower case), the digits (0-9) and the underscores “_” may be used. No other symbols or characters may be used in ProcessModel names.
• Names must begin with a letter of the alphabet or an underscore “_”. (e.g. Item5 or _Item5, but NOT 3_Item).
• Names must be single words (use underscores “_” for spaces).
• DO NOT use hyphens, e.g., High-Color would be invalid.

If no name is assigned to an object, a default name will be assigned. Some words are reserved, using one of these words will result in an underscore being appended to the name.

Numbers

When entering numbers as a constant or within an expression, you should follow these rules:

• Do NOT use commas. The number 2,984.43 should be entered as 2984.43.
• Enter negative numbers using the dash (e.g.-345.23, not (345.23) or )

All values, such as quantity and time values, may be expressed as a number such as 23.5 or 9.25.

3.2 – Entities

Entities are the items or people being processed—e.g., products, documents, customers, etc. An entity is defined by selecting an entity shape from the shape palette, placing it on the layout, and entering any applicable information for that object in the properties dialog.

Entities are represented by graphics you choose from the palette. They will be shown as moving graphics during the process simulation. Using meaningful graphics in the model to represent entities in your real system will allow others to accurately visualize the flow through the process. They are processed at activities and are moved on routings from activity to activity. Entities can have an initial cost and collect additional costs from processing at activities, movement on routings and from the use of resources. There are hundreds of predefined entities in ProcessModel from all major industries.

Any ProcessModel graphic can be used as an entity (activity, resource, storage, link, label). To use a non entity graphic as an entity, double-click on the graphic and change the object type to Entity.

Each pre-defined entity graphic is assigned a number by ProcessModel. These numbers are used only for the NewGraphic statement (see NEWGRAPHIC).

Important information to be aware of ProcessModel contains several predefined entity shapes. Each predefined entity shape has the word ‘entity’ placed in parentheses in the shape name. However, you may also define custom entity shapes.

3.2.1 – General

Properties dialog general processmodel software

Name The name of the entity (e.g. Customer, Product_A, etc.). The entity name is used primarily for decision making and reporting purposes. It is simply a descriptive attribute that may be changed during the simulation and tested for making process decisions. Entity statistics are reported based on the final name of the entity.

Important information to be aware of When you add an additional text label to an entity, place the label on the center of the entity. Otherwise, the entity will appear smaller during simulation.

Statistics: Yes / No This selection determines whether statistical information will be collected, displayed in the scoreboard, and reported in the Output Module for this entity.

 The maximum number of entities that can be displayed in the simulation scoreboard is 12. That number cannot be modified.

Object Type Allows the type of object to be changed from Entity to something else.

3.2.2 – Cost

The identification of cost is optional and has no effect on the behavior of the model.

Properties dialog cost processmodel software

Initial cost The initial value assigned as the cost of each newly created entity (negative 1,000,000 to 1,000,000). Once assigned, the entity cost may be increased automatically during the simulation based on waiting time, activity time, and resource usage. This cost is added to the pre-defined Cost attribute of the entity.

Waiting cost The cost that is added to the entity per hour of waiting time. Cost may range from negative 1,000,000 to 1,000,000. This cost is added to the pre-defined Cost attribute of the entity.

See Also To learn more about costs, see “ProcessModel and Activity-based Costing”.

User's guide chapter 3 section 3 & 4

Previous: Chapter 2 Next: Chapter 4

3.3 – Activities

Activities are the tasks performed on entities—e.g., assembly, document approval or customer checkout. An activity is defined in terms of the activity time as well as any resource requirements. User-defined action logic may also be specified for an activity. Activities have a processing capacity and may have input and output queues associated with them. Resources connected to an activity are captured before the activity takes place and freed after it has ended.

3.3.1 – General

Properties dialog activity general ProcessModel software

Name The name of the activity (e.g. CheckIn).

Capacity The maximum number of entities (1 – 999,999) that can be processed concurrently (either individually or in batch). Scenario Parameters may be used in place of numeric values. INF may be used to represent the largest numeric value allowed (999,999).

Stats on This check box allows you to turn off statistics collection for individual activities in your model. By default, this option remains checked.

Time The time to perform the activity. Any expression including distributions, attributes, or variables may be entered as the time value. If a resource is connected to the activity, the resource is captured before the time is taken. Activity times may also be defined using TIME statements in the Action section of the dialog.

 If an entity is spending more time than expected at an activity where you are using action logic, you likely have time on the General tab AND in a TIME statement in your action logic. If you use a TIME statement in action logic, you should typically set the time on the General tab to 0. Otherwise you will first execute the time in the action logic. Then the time on the General tab will be executed. Thus your two time settings add together.

Input Queue Cap. The capacity of the input queue. The input queue is like a waiting area. If the input queue has available capacity, entities may be routed into it to wait until the activity has available capacity to process the entity. If the queue has no available capacity, entities must wait at the previous activity (or in that activity’s output queue) until capacity becomes available in the input queue or the activity (0–999,999). Scenario Parameters may be used in place of numeric values.

Output Queue Cap. The capacity of the output queue. The output queue is like a waiting area where entities will wait for available capacity at the intended destination (0–999,999). Scenario Parameters may be used in place of numeric values.

Object Type Allows the type of the object to be changed to something other than an activity. For instance, you may want to change an activity object into a storage or resource.

3.3.2 – Batching

The batching tab allows you to hold entities in queue until a specified quantity is reached. For example, parts might be held in front of a heat treating oven until a specified quantity is reached. The group of part is moved into the oven and the entire batch is heat treated for a specific time. The batch is then moved out of the oven. This batching is performed to increase the efficiency of an expensive resource allowing it cycle only when it has a full load.

When the batch is created in the input queue, one entity is moved into the capacity for processing (the batch). The processing time will be for the batch. If the batch is created in the output queue, then the routing time will be for one entity (again the batch).

A basic explanation of how ProcessModel works may prove helpful. When the batch quantity is reached, all entities are then attached to a new entity (the batch). You may change graphics, set attributes, accumulate cost and assign resources to the new entity. Recognize you are making assignments to the new entity. If the batch is unbatched, the batch entity goes away and the attached entities are removed from the batch and continue on. VA Time accumulated as a batch will be divided among the unbatched entities. Cost added to the batch will also divide to the unbatched entities.

If a resource is assigned (Get) to an entity prior batching, the resource will be trapped in the batch. If you have less resources than the quantity of the batch, the models will be unable to process the request to get the next resource and entities will stop at the Get statement. If a resource is assigned to a batch and is unbatched before the resource is released (Free), the resource will be transferred to the first exiting entity from the batch.

When and unbatch occurs, entities will exit the batch in the same order as they entered the batch.

A batch can consist of other batches. When unbatching, only one level of batch is unbatched at a time.

It is possible to accomplish many other types of batching. For example you could

1. Batch at the end of a shift regardless of quantity – see the model object “short batches”

2. Batch all waiting entities – see the model object “all waiting entities at a specific time”

3. Produce separate batches for different entities — see the model object “group similar entity types”

4. Batch based on multiple criteria — see the model object “smaller quantity because the batch was open too long”

The batch will assume the name of the last entity entering the batch. For example, if you had Car and Truck entities being batched together, and Truck was the last entity to enter the batch, then the batch name would be Truck, regardless of how many of each entity type were contained within the batch. The batched entity name ‘Truck’ can not be change with the ‘New name’  property in the properties dialog.

 Attaching is just creating a batch. So if a batch was -not- created after an attach operation, and you then unbatch, the attached child entities will be detached. However, unbatching should not be used as a detaching method because of the following; When forming a batch, a temporary entity is created and the batching entities grouped together with it. When you unbatch, that temporary entity is destroyed. Therefore, if you unbatch a group of “attached” entities, the parent entity will be destroyed and the child entities will detach and move downstream in the model.

Properties dialog activity batching ProcessModel software

Before Activity

None No batching occurs before the activity. (No Batch Size field appears.)
Batch The activity will batch or group incoming entities (whether or not the entities have already been batched) and process them as a batch. The number batched is defined by the Batch Size field.

Important information to be aware of An input queue with a capacity that meets or exceeds the maximum batch size is required.

Important information to be aware of An Attribute may be used in the Batch Size field to set the number to be batched. The specified batch quantity is evaluated each time an entity is batched. If the entity attribute is less than or equal to the number already waiting to be batched, the batch is formed (with possibly a new size) and released for processing. This allows the specified batch quantity to vary if desirable. It also allows for the creation of short batches.

Unbatch The activity unbatches or ungroups the incoming entity (if the entity has not been batched, the unbatching is ignored) and processes each entity individually.

Rebatch The activity will batch or group the same number of entities back together that were unbatched previously. This means you don’t have to know how many entities were previously unbatched in order to rebatch them—no batch size is required.

Important information to be aware of An input queue with a capacity that meets or exceeds the maximum batch size is required.

After Activity

• None No batching occurs after the activity. (No Batch Size field appears.)
• Batch The activity will batch or group entities (whether or not the entities have already been batched) after the activity has completed processing. The number batched is defined by the Batch Size field.

Important information to be aware of An output queue with a capacity that meets or exceeds the maximum batch size is required.

• Unbatch The activity unbatches or ungroups entities after the activity has completed processing. If the entity has not been batched, the unbatching is ignored. No output queue capacity is required, but without sufficient capacity downstream, processing could be delayed while the unbatching occurs.
• Rebatch The activity will batch or group the same number of entities back together that were unbatched previously or arrived in quantities greater than one (in which case the quantity batched is the quantity of the arrival). This means you don’t have to know how many entities were previously unbatched in order to rebatch them—no batch size is required.

Important information to be aware of An output queue with a capacity that meets or exceeds the maximum batch size is required.

Batch Size Determines the number of entities to be included in each batch. (Used only when batching entities.) An Attribute may be used in the Batch Size field to set the number to be batched. The specified batch quantity is evaluated each time an entity is batched. If the entity attribute is less than or equal to the number already waiting to be batched, then batch is formed (with possibly a new size) and released for processing. This allows the specified batch quantity to vary if desirable. It also allows for the creation of “short batches,” or batches that formed early before the normal size is achieved.

Important information to be aware of Before using batching, consider that your batch may just as easily be modeled as a single entity (see Section 10.3.8, Job Shop Scheduling Opens in a new page). Also, remember that batching may require an input queue or output queue. Follow the directions on the properties dialog. If a queue is needed, make sure it has sufficient capacity to hold an equal or greater number of entities than the expected maximum batch size. Also note that all batches or groups are unbatched when the batched entity exits the model in order to complete statistics collection on each entity. However, if a batch or group has had an entity attached to it during the simulation, ProcessModel will not unbatch that particular batch (or any groups within that batch).

Variable Batch Size

Existing “in process” batch sizes change when variable batch sizes change.

First some definitions. A batch is a group of items that will be processed at one time. In ProcessModel when a number is entered into the Batch Size field, all processing at that activity will stop until the batch size is met. That means that a batch could wait for hour or even days for the batch to reach the specified size. Changing the batch sizes allows the modeler to have control over what to do if the batch size isn’t met and yet the batch still needs to close. For example: at Quest Diagnostics human samples are processed within predefined response times. The economic order size is to process 24 at one time , but when the end of the day arrives and the economic order quantity has not been reached, the order must still be closed even if there is only one specimen in the batch. These undersized batches are called Short Batches.

An entity needs to enter the batching location to trigger the review of the batch size. In other words you can’t cause the release of a batch by simply changing a variable, but the next entity to enter will cause the review of the batch size.

The entities waiting to be batched don’t know anything about the batch size value. They are always released into the batch when the number of waiting entities equals or is greater than the “current” batch size.

For example, suppose your initial batch size is 10 and you have 5 entities waiting to be batched. Then your batch size changes to 6 AND a new entity enters the batching activity. Those 5 waiting entities will be released into the batch as soon as one more entity arrives. They will not wait for a batch quantity of 10.

When Variable Batch Sizes Change

Sometimes a batch size is controlled by an attribute on the entity arriving at the batching location and other times by a variable. Use the method that best suites your needs. See the model object Batching \ Short Batches for an example of how to change the batch size.

3.3.3 – Action

Develop customized behavior for entities at an activity. In addition to the information set in the General tab of the activities properties dialog, logic can be developed to report statistics, control processing, collect information and a host of other items. Variables, entity attributes, systems information and if-then statements allow expansive capabilities to be accessed from the action tab.

Properties dialog activity action ProcessModel software

Action logic is processed when the entity enters the Capacity of an activity, and then entities also process the time entered on the General tab. For this reason, when action logic is used, often a TIME statement is included in the action logic and the General tab time is set to 0.

Action logic does not occur in the Input Queue of an activity. If a situation requires action logic in the input queue, see the model object “Flow control – action logic in the input queue”

For additional information see Section 3.11, Action Logic.

3.3.4 – Cost

The cost tab provides a method of adding cost to each entity as it moves through the process. The cost tab also provides a means for classifying how time is accounted at the activity (VA, NVA, BVA). Other costs may be added by the usage of resources (see section 3.4.3 Resource Costs), routings (see section 3.6 Entity Routing Costs) and the initial costs of an entity (see section 3.2.2 Entity Costs).

The identification of cost is optional and has no effect on the behavior of the model.

Properties dialog activity cost ProcessModel software

Hourly cost Cost added to each entity per hour of time spent performing this activity. Cost values may range from negative 1,000,000 to 1,000,000. Idle time, while waiting for resources, is not counted. This cost is added to the pre-defined Cost attribute of the entity being processed.

Activity cost Cost added to each entity completing this activity. This cost is added to the pre-defined Cost attribute of the entity being processed.

Important information to be aware of If costs are entered as a negative number and final completed production is entered as a positive then a net revenue number can be obtained from the Summary Report. See “Output Summary Reports Opens in a new page” in Chapter 6.2.

Important information to be aware of Resource cost must be a number. Expressions, attributes, variables, or scenario parameters are not allowed.

See Also To learn more about costs, see ProcessModel and Activity-based Costing Opens in a new page.

VA Time How the time for each entity completing this activity is categorized. As an entity is processed its total time in the system will be divided into three categories Value Added, Non-Value Added and Book Value Added. This allows an accurate accounting of how much of the total process time adds value from

VA — Value Added – Time for those work elements that transform the product or service in a way the customer is willing to pay for.

Value adding (VA Time) activities are those which must be done in order to meet the customer’s requirements. Without these activities, the customer wouldn’t get their desired output. To be a value added action the action must meet all three of the following criteria:

1. Necessary to meet customer requirements.

2. Required for or assists in the production of the product or service.

3. Represents an output that the customer is willing to pay for.

Value added time is calculated by summing the entity VA Time. If the VA type is set to BVA Time (Business Value Added) the time in the activity will be associated to another category. Otherwise all entity time is calculated as NVA Time (non value adding).

It’s not always easy to identify which of the three types an activity is. If you don’t understand customer requirements, spotting Real VA will be difficult. Book/Business Value Added is almost always the most contentious to identify. People will tell you “but we have to do that”, usually for reasons lost in time. Perhaps there was once an audit requirement to carry out a check at a step in the process, but does it apply now? Maybe there was a National Standard that stated an activity had to be done, but is it still required? The biggest challenges, in most public sector processes will be: “why are there so many checks, inspections and approvals required?” What value do they really add and can they be eliminated?

NVA — Non-value Added – Adding Time for those work elements that are not used to transform the product or service in a way the customer is willing to pay for.

Non Value Added activities are waste! They don’t contribute to the customer’s requirements and don’t need to be performed. Non value added time is characterized by the following:

1. If eliminated, would not impact the product or service to the customer.

2. Creates waste, extra time, rework.

3. Is performed because of inefficiency elsewhere within the process.

4. Represents a equivalent effort to other activities or adds unneeded steps to the process.

Non value added time is applied to an entity when an entity is in the capacity of an activity AND the VA Type is set to NVA Time.

NVA time is also accumulated when an entity:

* Travels on a route

* Sits in storage

* Waits in an input queue

* Is held by a Wait Until statement

NVA Time is calculated by summing the time an entity spends in the above 5 identified areas. Activities are classified from the customer’s point of view meaning that the value of each action in the process is determined by whether it adds value from the customer perspective—value added—or does not add value from the customer perspective—non-value added. Steps that are required but irrelevant from the customer perspective represent a final classification—business-value added.

BVA — Book-value Added – Time for those work elements that are required to stay in business. Often government required steps will be classified as BVA.

Important information to be aware of The time that an entity spends in the Input queue, Output queue or in route is Non-Value Added.

3.3.5 – Shift

Properties dialog activity shift ProcessModel software

Shift file The name of the shift file which defines the times when this activity can be performed. A default shift file for all activities may be defined in the Options dialog under the Simulation menu.

Browse Allows you to search through one or more directories to locate a shift file.

Interrupt current activity to go off shift or on break Check this option if the current activity is to be interrupted in order to go off shift or on break. If not checked, the shift will interrupt the activity only after it has completed processing the current entity.

Create shift file Opens the shift editor for defining a shift and saving it as an.SFT file. For more information, see Section 3.10.1, Shift Definition.

 Shift with breaks; The breaks are not included in the scheduled hours reported in the Output report. Example: If you have an 8 hour shift with 1 hour of downtime for breaks and lunch, the Schedules Hours would show 7 hours for a 24 hour simulation run length or 35 hours for a 5 day run length.

3.3.6 – Submodel

The submodel tab (shown below) allows you to reference a subprocess chart when you are creating hierarchical models. All activities have a submodel tab in their properties dialog. For more information, see Chapter 7, Hierarchical Modeling.

Properties dialog activity submodel ProcessModel software

Subchart If the activity is to be linked to a subprocess, enter the name of the subchart file defining the subprocess.

Simulate subchart If a subchart is defined, it may be ignored for a particular run by unchecking this option. If checked, information defined for the activity is ignored as control drops to the subchart.

Activate If a subchart is defined, that chart will be opened. If a new name is entered into the Subchart field a new blank model will be created and activated.

 Submodel tab will not show on 50 object licenses.

3.4 – Resources

See Basics 9 – Representing People and Equipment — Resources video tutorial.

Resources are the agents used to perform activities and move entities such as service personnel, operators or equipment. More than one unit of a particular resource may be defined if they are used interchangeably and have the same operating characteristics. Resources may be shared between several activities. If no resource is assigned to an activity, it is assumed that no resource is required.

Resource in ProcessModel simulation software

3.4.1 – General

Properties dialog resource general ProcessModel software

Name The name of the resource (e.g. Worker).

Quantity The number of units of this resource type (1 – 9999). Scenario parameters may also be used. The quantity value is read only once at the beginning of the simulation so using values which change during a simulation (such as variables) cannot be used.

If scenario parameters are used in a resource quantity field, no indicator lights will be displayed during simulation. The only way to have indicator lights show during simulation is to use a numeric value in the resource’s quantity field. The maximum number of indicator lights during simulation for any resource is 12.

Object Type Allows the type of object to be changed from Resource to something else.

3.4.2 – Availability