Simprocess: User's Manual
Simprocess: User's Manual
Simprocess: User's Manual
SIMPROCESS
Release 2.2.1
Copyright © 2000 CACI Products Company
August 2000
Table of Contents
Organization of the SIMPROCESS Documentation Set .............. ix
Part A
SIMPROCESS Functions and Features .................................................... 1
CHAPTER 1
Process Modeling and Analysis with SIMPROCESS................... 3
What is Process Modeling?............................................................. 4
Why Dynamic Modeling?............................................................... 6
What is SIMPROCESS? ................................................................. 7
How Do You Use SIMPROCESS? ................................................ 8
SIMPROCESS Terminology .......................................................... 9
SIMPROCESS Menus .................................................................. 12
CHAPTER 2
SIMPROCESS Basics .................................................................. 49
SIMPROCESS Model Components ............................................. 50
Using the Palette Bar to Create Activities .................................... 55
Generate Activity .......................................................................... 61
Delay Activity............................................................................... 65
Dispose Activity ........................................................................... 68
Defining an Entity......................................................................... 69
Defining Resources....................................................................... 73
Defining a Process ........................................................................ 74
Simulation Setup........................................................................... 77
Running a Simulation ................................................................... 81
Standard Output Report ................................................................ 83
CHAPTER 3
Statistical Modeling Constructs ................................................... 85
Why use a statistical approach? .................................................... 86
Random Number Generation ........................................................ 87
Standard Distributions .................................................................. 88
User Defined Distributions ........................................................... 90
Run Settings .................................................................................. 94
CHAPTER 4
Activity Modeling Constructs....................................................... 97
Entity Related Activities ............................................................... 99
Assemble Activity....................................................................... 100
Batch Activity ............................................................................. 103
Unbatch Activity......................................................................... 105
Gate Activity............................................................................... 106
Synchronize Activity .................................................................. 109
Entity Control Activities ............................................................. 110
Assign Activity ........................................................................... 111
Transform Activity ..................................................................... 113
Branch Activity........................................................................... 116
Branch Connectors...................................................................... 119
Merge Activity ............................................................................ 123
Copy Activity.............................................................................. 124
Split and Join Activities .............................................................. 125
Defining a Split Activity............................................................. 127
Defining a Join Activity.............................................................. 132
CHAPTER 5
Resource Modeling Constructs .................................................. 135
Resources and Simulation........................................................... 137
Defining Resources..................................................................... 138
Defining Resource Requirements for Activities ......................... 142
CHAPTER 6
Graphical Modeling Constructs................................................. 157
Background Text......................................................................... 158
Background Graphics ................................................................. 160
Importing Bitmap Graphics ........................................................ 161
CHAPTER 7
Activity-Based Costing ............................................................... 163
Introduction to Acitivity-Based Costing..................................... 164
Why ABC?.................................................................................. 165
What is ABC? ............................................................................. 166
How Does SIMPROCESS Implement ABC?............................. 167
Benefits of ABC with SIMPROCESS ........................................ 168
How to Use ABC in SIMPROCESS........................................... 169
Setting Up Cost Periods .............................................................. 170
Setting Up Resource Costs ......................................................... 172
Cost Calculations ........................................................................ 175
Displaying ABC Reports ............................................................ 177
CHAPTER 8
Output Reports............................................................................ 181
Standard Output Report .............................................................. 182
Custom Statistics......................................................................... 185
Simulation Results File ............................................................... 195
Part B
Advanced SIMPROCESS Functions and Features.............................. 197
CHAPTER 9
Reusable Templates and Libraries............................................. 199
Library Concepts......................................................................... 200
Defining and Editing Templates ................................................. 202
Editing Templates ....................................................................... 203
Saving a Resource for Reuse ...................................................... 208
Importing Bitmap Graphics For Use As Palette Icons ............... 212
CHAPTER 10
Customizing a Model with Attributes and Expressions ............ 213
Introduction to Attributes and Expressions ................................ 215
Using Attributes in SIMPROCESS ............................................ 218
User Defined Attributes .............................................................. 220
Assign Activity ........................................................................... 230
Variable Resource Usage............................................................ 232
Writing Expressions.................................................................... 234
Evaluate (Evl) Function .............................................................. 240
Expression Activation Events ..................................................... 241
Attribute Value Initialization ...................................................... 246
Example: Batching Entities Based on Weight ............................ 247
User-Defined Functions .............................................................. 257
Dynamic Labels .......................................................................... 258
Summary..................................................................................... 262
CHAPTER 11
More Advanced Model Building................................................ 263
Defining a More Complex Generate Activity............................. 264
Downtime Schedule of Resources .............................................. 280
Part C
Advanced SIMPROCESS Tools............................................................. 299
CHAPTER 12
Advanced Data Analysis............................................................. 301
An Introduction to Data Analysis and Modeling........................ 303
Why Statistical Simulation
Experiments? .............................................................................. 306
SIMPROCESS Statistical Distributions ..................................... 308
CHAPTER 13
SIMPROCESS Database ............................................................311
Commiting Results To The Database ......................................... 312
System, Design, And Scenario ................................................... 313
Database Table Relationships ..................................................... 316
Database Queries ........................................................................ 317
Forms (Graphs) And Reports...................................................... 319
Launch Database Application ..................................................... 321
CHAPTER 14
Graphics Editor Tool .................................................................. 323
Running SIMDRAW .................................................................. 324
Using the Image Editor ............................................................... 327
CHAPTER 15
Experiment Manager ................................................................. 339
Defining Experiments ................................................................. 340
Running Experiments ................................................................. 348
Appendix A
Activity Summary Table ............................................................ 357
Appendix B
SIMPROCESS File Structure .................................................. 361
Appendix C
Statistical Distributions ............................................................. 369
Uniform Distribution .................................................................. 370
Normal Distribution .................................................................... 371
Triangular Distribution ............................................................... 372
Exponential Distribution............................................................. 373
Gamma Distribution ................................................................... 374
Beta Distribution......................................................................... 375
Erlang Distribution ..................................................................... 376
Weibull Distribution ................................................................... 377
Lognormal Distribution .............................................................. 378
Poisson Distribution.................................................................... 379
Hyper Exponential ...................................................................... 380
Uniform Integer .......................................................................... 381
Geometric.................................................................................... 382
Hyperbolic .................................................................................. 383
Appendix D
Statistical Tools Glossary .......................................................... 385
Appendix E
SIMPROCESS System Methods and Examples ...................... 393
System Attributes........................................................................ 393
SIMPROCESS System Methods ................................................ 399
System Method Examples .......................................................... 403
SIMPROCESS Color Table........................................................ 410
Appendix F
Simulation Results File............................................................. 411
Format of the Simulation Results File ........................................ 412
Appendix G
External Event Files.................................................................. 419
General Rules for Event Files ..................................................... 419
Event Record Description ........................................................... 421
Examples..................................................................................... 424
Getting Started
The Getting Started With SIMPROCESS manual is a must for
first time SIMPROCESS users. This manual can also be used
for evaluation purposes. Chapter 1 provides an overview of
Process Modeling and Analysis and the SIMPROCESS
product. Chapter 2 provides system requirements and
installation instructions. Chapters 3 and 4 of the Getting
Started With SIMPROCESS manual provides a tutorial and
Chapter 5 provides a description of the demonstration and
reference models.
User’s Manual
The User’s Manual is distributed in electronic format with
SIMPROCESS. It can be opened directly from the SIMPROCESS
Installation CD, or from the Help/On-line Documentation menubar
option.
The bottom line is that most processes are not well characterized by
deterministic, mathematical models. For a quantified analysis of the
time varying business process, you need a dynamic business process
What is SIMPROCESS?
SIMPROCESS is a hierarchical and integrated process simulation tool
that radically improves your productivity for process modeling and
analysis. SIMPROCESS is designed for BPR and IT professionals of
industrial and service enterprises who need to reduce the time and risk
it takes to service customers, fulfill demand, and develop new
products.
SIMPROCESS
• proposals
• orders
• invoices
• customers
• work-in-process
• patients
SIMPROCESS Terminology
This manual uses the following words and meanings in its description
of SIMPROCESS.
Activities
An Activity is a basic step in a model where an operation is performed
on a entity, possibly using Resources. Examples of activities are
Generate, Delay, and Dispose. An activity may or may not involve
passage of time.
Attributes
Attributes are system and user-defined variables of model elements
whose value can change during the course of a simulation run.
Attributes may be used to:
Connectors
Connectors link Activities and Processes together and are paths used
by entities to flow through the model.
Cycle time
A Entity’s cycle time is the sum of the processing times and delays
it encounters as it travels across the model.
Entities
An entity represents people, goods or information. Most are produced
as a result of a process or activity. Prior to introducing instances of an
entity into the model, an entity type must be defined from the menu.
Hierarchical Processes
The concept of Process provides hierarchical modeling capabilities.
A Process is a collection of Activities and sub-Processes organized as
a model network.
Layout
The layout contains graphical representations of the activities,
processes, and connectors that make up your SIMPROCESS model.
The entities only appear on the layout while the simulation is running.
The layout can be made to resemble the physical layout of a system
or it can be closer in appearance to a flow diagram. It is only the
topology that matters.
Model
A SIMPROCESS model is a representation of the system being
studied. It is not intended to be an exact duplicate of the system, but
rather a simplified version that just captures the relevant features.
Pads
Pads are small triangular graphic objects located along the border of
an Activity/Process. Pads are used for connecting connectors to the
Sub-Process (Alternative)
Alternative Processes define alternative behaviors of a Process. Any
number of alternatives can be associated with a Process, but only one
can be active at any point in time.
Resources
The agents required to perform an Activity are known as Resources.
People, computers, and trucks are all examples of Resources.
Resources may be consumable or reusable.
Simulation
Simulation is defined as the reproduction of the dynamic and random
behavior of a business process with the goal of quantifying some key
characteristics of the business process.
Templates
Templates of Activities, Processes, and Resources can be stored in a
library for reuse.
SIMPROCESS Menus
File Menu
New
File/New creates a new model file. If you already have a model open,
you will be prompted on whether or not you wish to save any changes
to the open model. You can only have one model open at a time.
Open
Save
Saves the model. It is a good idea to save a model any time you make
changes to it, and to save a model under a different name any time you
extensively change a model. SIMPROCESS saves your models with
the extension.spm and at the same time also saves a backup with the
extension .bck. To save a new model or to save an existing model
Save As…
Used to save a model for the first time, or to save a model with a new
name. If you plan on making extensive revisions to an existing model,
it is a good idea to load the model and then give it a new name using
Save As…. You should do this even if you do not think you will be
going back and using the old model. You will often find that after
making revisions to a model you may decide that you have proceeded
down a “blind alley,” and wish that you could go back to your original
model. If you save copies of your models as you make changes it will
give you a way to backtrack, if necessary.
Import
Bitmap File…
SA/BPR File...
This command lets you import a file from SA/BPR System Architect
from POPKIN Software. See the SA/SIMULATOR documentation
for more information on this feature.
Export
Outputs the model to a file in text format for the purpose of portability
between platforms.
Bitmap File…
Creates a bitmap image of the current layout. The bitmap file type will
be the default for the platform you are using: on Windows machines,
it will be a .BMP file; on X-Windows platforms, it will be an .XWD file.
Encapsulated Postscript…
Outputs your model file in a format that can be read by the InConcert
Workflow tool. See the InConcert documentation for more
information on this feature.
Simulation Results...
Activity List...
Print All will write all levels of the model hierarchy to the EPS file.
You can change the Background Color (%) for you intended final use.
For most applications its probably best not to make the Background
Color either white (R=100, G = 100, B= 100) or completely black (R=0,
G=0, B=0). The default values produce a pale gray when printed on
a black and white printer. See the EPS graphic above.
You can shift the EPS image around by entering an Offset From Lower
Left.You might want to do this if you are capturing an image that is
not centered on the layout.
You can change the Orientation of the EPS image. Portrait is the default;
Landscape will rotate the image of the layout 90 degrees in the EPS file.
Print Layout…
Process Documentation…
Model Documentation…
_________________________________________________________
Entity Section
_________________________________________________________
Entity dummyentity
Entity priority
_________________________________________________________
Resource Section
_________________________________________________________
The File menu contains a list of the most recently used models. You
can load any of these models by clicking on its name, without going
through File/Open….
Exit
Quits SIMPROCESS. If you have made edits since you last saved the
current model, you will be prompted to save your model before exiting.
Edit Menu
Cut
Cuts the selected object from the model layout. The cut object is copied
to a temporary storage area and the object may be pasted onto a
different part of the layout using Edit/Paste. Certain objects, such as
Connectors, can only be cleared and cannot be cut.
Copy
Paste
Edit/Paste makes a copy of the object in the temporary storage area and
pastes it onto the layout. If you want to make multiple copies of an
object, you can Paste again and again, without having to make another
copy of the original object.
Duplicate…
Duplicate is a shortcut that copies a selected object from the layout and
then does a paste to a position selected on the layout. This combines
the two preceding commands into one command. This is useful when
you want to quickly copy something on the layout and paste it
somewhere else.
Clear
Select All
Resize
Lets you resize a layout object. You can resize the horizontal and
vertical directions separately if you wish to resize the icon in a non-
proportional way.
Preferences
This menu item lets you set personal preferences for various options
in SIMPROCESS. These preferences take effect after the dialog is
closed. They do not affect items that are already on the layout.
Toolbars
This item lets you turn the Toolbar, Palette, or Colorbar, on or off. You
may wish to turn one or more of them off, if you need more space in
the work area.
Activities
Show Name lets you specify whether you want the name to show on
the layout by default when a new activity is created.
If Show Text Block is turned on, the text blocks for the activities will
be displayed on the layout.
Icon Scale lets you set the default size for new activities. If you are
only going to have a few activities on screen you might set this to a
large value, or if you are going to have many activities you might set
it to a small value.
Pads
Show Name lets you specify whether you want the name to show on the
layout.
Icon Scale lets you set the default size for new pads.
Connectors
Show Name lets you specify whether you want the name to show on
the layout.
Line Width lets you specify the default line width for new connectors.
If line width is zero, Line Style will be active, and the default line style
for new connectors can be set.
Other Preferences
Show Graphic Handles lets you specify whether the resize handles will
be visible when an activity or process is selected.
NOTE
The automatic save does not affect the .bck file. The
.bck file is created or updated when you initiate a save.
See “Save” on page 12 for information on the backup file.
Activity Browser…
The Activity Browser is a handy feature for navigating among and
editing activities. A dialog box lists all the activities and processes
contained in your model. Any name followed by a (+) signifies a
hierarchical process. Double-clicking on the name will expand the
tree diagram, displaying activities and processes underneath. If the
name is followed by (E) then the activity has an expression, and if the
name is followed by (R) then the activity has a resource.
You can select an activity and either Edit the properties of that activity
or Go To the layer in the model layout where that activity resides. Also,
you can search for a specific activity by name, display only the
activities with expressions, expand the complete model hierarchy, and
contract to the highest level of the model.
Properties…
Selecting Edit/Properties… will bring up the Properties dialog box for
the selected item. For an activity this has the same effect as double-
clicking on it (on Windows platforms). You will use this menu item
most often when you want to edit Hierarchical Processes, since
double-clicking on them will show their internal structure, and not
bring up their dialog box.
View Menu
Descend
Descend will take you down one level in the model hierarchy.
Ascend
Go To Top
Activities
Hide
Hides the selected activity. The activity and its connectors to it will
not be visible on the layout.
Show All
Makes all Activities and their connectors visible.
Show Attached
Makes all the Activities that are connected to a selected Activity visible.
Resources
By Activity
View or edit resource usage by activity. The activities with resources
are displayed first. Other activities can be displayed by expanding the
processes.
Activity Names
These menu items only affect the display of activity names. The
changes are not saved with the model.
Show All
Show All makes all activity names visible throughout your model.
Hide All
Hide All makes all activity names invisible throughout your model.
Local
Local shows or hides activity names based on their individual
properties (set with the Properties dialog Show name checkbox). This
is the default setting when you open a model.
Connector Names
Show All
Show All makes all connector names visible throughout your model.
Hide All
Hide All makes all connector names invisible throughout your model.
Local
Pad Names
Show All
Hide All
Local
Zoom In
Zoom In allows you to magnify a section of the layout to see more detail.
After choosing Zoom In, select the area you wish to see in detail by
clicking and dragging the mouse to define a rectangle on the layout.
Zoom Out
Zoom Out is the reverse of Zoom In. It lets you see a larger portion of
the screen layout.
View (1:1)
Fit to Window
Zooms to a size at which the entire model layout, that is, the number
of screens specified in Layout/Size, is visible at one time.
Refresh
Layout Menu
Size…
Sets the size of the work area in terms of the number of “screens.” For
example, if the view were set at 1:1 and the size is two screens, then
there is twice as much work area as is visible.
Background Color
Align…
Center (Vertical) will align the centers of the selected objects along a
vertical line.
Center (Horizontal) will align the centers of the selected objects along
a horizontal line.
Distribute…
This will distribute three or more selected objects so that they are
equally spaced, either in a vertical direction, a horizontal direction, or
about a circle.
The screen shots below show the results of using Distribute on some
unequally spaced objects.
Distribute Pads
If you have added pads to a Hierarchical Process, you can space them
evenly by selecting Distribute Pads.
Group
Ungroup
Breaks up a group into the original components that went into making
the group.
Bring to Front
Send to Back
Sends an object that is at the front of the model layout to the back, to
allow editing of objects that were behind it, so that you can hide the
object behind the other objects.
Snap To Grid
If Snap To Grid is turned on, you can only place objects on the layout
at grid intersections.
Grid Lines
Grid Spacing
Changes the spacing of the grid. Three levels are offered: Fine,
Medium, and Coarse.
Grid Color
Changes the color of the grid to the color selected on the color pallette.
Create Menu
Activities
When you add new Activities to the library, they will be added to this
menu even if you do not add them to the palette.
Processes
When you add new processes to the library, they will be added to this
menu even if you do not add them to the palette.
Define Menu
Entities…
Used for adding, editing, copying and removing Entities to the model.
Resources…
Distributions
Functions…
Seeds…
Attributes
Time Stamps…
Used for adding, editing, copying and removing Time Stamps to the
model. Time Stamps can be used as event logs.
Templates
Used for defining and editing Templates. This option also allows
saving templates to a library or loading a new library.
Model Description…
Simulate Menu
Run Settings…
Simulation Period
The Simulation Period determines how long your simulation will run.
It is given in calendar and time format. Choose an appropriate time
span to see all aspects of your system.
Sets whether or not you wish to have a warmup period for every
replication. If this box is not checked, there will only be a warmup
period before the first replication.
Reset System
Number of Replications
Warmup Length
The Warmup Length is the amount of simulation time that will elapse
before statistical data is collected. You might want to have a warmup
period if you are worried about transient effects, and wish the
simulation to reach a steady state before collecting data.
Timescale
This option has the effect of allowing you to set a timescale so that
events that are too close to each other and events that are too far apart
can be differentiated. Animation time will be lengthened by this value.
The larger the number the farther apart the events.
If you use the default value of 0, no real clock time is spent between
two consecutive simulation events. The simulation clock jumps from
the time of one event to the time of the next event.
Helps you define cost periods for activity based costing calculations.
Animation Settings…
Show Clock
Show Counts
Show Entities
Animation Speed
You can change the Animation Speed to speed up or slow down the
simulation. The fastest value is 5000, and the default is 1000. You
may wish to set this to a smaller value while you are debugging your
model. The smallest value allowed is 1.
Run
Pause
Resume
Stop
Stops the simulation and ends the collection of statistics. You may
choose to save reports from partial runs.
Animation On
Turns on animation that has been turned off with Animation Off, but
does not turn on animation that is turned off in the Animation Settings.
Animation Off
Verify Model
Checks the model to see whether or not all the activities are connected
properly and whether the model can be simulated. If, for example, a
Generate activity is left unconnected, the verification process will alert
you to this.
Report Menu
Define Global Statistics Collection is where you set which statistics you
wish to collect during the model execution. It is described in detail in
Chapter 8–Output Reports, on page 181.
Define Real-Time Plots is where you set which real-time plots you wish
to view during the simulation run. It is described in detail in Chapter
8–Output Reports, on page 181.
Display Standard Report is where you view the results from the
simulation run either in a text editor or a spreadsheet. It is described
in detail in Chapter 8–Output Reports, on page 181.
Commit to Database
Experiment Menu
Define Experiments
Define Experiments is where you setup the experiments you wish to run.
The Access database opens to the Experiment Setup form. It is described
in detail in Chapter 15–Experiment Manager, on page 339.
Tools Menu
The items on the Tool menu are additional features available in
SIMPROCESS Professional.
SimDraw
Stat::Fit
Help Menu
SIMPROCESS Help
Displays a list of main help topics, from which you can gain access
to other parts of the SIMPROCESS Help System.
About SIMPROCESS
SIMPROCESS Basics
• Processes
• Activities
• Entities
• Resources
• Connectors
• Pads
Processes and Activities represent business operations in a
SIMPROCESS model. SIMPROCESS models can be arranged in a
hierarchy, with processes typically encompassing other processes and
activities.
Processes
A set of processes can represent the operation of a business at a
very high level. At this level of the model, you see only an outline
of the business process.
Activities
SIMPROCESS contains a suite of Activities, each reflecting a
different type of action. Actions can be physical or logical.
Entities
Entities are objects that circulate through the model. They represent
things (e.g., parts, deliveries, people) and information (orders, service
requests, etc.) that flow from activity to activity. In the order fulfillment
process, the customer order is an Entity.
Resources
Resources are the agents that add value to entities, or perform work
at activities. For example:
The way to minimize cycle time and activity costs in your business process
is by experimenting with different levels of resources and different costs.
Connectors
Connectors link activities and processes together and are the paths
used by entities to flow through the model.
Pads
Pads are small triangular objects attached to activities and
processes which serve as attachment points for connectors. A single
pad can connect one or (possibly) more connectors. Entities flow in
one direction, entering nodes at input pads and exiting at output
pads.
Putting it Together
When you put it all together, a SIMPROCESS model shows a
business process as a set of Nodes (Processes and Activities)
connected by Connectors. Entities are generated from one or more
Generate Activities, traverse the model, and finally proceed to a
Dispose activity, where they are disposed of. Along the way,
entities pass through other activities, such as Delays and Branches.
You can build a simple model with just three activity objects: the
Generate, Delay, and Dispose activities.
There are some things that are common to most activities, such as
the activity name and resources required by the activity. This
chapter begins with a discussion of the input fields and command
buttons used to define these items. The remainder of the chapter
describes the core SIMPROCESS activities in detail, with
particular attention devoted to the powerful Generate activity and
the entities that it generates.
• Pressing and holding the Shift key while you point and click
on each item.
When you have selected the items you want to delete, press Delete,
or select Edit/Clear from the menu.
• Name is the name you choose to identify the activity you are
creating. This name appears below the activity and it can be
moved on the layout.
For some activities, you can specify either Delay Before Activity
or Delay After Activity. This tells SIMPROCESS whether to
attribute the delay time to the entity when it arrives or after it is
ready to be released.
Naming Activities
Use the Name field to assign a name to the activity you are creating.
This name is shown below the activity icon in the model if you
select the Show Name checkbox.
Choosing an Icon
The Icon field identifies the graphical icon used to represent the
Activity in the model layout.
Every Activity has several icons that you can choose from. The
names of the standard icons differ slightly for each activity, because
they include the name of the activity.
Adding a Comment
Use the Comment field to add a brief comment describing the
purpose of this activity. This field is optional; you do not have to
enter anything. If you type in a comment and later print Process
Documentation or Model Documentation, the comment will be
included in the document. Also, when the activity is selected, the
comment will appear on the status bar.
Description:
Inputs:
Output:
Type: (VA/NVA)
Owner:
_____________________________________________________
Documentation Template
When you have entered all the information you want in the
Document file, save the file before closing the editor. Do not
change the name of the file. SIMPROCESS takes care of file
naming for you.
You can print Document text using the SIMPROCESS Print facility.
Note: The Text Block is best used with blank box icons. Icons with a
bitmap picture on them will not show the Text Block properly.
Getting Help
The Help button displays information about the purpose of the
Activity and the fields and buttons on the current dialog box.
Generate Activity
Generate activities create entities for a model during a
SIMPROCESS simulation. Generally, the first activity you define
in your model is a Generate.
If you have not yet defined any entities in your model, you can do
so using the New Entity command button on this dialog box.
The Interval field defines the time between entity generation events.
You can enter a constant value or a statistical distribution. Entities
are generated at the end of each interval:
Select the distribution. Then, click on the button to the right of the
pull-down arrow.
Depending on which you select from the Time Unit field, time can be
entered as Seconds, Minutes, Hours, Days or Weeks.
Delay Activity
Delay activities, common building blocks found in most models,
have two functions: they represent the passage of time during
simulation, and define the resources required to perform a task. The
cycle time of an entity traversing the model is the sum of the delays
it encounters, i.e., the time spent at the activities in its path, plus any
hold time for a condition to be met, and the wait time for any
resources.
If you know precisely what you want to specify for the duration of
the delay, you can type the value directly in the field. Alternatively,
you can select a value from a pull-down list.
For example, say you define a Delay activity to represent the task of
processing an order. This task takes an average of 30 minutes to
perform, though it may take as little as 15 minutes, or as much as
one hour.
2. Scroll through the list until you find the default definition for
Triangular distributions. It reads:
Tri(0.0,5.0,10.0)
Dispose Activity
A Dispose activity disposes of entities when they are no longer
needed in the simulation. For example, when an order is fulfilled,
its entity is sent to a Dispose.
The Dispose marks the end of an entity’s cycle time for the purpose
of statistic collection (e.g., cycle times and counts).
The Dispose Activity Properties dialog box contains only one unique
field: Maximum Entity Count. You can use this field to set a limit to
the number of entities that can be disposed of at the Dispose during
a simulation. If this limit is reached, the simulation ends. So if you
want to end a simulation after, say, 1000 customer orders are
processed, set Maximum Entity Count to 1000.
Defining an Entity
In your model, you can refer to a particular type of entity or a
particular instance of an entity. When you refer to an entity type,
you are referring to all entities of a particular type, e.g., customer
orders. An entity instance refers to an individual entity (a single
customer order).
different Entity Name and make any other changes you want, and
then click on OK.
Defining Resources
The next thing we will define in our model are the resources
required to process Customer Order entities. To keep things simple,
we will just define one resource, the clerks needed to process
customer orders.
Defining a Process
A SIMPROCESS Process allows you to define processes
hierarchically. In this example, we will define a process that indicates
how customer orders are handled.
To create a Process, select the Process button from the Palette bar,
and then click on the layout.
With the Process icon on the layout, display a dialog box for
defining the Process. Do this by either:
• Selecting the Process icon, and then selecting Edit from the
menu bar, followed by Properties...
Alternative Sub-Processes
A Process may consist of a set of alternative sub-processes. Each
subprocess can represent an alternative implementation of the
process. This allows you to create many variations of a process and
keep them organized in one place.
What you see is a blank layout, except for two pads, an input pad on
the left, and an output pad on the right:
NOTE
Make sure you connect the Input and Output pads on all
Sub-Processes.
Simulation Setup
There are two steps you need to take before running a simulation:
• Set the run time parameters for the simulation, e.g., start and
end dates, number of times to repeat the simulation, etc.
Run Settings
To set run time options for a simulation, select Simulate from the
SIMPROCESS menu, and then click on Run Settings…:
The values you choose for the Start and End fields determine how long
your simulation runs, in calendar time. For example, if you want to
simulate a month of processing, you can specify:
If you do not enter a time, the hours, minutes and seconds fields
default to zero. So in the example above, we could have omitted the
time of day.
NOTE
Remember that if you set Start and End dates for objects in
your model, you must coordinate those dates with the
simulation run dates.
Animation Settings
Show Clock
Show Counts
Show Entities
Animation Speed
You can change the Animation Speed to speed up or slow down the
simulation. The fastest value is 5000, and the default is 1000. You
may wish to set this to a smaller value while you are debugging your
model. The smallest value allowed is 1.
Running a Simulation
To start the simulation running, either click the blue runner icon on
the tool bar, or select Simulate from the SIMPROCESS menu bar,
followed by Run.
1. Asks you if you want to save the latest changes to the model.
2. Checks your model for errors.
If you want to check your model for errors before you try to run a
simulation, choose Verify Model from the Simulate menu, before
running.
The next step is to enter the desired value of the Model Parameter
in the Current Value field. Press the Update button and the new value
will entered in the Value column next to the corresponding
description. If you press Reset, the selected Model Parameter will
return to its default value. The Reset All button, under the Help
button, will set the value of all the Model Parameters back to their
defaults.
Standard Distributions
SIMPROCESS comes with many standard probability distributions
built-in. You can also create empirical distributions from your own
data. The following pages give brief descriptions of the standard
distributions.
Poisson distributions are good models for arrivals, or for any process
in which you know the average number that will happen in a time
period. If you are modeling events that are independent, but you know
on average how many will happen, then use a Poisson distribution.
There is both theoretical and experimental basis for this. The only
parameter you need to know is the mean.
If you are concerned with the time between arrivals, you should use
an exponential distribution, for it can be shown that if arrivals are
Poisson distributed, the times between arrivals are exponentially
distributed. The only parameter you need to specify is the mean.
If you are modeling a random process whose value is not too close
to zero, you might use the normal distribution. This generates the
familiar “bell-shaped curve.” You need to specify the mean and
standard deviation.
If you have a distribution that is skewed, you might choose the log-
normal distribution.
The Weibull and Gamma distributions are useful when you want to
be able to widely vary the shape of the distribution by varying the
parameters you specify. This might be the case if you are using a
SIMPROCESS Expression to implement the distribution.
3. Using the Sample text box, either change the parameters of the
distribution within the parentheses or select the triple dot but-
ton. This button opens a dialog box containing the parameter
descriptions, e.g., Erlang parameters.
Tabular Distributions
Tabular Distributions help you create a statistical distribution from
a table of discrete data points.
You can add and delete rows by clicking on a cell and then
choosing the appropriate button on the right. The row will be
added above the one selected. If you choose the Erase Row but-
ton, entries in the selected row will be erased but cells will not
be shifted up.
You can also populate a table by importing data from a text file
using the Import button.
Run Settings
Simulation Time
Here you will enter the calendar date and time for the start and end
time of your simulation run.
Warmup Length
If a Warmup Length is entered (in hours) SIMPROCESS will start the
collection of statistics for the model run, after the end of the Warmup
Length. This allows you to only gather information on your system
after it has reached "Steady State".
Number of Replications
When your model contains randomness (represented by statistical
distributions) you will want to run the model for multiple replications.
This allows you to average the results and gives you a more accurate
picture of “most likely” outcome of your scenario.
Reports are gathered for each replication and the Total and Average
of all runs.
Timescale
Timescale connects the animation with the simulation clock. If
Timescale is set to 0, the animation will run at its fastest, from event
to event. If Timescale has any value greater than 0, the animation will
pause between events to show the amount of time between them. If
100 is entered here, the animation clock will run approximately 1:1
with real-time. The smaller the number entered, the faster the
animation will run. This feature is useful if you want the animation
to show "bursty" behavior in your model.
Cost Periods...
This option allows you to set the frequency over which the ABC
Reports will be collected. You can also set the name of the currency
that the ABC Reports will use.
Entity Related
These activities coordinate groups of Entities. This category includes:
• Assemble. Receives two or more entities and assembles
them, as specified, into a single entity and releases the entity.
• Branch. Routes entities through different connectors of the
model network.
• Merge. Routes entities from different connectors onto one
connector.
• Batch. Stores entities until conditions set by the user are met,
and then releases the entities in one batch. The entities
emerge as a single unit, but retain their individual identity.
• Unbatch. Separates a batched entity into its constituent parts
(entities).
• Split. Divides an entity into parent and child entities that can
undergo parallel processing.
• Join. Reunites families of entities that were created in Split
activities
• Transform. Transforms an arriving entity into a different
entity type, and releases one or more entities of the new type.
• Copy. Makes duplicate copies of entities.
• Gate. Accumulates entities until a condition is met, and then
releases a specified number of them. Entities are not
assembled into a single entity.
• Assign. Assigns values to global entity and model attributes
and sets entity priorities.
• Synchronize. Coordinates the release of various entities,
which may be of different types, from different paths.
Resource Related
Unlike other SIMPROCESS activities, these activities affect
resources, not entities:
• Assemble Activity
• Batch Activity
• Unbatch Activity
• Gate Activity
• Synchronize Activity
• Split Activity
• Join Activity
Assemble Activity
The Assemble activity is used to build several entities into a single
output entity. For example, if two approvals and a check are required
to form one “approved loan,” you can use the Assemble activity to
model this process.
Assemble has two input pads, Component and Trigger, and two output
pads, Out and NoMatch, that determine Entity behavior. The
Component pad places incoming entities into a queue until all entities
to be assembled have arrived. If an entity entering the Component pad
is not on the component entity list, it will immediately leave the
Assemble activity through the No Match pad.
The Trigger pad is only relevant if Hold for Trigger is selected as one
of the activity’s options. Entities entering the Trigger pad can trigger
the release of the assembled entities. This way, assembled entities are
only released when an entity, such as a Customer Order, arrives.
Component Entities
A list of component entities to be converted to assembled entities.
Entities on the list are queued until the specified quantity of each entity
type has entered the Assemble activity.
Assembled Entity
The entity type to be released after all component entities have entered
the activity. A combo box provides a list of defined entity types.
Duration
Where you specify the delay time of the activity. The time specified
in the Duration will be applied after the activity. In other words, it will
be reflected in the Cycle Time of the Assembled Entity.
Resources
This command button opens a dialog for specifying the set of
Resources that are required to perform this activity. Refer to Chapter
5–Resource Modeling Constructs, beginning on page 135 for
information on defining resources.
Batch Activity
The Batch activity combines several entities into one entity while
retaining the identity of the original entities. The resultant entity
travels throughout the process as a single entity. At some later time
it can be disassembled into its constituent entities using an Unbatch
activity.
When setting the Duration for a Batch activity, the time specified will
be applied after the activity. In other words, it will be reflected in the
Cycle Time of the Batched Entity.
Unbatch Activity
An Unbatch activity separates a batch entity into its constituents
(children) and then destroys (Disposes) the parent entity. Many levels
of batching are possible. That is, batches can be composed of batches.
The Unbatch activity only disaggregates one level of batch at a time.
When you set the Delay time for an Unbatch activity, the time specified
in the Duration will be applied before the activity. In other words, it
will be reflected in the Cycle Time of the Batched Entity. The time
specified in the Duration will be applied after the activity. In other
words, it will be reflected in the Cycle Time of the Assembled Entity.
Gate Activity
The Gate activity accumulates entities until some number of entities
have been received or until a signal is received from another activity
to release entities. It then sends a designated number of entities out
into the model. Entities are not batched in a Gate activity.
A Gate activity has two pads that determine entity behavior, the Hold
pad and the Trigger pad. The Hold pad, located on the lower left of
the Gate icon, is a queue for incoming entities. Entities that arrive at
that pad are stored here. The Trigger pad, located on the upper left of
the Gate icon, disposes of incoming entities and causes any entities
stored on the Hold pad to be released.
The Gate activity can be used as a buffer or queue to hold material from
one section of the model, until a condition is met in another part of
the model. When that condition is met, a trigger entity is sent to the
Trigger pad of the Gate Activity.
For example, say that customer orders are printed out and sent on to
the shipping department on an hourly basis. This could be reflected
in the model by a Gate activity, which is triggered when it receives
an entity that is generated hourly by a Generate activity.
Rank Method:
• Ranked As: Determines how the entities in queue will be
sorted. LIFO, FIFO, first and last created, high and low
priority, as well as high and low attribute values are
supported.
• Attribute: The User-defined Attribute type used to rank
entities at the gate. This field is only active when Highest or
Lowest Attribute Value First is selected in the Ranked As field.
Threshold Release:
• On/Off: Enables/disables the Threshold Release feature.
Threshold Release is on when the check box is selected.
• Threshold Quantity: The threshold number of entities to
accumulate and release when the Threshold Release is
checked on.
Trigger Release:
• Release All: Release all the accumulated entities when a
trigger entity has been received on the Trigger Pad.
• Quantity: The number of entities to release when a trigger
entity has been received on the Trigger pad. This is used with
the Trigger Release policy. The value can be a constant
integer or can be derived from a statistical distribution.
Synchronize Activity
A Synchronize activity coordinates the release of many entities, which
may be of various types. You specify the number of input/output pads
for a Synchronize activity. Entities arriving at each pad are stored in
separate queues. When each queue has at least one entity, each queue
releases one entity to its corresponding output pad.
• Assign activity
• Transform activity
• Branch activity
• Merge activity
• Copy activity
Assign Activity
The Assign activity is one method you can use to provide values to
globally defined attributes. You can also use Assign to change the
priority of an entity.
NOTE
When Entities are contending for Resources, Entities with a higher
priority get to use available Resources first. The higher the number,
the higher the Entity’s priority.
Transform Activity
The Transform activity changes one type of entity into another type.
A single arriving entity can be changed into many output entities (all
of the same type.)
Output Entities
• Quantity. The number of new entities to create. This number
of entities will be generated for every connector emanating
from the activity.
• Entity Type. The type of entity to be released. You can enter
the name of the entity type or select a type from a pull-down
list.
You can select the following options on the Copy Entity Fields and
Attributes dialog box:
If you do not copy the arriving entity’s Priority, the transformed entity
receives the default Priority value defined in the Entity Library. The
initial setting is 1.
You may also wish to copy User Defined Entity Attribute values
associated with the entity. During simulation, different variable types
(Integer, Real, Boolean, and String) can be added to an entity. You can
copy the User Attribute values using any of the usual list box selection
techniques.
Once you are finished entering data, click on OK to leave the dialog
box, confirming your current selections. The Cancel button cancels the
current dialog selections.
Branch Activity
A Branch activity routes entities through different paths of the process
model. It allows you to model a step in your process where a decision
is reached and alternative pathways are selected depending on the
decision.
In the Branch Activity detail dialog, you select the type of branching
criteria to use, such as Probability, Entity Type, and globally defined
Attribute value. But you specify the precise criteria on the Connectors
associated with the Branch.
For example, say the order fulfillment process for new customers
requires a step that is not needed for repeat customers, such as creating
a customer profile. You might use different entities for new customers
and repeat customers and branch on Entity Type. Or you can use a single
Customer Order entity and assume that a certain percentage of
customers are new and a certain percentage are repeats. In that case,
you select Branch Type Probability and then set the probability of each
event on the connectors leading from the Branch output pad:
NOTE
When Entities are contending for Resources, Entities with a higher
priority get to use available Resources first. The higher the number,
the higher the Entity’s priority.
Resources
This command button opens a dialog for specifying the set of
Resources that are required to perform Branch activity. Refer to
Chapter 5–Resource Modeling Constructs, beginning on page 135.
Branch Connectors
Connectors link Activities and Processes together and are paths used
by Entities to flow through the model. They are objects in their own
right with information such as selection probability, user defined
attributes, etc. Connector names can assist in labeling your model, e.g.
the Entity type that can flow across it. If selected, SIMPROCESS will
automatically label Connectors emanating from Branch Activities,
see “Connectors and Branch Activities” on page 120 for details.
Connector Names
The System always assigns a default Connector name, e.g. Conn44.
You should change the Connector name to one that you can identify
later. To change the Connector Name double-click on the current name
in the Name field and type a new one. The AutoLabel check box is
discussed below.
The Auto Label check box applies only to Connectors emanating from
Branch Activities. If selected, the Name will be generated by
SIMPROCESS. SIMPROCESS uses entries in the Connector Detail
dialog box depending on the Entity Type. Table 1, “Connector
Names Using Auto Label,” on page 122 shows the fields used for
each Entity Type and provides an example of the label displayed.
Entity Type —Select the type of the Entities you wish to flow along this
connector from the combo box.
Priority — Enter the Entity priority number to branch on. Values are
from 1 to 100.
Attribute —The first line shows the name and type of the attribute you
selected in the Branch Properties box. Using the next two lines, you
can branch on the equality of numbers, strings, booleans, or branch
on ranges of numbers.
Branch
Activity
Type Connector Properties Used Display Example
Entity Type Type (from Entity type combo Request for Quote
box)
Merge Activity
A Merge activity routes entities from different connectors into one
connector. Merge can be used to TimeStamp all entities or to reduce
the number of “to and from” Connectors to create a more visually
appealing model.
Copy Activity
The Copy activity generates duplicate entities. This is useful when two
different activities require the same information. For example, an
Order may need to go to Accounting and Manufacturing at the same
time.
The Split activity generates child entities from the parent entity. The
children and the parent entity are said to belong to the same family.
After going their separate ways, the family is reunited at the Join
activity, where a single entity exits for continued processing.
In the order fulfillment process, Split and Join might come into play
in the handling of rush orders. To speed up processing of rush orders,
you might divide the work among several clerks at some point:
In the figure above, a Split activity takes a customer order entity and
releases three entities, the original and two children. Each entity goes
to a different activity, where a different task is performed on the order.
The upper output pad is named Clones; the lower pad is named
Original (if you double-click on the pads, you will see their names in
the Pad Detail dialog box).
Use the Original pad to route the original entity to the next activity
in its path. Use the Clones pad to route each of the split entities to their
next activities. You can release an unlimited number of split entities
of different entity types at a Split activity, but all entities emerge from
the same pad; you cannot add a third output pad.
You first draw a single connector from the Original output pad to an
adjoining activity’s input pad. Then, connect the Split output pad to
the other adjoining activities.
The Original pad of the Split activity is connected to the input pad of
the Update Database activity, so the original customer order entity
flows through Update Database.
Click on the Entity Type pull-down box for a list of the entities in your
model. Select the entity that you want to flow along this connector.
For analysis purposes, consider using a different name for the children.
For example, if you use a Customer Order entity for each of the paths
leading from the Split activity, and all split entities meet again at the
Join activity, the two split entities are destroyed at the Join, while the
original entity continues on. When total cycle time for customer order
entities is calculated at the end of a simulation, those split entities skew
the statistics.
Cycle times for the split entities are measured from generation in the
Split activity to termination in the Join activity, while the original
entity’s cycle is measured from a Generate to a Dispose activity.
In the case of Rush Order Processing, we do not want to skew the cycle
time or entity count statistics for Customer Order entities, so we define
an entity named Temp and use it on the Split connectors.
Note that using an entity named Temp for split entities is adequate if
you are not interested in any simulation statistics of these entities. If
you are interested in the number of each split entity generated during
a simulation, or any other entity statistic, define a different entity type
for each Split path.
Like the Split activity, the Join activity icon has one input pad and two
output pads. The upper output pad is named Joined; entities that are
reunited with their family exit through this pad. The lower pad is
named NoMatch; entities that are not members of the Join family leave
through this pad.
What happens if an entity that is not a member of the Rush Order family
enters the Join activity? It will simply pass through the Join activity
and exit through the NoMatch pad.
In the Rush Order example, child entities are no longer needed after
the Join.
Note that if you delete any child entities before they reach their Join
activity, the rest of the family still reunites at the Join; if the rest of
the family is already at the Join activity at the moment the child entity
is destroyed, SIMPROCESS releases them.
Defining Resources
Use the Resource option from the Define pull-down menu, to define
resources in a model.
From the Resources dialog box you can define new resources,
modify existing resource definitions, copy resource
definitions, or delete resources:
The Edit, Remove, and Copy functions are only active if there
are existing resource definitions. These functions operate on
the resource selected in the list box:
For this example, define the sales clerk staff, and name the
resource Clerks.
NOTE
Special characters, such as "/", "+", or "-", should not be
used in the Name of a resource. This may cause
SIMPROCESS to not collect statistics for the ABC
Reports.
Units identifies how much of the resource is available.
In this example, assume that there are five clerks on the staff.
Enter the number 5 in the Units field.
Defining all clerks as a single resource implies that the clerks
are interchangeable: each clerk can perform the same tasks as
any other clerk.
If any clerks on the staff have unique capabilities, define those
clerks as separate resources. For instance, say one of your five
clerks is particularly adept at handling irate customers. This
is the clerk you want to handle customer complaints. You can
define that person as a separate resource, named Diplomatic
Clerk, with 1 Unit. Then specify 4 Units for the
interchangeable Clerks resource.
Then number of Units of a Resource can also be specified with
a single line Expression, or a User-defined Attribute. For
more information on these topics, see Chapter 10–
Customizing a Model with Attributes and Expressions,
beginning on page 213.
Fractional Usage indicates whether or not you can allocate
fractional units of the resource. If you check off this box, you
can define a non-integer value for Units (e.g., 2.5, 10.2). It also
means that an activity can acquire a fractional part of the resource.
The Add Template command lets you save the resource you
have defined for re-use. Resource templates are discussed in
in Chapter 9–Reusable Templates and Libraries. This topic
begins on page 199.
The Downtime command lets you define the periods when the
resource will not be available in the model. Resource
downtimes are described in Chapter 11–More Advanced
Model Building. This topic begins on page 263.
Once you have chosen a list of resources for the activity, you can
specify the combination of these resources in the Requires radio
box.
Repeat the same steps for Diesel Fuel, but edit its Usage Rate once it
has been added to the Requirements list. Specify a Usage Rate of 100.
In the real world, one clerk actually takes the order from the customer
and handles it through much of the distribution process.
Here is the process shown in Figure 3 on page 146 with a Get Resource
activity added:
Keep in mind that you are using Get Resource to obtain resources that
you would otherwise obtain in each of the ensuing activities. This
means that you do not define the same resource requirement in those
activities as well.
For example, you need a clerk to process the entity in the Identify
Customer, Create Customer Profile and Access Customer Profile
activities. You account for this resource requirement in the Get
Resource activity. Do not define the same requirement in the Properties
dialog box of each activity.
Add a Free Resource activity after the activity labeled Create Bill.
Double-click on the activity to view its properties dialog box:
You can free all resources that have been allocated for this entity by
clicking on the Release all Allocated Resources box. Often, though, you
will want to specify exactly which resources are to be released.
Assign a Name to the action you are defining. This name will be
displayed in the List of actions field of the Release Activity Properties
dialog box when you finish defining the action.
The Tag and Resource fields work together in defining free resource
actions:
You can select a tag from the listbox, or specify any tag!, in
which case SIMPROCESS may free resources obtained in
any activity the entity has visited.
If you want to release more than one resource, but not all the
listed resources, create a separate action for each resource.
You can add additional actions to the list by clicking on Add and
defining the action.
For example, you define a Get Resource activity that obtains 50 gallons
of Diesel Fuel in anticipation of shipping merchandise to a customer.
Before reaching the shipping activity, the entity enters a branch node
in which the merchandise order is canceled. In this situation, one
branch of the path leads to a Free Resource activity where the
consumable resource is not consumed, since it was not used. The other
path continues on to the shipping activity, and then to a Free Resource
activity in which the fuel resource is consumed.
For example, diesel fuel powers the trucks your company uses to ship
merchandise. When you define the activity in which merchandise is
shipped to customers, you define both a truck and some quantity of
diesel fuel as resource requirements.
After you press OK, the resource definition appears on the list of
Replenishment Actions.
Background Text
There are two types of background text in SIMPROCESS: static text
and dynamic labels. Static text is used for annotating the model layout
and does not change during simulation. Dynamic labels, as their name
implies, are updated during simulation and are used to display
information about changing properties of model elements.
Below the Static Label field, the dialog is divided into two sections:
the top group of controls, designated as Dynamic Label Properties is
only applicable to dynamic text, the bottom group — Font Attributes
— is used to specify properties of both kinds of text.
SIMPROCESS system fonts are vector fonts, which means they can
be scaled on the layout by dragging the handles that appear on the
selection box around the text. Vector fonts are created by choosing
anything other than Native in the Font combo box. The Set… button
will become disabled, but you can still set the color and angle of the
text. Note that vector fonts can be rotated by all angles defined in the
combo box.
Several text labels can be grouped together on the layout and their
horizontal and vertical alignment can be set in the H. Align and
V. Align combo boxes.
Background Graphics
To place a background graphic on the model layout, select the
Background Graphic icon from the palette and move it to the layout.
The Select background dialog will open. Select the icon you wish to
use and select OK to close the dialog. Once the graphic is on the layout,
it can be resized the same as any other icon on the SIMPROCESS
layout.
When you edit the properties of the Background Graphic, you find two
options on the properties dialog, Locked and On Top.
Turning the On Top option on, brings the Background Graphic to the
front of the layout display. In other words, any other SIMPROCESS
constructs you place on the Background Graphic will be hidden behind
it. Typically this option is left off, so that the Process, Activities and
Connectors that you place on the screen will appear on top of the
Background Graphic.
From the File menu, select Import Bitmap File. This will open the Import
Bitmap dialog box.
If the bitmap file was imported for use as an entity icon, it will be on
the list for the Icon field in the Entity Type Properties dialog box. As
with other SIMPROCESS entity icons, you will not be able to resize
the graphic once you have imported it.
Note
Activity-Based Costing
Why ABC?
The goal of ABC is to mimic the causal relationships among resources,
activities, and entities in assigning overhead costs. “The fundamental
belief behind this costing approach is that cost is caused and causes
of cost can be managed. The closer you can come to relating the costs
to their causes, the more helpful your accounting information will be
in guiding the management decisions of your business.” states the
Ernst & Young Guide to Total Cost Management (Ernst & Young,
1992).
What is ABC?
Activity Based Costing is a technique for accumulating cost for a given
cost object (i.e. product, service, customer) that represents the total
and true economic resources required or consumed by the object.
Strategic Pricing
Life cycles of product and services are becoming shorter and shorter.
The up-front costs of developing, testing, and marketing are not
recouped until revenue is generated. Understanding the cost trade-off
between life cycle stages is critical to strategically pricing the
products. That is, understanding when the total investment in product
development can be recouped is valuable information for strategic
pricing. ABC with SIMPROCESS allows simulation of the process
changes during the life cycle of a product/service for strategic or time-
based pricing.
Then, click on the Cost Periods button. This will display the Cost
Periods definition dialog as shown below.
The list in the upper left of this dialog shows the currently defined cost
periods. The default periods are Quarter1, Quarter2, Quarter3, and
Quarter4. At the bottom of the dialog, is the Period Frequency selection
list with the default Quarterly selected. Click the down arrow button
to see all of the Period Frequencies that SIMPROCESS offers: Weekly,
Monthly, Quarterly, Half Yearly, and Yearly. Notice that if you select a
new Period Frequency, SIMPROCESS will create a new set of periods
in the period list and assign each a default name (Week1, Week2, ...,
or Quarter1, Quarter2, ...). Notice also that SIMPROCESS will
automatically create and name enough cost periods to span the
currently specified run length. (The simulation Start Time and End Time
are set from the Simulate/Run Parameters option on the menu bar.)
This dialog also allows you to set the name of the Currency used on
the cost reports. This is a simple label used in the reports.
SIMPROCESS provides no currency conversion facilities and
assumes that all cost amounts are in the same currency (dollars,
pounds, deutschemarks, lire, etc.).
If you select a particular cost period and click the View... button,
SIMPROCESS will display the Cost Period detail dialog which shows
the start and end dates and times for the cost period and the name of
the period. You can change the name of each cost period to be more
descriptive in the context of your cost report. For example, you may
wish the cost periods to be called Spring, Summer, Fall, and Winter
rather than Quarter1, Quarter2, etc. Click the OK button to alter the
cost period name or the Cancel button to discard your changes.
To see the Resource Costs definition dialog, first select the Define/
Resource option from the menu bar. Then pick a previously defined
resource from the list for editing or add a new one using the Edit or
Add buttons. This will display the Resource Properties dialog as shown
below:
Click the Cost... button to display the Resource Costs dialog for this
resource. It looks like the following:
The box at the top of this dialog shows the Variable Costs and the box
below shows the Fixed Costs.
The check box at the bottom left-hand corner of the dialog, Collect cost
statistics, is turned on by default whenever cost information is entered.
It is important that you leave this checked on. Otherwise, cost statistics
used in the ABC Reports will not be gathered.
Variable Cost
Three types of variable costs can be specified for non-consumable
resources:
and cost per unit may be 1.50 dollars per gallon. Every time a gallon
of fuel is consumed, it will cost 1.50 dollars.
Fixed Costs
Fixed Costs are defined in the box below the Variable Costs box. You
enter the fixed cost amount in the Per Unit value box and select the time
basis for the cost from the selection list to the right. Machine
depreciation or fixed salaries are common examples of this type of
cost. Let's assume that you want to specify the fully burdened cost
of a set of salaried employees which are represented by this resource
and the cost per employee is $50,000.00 per year. You should enter
50000 in the Per Unit box and select Yearly from the list on the right.
You can see the items on the list by clicking the down arrow to the right
of the list. You will notice that the list contains the same time intervals
that are available for the Cost Period Frequency. These do not have to
be the same in both places. SIMPROCESS will perform all the
necessary conversions automatically.
For example, you can specify annual salaries and run a simulation for
weekly cost periods. SIMPROCESS will convert the annual salary
costs to weekly costs when generating your cost data. After a
simulation is completed, you can see reports of the costs. By choosing
Display ABC Reports from the Reports menu, SIMPROCESS allows
you to specify that fixed costs be fully absorbed for the cost period
(absorption costing) or that the idle time costs be kept out of the
reported costs (capacity costing).
Cost Calculations
When you run a simulation, SIMPROCESS will pause at the end of
each cost period to calculate the period costs. SIMPROCESS tracks
all the activities that used the resource and all of the types of entities
processed in those activities. For each resource that has specified costs
and that is set to calculate costs, SIMPROCESS will distribute the
resource's fixed and variable costs for the period to all of the activities
that made use of the resource during the period. This distribution is
based on the amount of the available capacity used by the activity
during the period. For example, suppose that a resource is used evenly
by two activities and was busy 50% of the time for the cost period.
Further, suppose that during the period each activity processed five
entities, two of type A and three of type B. SIMPROCESS will
calculate the costs for this period as follows:
In general, these steps are completed for all resources in the model that
are set to calculate costs. In this manner, each activity accumulates its
period costs from all of the resources that it actually made use of during
the period. Next, SIMPROCESS will calculate the entity costs based on
these activity costs. After all resource costs are distributed to the activities,
the activity costs are then distributed to each type of entity processed by
the activity, based on the total number of entities processed. These
calculations proceed as follows:
In other words, the pool of activity cost is broken out to each entity
type based on the entity usage of that activity. In the cost report, the
activity cost is displayed for the total number of each entity type, not
for each entity instance. To calculate the entity instance cost, you can
divide the cost for that entity type (the cost number displayed in the
report) by the total number of entities of that type processed (available
in the Standard Report).
List Boxes
Buttons
Display Reports
This button displays the reports for the selected cost objects. Reports
can be displayed as “Sum” or “Detailed”.
Options
Replications
This option allows you to display the cost report for the replication
number selected in the For Replication field.
3. Select the cost objects. Click on the radio button for Sum or
Detail.
References
Michael R. Ostrenga, Terrence Ozan, Robert Mc Ilhattan, Marcus
Harwood, The Ernst & Young Guide to Total Cost Management, John
Wiley & Sons, New York, 1992.
Output Reports
SIMPROCESS defaults to collect statistics for all entities and all resources for
the Standard Report. This default set of statistical measures will be gathered
for every model you run unless you change the statistics selections. In addition,
SIMPROCESS allows you to define custom statistics to gather more specific
information about your model. The entity and resource statistics gathered for
the Standard Report will usually be sufficient when you start working with your
model. As you sharpen the focus of your analysis and your model becomes
detailed, you will add custom statistics to narrow in on the performance
measures you are most interested in.
Further, you can export a Simulation Results file containing all the statistics
gathered from your model in a tab-delimited format, and in SIMPROCESS
Professional you can export your results to a database.
This will open the Display Standard Report dialog. In the Report
Replications list box, (if your model ran for multiple replications) you
can select which individual Replications, the Average of All
Replications run, or the Sum of All Replications run you want to see
performance measures for. Typically, you will want to look at the
Average of All Replications report. Next, select whether you want to
view the Standard Report with a Text Editor (Notepad by default) or
with a Spread Sheet. Now, press the Display Report button to open the
report.
To view the Standard Report with a spread sheet, use the Browse button
to point to its executable, i.e., Excel.exe. Once you have the spread
sheet open, the Standard Report data is best viewed in the left justified
mode and with AutoFit checked for the columns.
• For each Entity defined in the model, Cycle Time and Count
statistics are displayed.
• For each Resource defined in the model, average and
maximum number of units busy is measured and shown as
a percent of capacity.
• ABC (Activity-Based Costing) reports for each Entity
defined in the model include: Total Cost of Processing and
Average Cost per Entity using both Absorption and Capacity
Costing to allocate fixed resource costs.
• ABC reports for each Resource defined in the model include;
Total Cost of Use and Average Cost per Resource using both
Absorption and Capacity Costing to allocate fixed resource
costs. For more detail on Activity Based-Costing see,
Chapter 7–Activity-Based Costing, beginning on page 163.
Attributes are handled differently for the Standard Report. For one
thing, you must turn on the Post Simulation Reports check box on the
Attribute Properties dialog for each attribute that you want statistics
kept. The report will display either Time-weighted or Observation
based statistics depending on which option you choose. Statistics can
be kept for all types of attributes, except Entity Instance Attributes.
Lastly, if the value of an attribute does not change during the simulation
run, its statistics will not be displayed in the Standard Report, even if
Post Simulation Reports is checked on.
that you define will be added to the Standard Report the next time you
run the model. Custom statistics are covered in the next section.
Note
Any models built with SIMPROCESS prior to Release 2.0 will not have
the default performance measures defined on them. The performance
measures displayed on the Standard Report will be those set through the
Define Global Statistics Collection.
Custom Statistics
SIMPROCESS provides you with the ability to add custom statistics
to the Standard Report for analyzing the performance of your business
processes. Such performance measures as cycle time, activity costs,
and resource utilization can be calculated by SIMPROCESS. This
chapter describes the types of statistics available, and how to define,
display, print, and export them.
Entity Statistics
Entity statistics provide detailed information about the numbers of
entities existing in the model during a simulation and the amount of
simulation time (cycle time) that entities require to pass through the
model. SIMPROCESS provides four types of entity statistical reports:
(1) Total Count, (2) Real-time Plots, (3) Entity Count by State, (4)
Entity Cycle Time by State, and (5) Attribute Value. Total Count,
Entity Count by State, and Entity Cycle Time by State are selected
either from the Define Global Statistics Collection dialog by choosing
Collect Entity Statistics or by choosing Collect Entity Statistics when
each entity is defined. If Collect Entity Statistics on the Define Global
Statistics Collection dialog is selected, then the above statistics (other
than Real-time Plots and Attribute Value) will be in the Standard
Report for every entity defined. If only statistics for selected entities
are desired, then the global Collect Entity Statistics should not be
selected, and the Collect Entity Statistics on the Entity Definition
dialog should be selected for the desired entities.
Real-time Plots
If selected, real-time plots display statistics while the simulation is
running. This may slow the simulation but gives you a running view
of the performance metrics during the simulation. If multiple real-time
plots are selected, they will be stacked on top of each other. You may
minimize, maximize, move or resize the real-time plots while the
simulation is running. Real-time plots are selected under the Report
menu item Define Real-Time Plots/Entities.
Cycle Times Plot — This report shows the individual cycle time
measurements for each entity of a given type. One chart is generated
for each entity type that is selected. The chart is updated as each entity
of the given type completes its cycle time. This occurs when the entity
is transformed or disposed in the model. The observation points on the
chart are connected only to improve their visibility and are not meant
to suggest continuity.
Entities in System Plot — This chart shows the individual entity count
measurements (that is, the number of entities that exist in the model)
for each entity type. One chart is generated for each entity type that
is selected. The chart is updated as each entity of the given type is
created and disposed in the model.
Wait for Resource Plot — This chart shows the current number of
entities that are in the waiting for resource state.
Hold for Condition Plot — This chart shows the current number of
entities that are in the holding for condition state that may be associated
with activities such as assemble, gate, and batch.
broken down by three states, namely, waiting for resource, holding for
condition, and in-process. Entity Count will not be collected unless
Collect Entity Statistics (either global or individual) is selected prior
to running the simulation. The results are not available until the
simulation is complete.
Resource Statistics
Resource statistics provide detailed information about the amount of
time resources spend in possible states during a simulation.
SIMPROCESS provides three types of statistics which show various
summaries of the state information for a Resource: (1) Utilization by
State Statistics, (2) Utilization by Activity Statistics, (3) Real-time
Plots, and (4) Attribute Value Statistics. Utilization by State is selected
either from the Define Global Statistics Collection dialog by choosing
Collect Resource Statistics or by choosing Collect Resource Statistics
Real-time Plots
These reports present the simulation generated, instantaneous
capacity allocations for each of the five resource states. The reports
present their data while the simulation is running. This may slow the
simulation but gives you a running view of the resource behavior
throughout the simulation. Real-time plots are selected under the
Report menu item Define Real-Time Plots/Resources.
All report data is shown on an X-Y plot where the (horizontal) X-Axis
represents simulation time and the (vertical) Y-Axis shows the
resource's units. One chart is produced for each selected Resource.
Process/Activity Statistics
Process/Activity Statistics provide detailed information about the
numbers of entities entering and leaving particular Processes/Activities
during a simulation. SIMPROCESS provides seven types of activity
statistics: (1) Cycle Time by State, (2) Real-time Plots, (3) Total Entity
Counts, (4) Entity Count by State, (5) Cycle Time by State by Entity,
(6) Entity Count by State by Entity, and (7) Attribute Values. The
Process/Activity statistics are limited in scope to specific Processes/
Activities in contrast to entity statistics which encompass the entire
model. Cycle Time by State, Total Entity Counts, and Entity Count
by State are selected either from the Define Global Statistics
Collection dialog by choosing Collect Activity Statistics or by
choosing Collect Activity Statistics on the individual activity
properties dialog. If Collect Activity Statistics on the Define Global
Statistics Collection dialog is selected, then the activity statistics will
be in the Standard Report for every activity defined. If only statistics
for selected activities are desired, then the global Collect Activity
Statistics should not be selected, and the Collect Activity Statistics on
the activity properties dialog should be selected for the desired
activities. Similarly, Cycle Time by State by Entity and Entity Count
by State by Entity are selected either from the Define Global Statistics
Collection dialog by choosing Collect Activity by Entity Statistics or
by choosing Collect Activity by Entity Statistics on the appropriate
activity. Collect Activity Statistics must be selected if Collect Activity
by Entity Statistics is selected. If Collect Activity by Entity Statistics
is selected (global or individual), then Collect Activity Statistics will
be selected automatically by SIMPROCESS.
WARNING
Collect Activity Statistics and Collect Activity by Entity Statistics
should NOT be selected from the Global Statistics Collection dialog for
large models. This could cause memory problems, and would lead to
much unneeded information. It is recommended that activity statistics
always be selected at the appropriate activity.
Real-time Plots
Real-time Plots display statistics while the simulation is running. This
may slow the simulation but shows a running view of the entity count
Total Entity Count—This report shows the total number of entities that
(1) have arrived at the Process/Activity, (2) are remaining in the
Process/Activity at the end of the simulation, and (3) have been
processed by the Process/Activity.
For a complete listing of the format of the Simulation Results file, see
“Simulation Results File,” beginning on page 411
You can create many different Templates and load them into the system
when they are needed. You can populate the Palette bar with
customized Processes/Activities (for easy reuse) and/or organize them
into Templates selected from the Create pull down menu.
Library Concepts
The SIMPROCESS Template and Library facilities support the reuse
and organization of the various constructs used in building models.
The Library is organized by category of constructs, such as Activities,
Processes, and Resources.
We encourage you to develop your own objects and organize them into
libraries. Over time, your libraries of objects will grow. With a large
set of libraries of reusable model building blocks, you are able to build
new models faster. For example, you may develop a set of Processes
(Warehouse, Manufacture, Transport) and Resources (Trucks, People,
etc.) relevant to the Distribution domain, save them to a library named
Distribution and use them to quickly build distribution models.
The libraries that you build can be saved to disk and loaded during the
modeling session as they are needed. This enables you to share
templates with your colleagues and increases the building blocks
available for model construction.
In summary, Templates:
Add allows you to add the selected Process or Activity from the
workspace to the library. It will appear in its respective category
(Activities or Process.) You also can define and add the Process or
Activity to a user specified template that is available under the Create
menu bar option.
Load allows you to bring a library that has been saved to disk previously
into your current SIMPROCESS session and use the template
elements to build models. Simply specify the file name containing the
saved template in the dialog box presented. Once the OK button has
been selected, the library is loaded and is available for use.
Save allows you to save a template library to disk for future use. This
function saves the elements in each of the system templates
(Activities, Processes, Resources, etc.) into one library file. The Load
command allows you to load this library in the future.
NOTE
Editing Templates
Edit allows you to view template elements, change default parameter
settings, set up your Palette bar, and create copies of existing elements
that can be customized.
• Copy…
3. Change any of the values in this dialog. Use the Help button
for an explanation of field definitions or see page 103 in this
guide.
The new value settings will appear in the dialog the next time
you create another instance of that type of model element
(Batch Activity). The Properties field appears on all library-
editing dialogs (Activities, Connectors, Entities...).
4. Select the OK or Cancel button when you are finished with this
dialog box.
5. Select the Close button when finished editing the templates.
You must save the library to disk and reload it every time you restart
SIMPROCESS to retrieve the customizations you have made.
SIMPROCESS loads a default library every time it is restarted.
4. The Menu Owner text box allows you to place this Process/
Activity under the Create pull down menu. The On/Off check
box must be selected for this Process/Activity to appear in that
menu.
5. Choose the OK or Cancel button when you are finished with
this dialog box.
6. Select the Close button when finished editing the templates.
Suppose you define a resource named Diesel Fuel. If you then need
to define other resources with attributes similar to Diesel Fuel, you
could use the Copy function to copy the definition. But this only works
within the same model. If you think you will need the same or a similar
resource in other models, you can define a template modeled after
Diesel Fuel:
3. Enter a name for the template in the Template Name field. For
this example, call it Fuel Oil.
4. Click on OK to save the template definition.
5. Click on OK to accept the resource definition for Diesel Fuel.
After the first resource template is created, there will be a Type field
near the top of the Resource dialog box whenever this dialog box is
reopened. The Type field identifies the template defining default
parameters for the resource you are creating. If you click on the down
arrow of the Type combo box, you will see the templates you have
created.
Now close the Resource dialog box and select Define Resources again.
The template you just created is included in the list:
Select Fuel Oil from the Type list box, and then click on Add. Notice
the initial settings of the Resource Properties dialog box are displayed:
If you have a bitmap file that you wish to use on the Palette, place the
file in the SIMPROCESS working directory (by default,
c:\SPUSER\). Your bitmap graphic should be 16 by 16 pixels. The
name of the bitmap graphic file should be <icon name>_s.bmp.
When you add your Activity or Process template, the icon name will
be in the Palette Icon field.
No
But suppose you want to determine the percentage of orders that are
shipped by a promised delivery date (service level), so that you can
measure your success in attaining service goals.
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 process where entity release depends
on the weight of entities received, an attribute is the total weight of
the items accumulated in the batch activity.
System Attributes that you cannot change 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.
Expressions
The ability to create and set attributes is a powerful simulation feature
when used in conjunction with SIMPROCESS Expressions.
Expressions are user-written statements that SIMPROCESS executes
during a simulation run. When you define an Expression, you select
the point at which you want the Expression to be evaluated; for
example, at the beginning of the simulation, or at the moment an entity
(e.g., a customer order) is received by an Activity (e.g., order
distribution).
You will see actual code for this later in the chapter.
System Attributes
SIMPROCESS provides access to the state of a simulation through
a set of built-in variables. These System Attributes provide
information such as:
On the other hand, the only Activity in which you are interested in weight
is the Activity where entities are batched. In this case, it makes sense
to locally define an attribute for that particular Activity. When that’s
done, no other activity will have a weight attribute automatically created
for it.
Note that you can define attributes with the same name for different
model elements. For example, you could also define a global attribute
called applianceWeight for Resources. It can have a completely
different meaning and data type. You cannot define a global and a local
attribute with the same name for the same model element.
The model contains entity definitions for each type of appliance that
a customer can order. They are named refrigerator-order, television-
order, toaster-order, etc. To track the weight of each appliance, you
need to define an attribute in which to store the weight. You can
globally define the attribute, that is, create an attribute for every entity
in the model.
You also need to keep track of the weight of all orders received at the
DISTRIBUTE-ORDERS Batch Activity. But you do not need to track
weight at any other Activity. You can define a local attribute for the
DISTRIBUTE-ORDERS Activity.
If you select Entity Types instead, you will only define one weight
attribute for all refrigerator-order entities, one attribute for all
television-order entities, etc. You want an attribute for each order, i.e.,
each entity instance.1
1. You can make this model work by defining the attribute for entity categories
instead of entity instances. See “An Alternative Method Using Entity
Types” on page 256.
For this example, accept the defaults for all options except
Name.
To remove an existing User Attribute, select the attribute from the list
box, and then click on the Remove button.
Begin by editing the definition for any model element of the class you
are interested in. In the example on page 221 defining the attribute
applianceWeight, the model element was an entity. To create the same
attribute from a dialog box, do the following:
2. Select any of the entities listed. It does not matter which one,
since the attribute you are going to define will apply to all
entities.
Click on Edit and the Entity Type Properties dialog box will
appear.
3. In the Define Attributes or Expressions For section, select Entity
Instance and click on the Attribute button. By default, the Local
Attribute Definition dialog will appear.
From this point on, follow the instructions beginning with step 3 on
page 221.
Click on Add.
4. The Attribute Properties dialog box is identical to the one used
for defining global attributes.
Now that you have seen how to define User Attributes, let us see how
you can put them to use.
Assign Activity
The Assign activity is one method you can use to provide values to
globally defined attributes. You can also use Assign to change the
priority of an entity.
The combo box in the Set Attribute field contains the names
of all the Global Attributes that the Assign Activity can access.
The Operation field contains the operators that can the used
to change the value of the selected attribute. The supported
operators are; =, +, -, *, and /.
The Value field is where you enter the value you want the
attribute to become. This can take the form of a constant,
a Statistical Distribution, a User-defined Function, or an
Evaluate (Evl) Function. User-defined Functions can be
found on page 257 of this chapter. The Evaluate Function
is covered on page 240.
Thus, every entity will get 1 and only one unit of the resource.
However, there may be instances where the amount of resource needed
would be different for each entity. This is true many times when using
consumable resources (such as fuel). Any type of attribute may be
used: Entity, Entity.Type, Resource, Activity, or Model. Use Edit to
modify the existing requirement definition. Enter the attribute that
will have the unit information. The attribute must be of type real or
integer. During the simulation run, if the units of resource requested
is larger than the resource capacity, an error will occur that will stop
the simulation. This error will not occur when using consumable
resources. If the resource is consumable, the entity will wait until more
resource units are available. Also, if a fractional number of units are
requested and fractional usage was not selected for the resource, an
error will occur.
Writing Expressions
In the previous section, you learned how to define User Attributes and
what you might use them for. In this section, you learn how to use them.
For attributes to be useful, you must be able to refer to them and change
them during a simulation run. SIMPROCESS provides opportunities
to do this at many points during a simulation. The instructions that you
write to process attributes and SIMPROCESS model elements are
called Expressions.
In the definitions that follow, the word expression with a lower case
"e" refers to a mathematical expression. Expression with a capital "E"
refers to the SIMPROCESS Expressions feature.
Operators
• Assignment Operator
The assignment operator is used to assign a value to an
attribute:
:=
For example:
x := 15;
assignWeight := 1000;
The colon (:) preceding the equal sign (=) is required. You
receive an error message if you omit it.
IF assignWeight = 1000...
Literals
• A string of printable characters on a single line is enclosed
in quotation marks:
"The plain in Spain looks lovely in
the rain.";
System Methods
• System methods are commands which result in a system
action or return a value from the underlying system. One
commonly-used function is SimTime, which returns a Real
number containing the current simulation time.
• IF condition
{ELSIF condition}
ELSE condition
END IF;
• WHILE condition
END WHILE;
• FOR expression TO|DOWNTO expression [BY
expression]
END FOR;
• RETURN (possible return value)
• EXIT (with WHILE or FOR loops)
• OUTPUT
{This is a comment}
IF a < b
x := c;
ELSIF a < c
x := d;
END IF;
For example:
OUTPUT(expression);
For example:
NextDelay := Entity.TimeFactor;
Entity.Type.TypeTime
Activity.ActivAttr
Model.ModAttr
Resource("Resource1").UnitsBusy
InitSim TermSim
Some events can occur many times during a simulation. The Start
Trial and End Trial events occur once during each trial of a
multi-trial simulation. If the simulation contains only a single trial,
these events occur just once. The Start Simulation and End
Simulation events occur once during each replication of a multi-
replication simulation if Reset System is selected in the Simulation Run
Setting dialog box. Otherwise, the Start Simulation event
occurs just once at the beginning of the first replication. The End
Simulation event occurs at the end of the last replication. You
specify these in the User Expressions dialog box.
Release Entity Release of an entity from an Activity. All Activities except Dis-
pose.
Entity Instances.
With these attributes defined, you can start writing the Expressions
you need.
• Entity initialization
• Receipt of the entity by an Activity
applianceWeight := 1000;
There are other options. You do not need to assign a weight to your
entities as soon as they are created. You just have to make sure a weight
is assigned before the entity reaches the Batch Activity where
appliances are distributed (DISTRIBUTE-ORDERS).
Start Trial all occur before any entities are generated. Release
Entity serves our purpose, so highlight it and click on Edit.
3. Enter the following lines in your text file:
IF Entity.Name = "refrigerator-
order"
Entity.applianceWeight := 5000;
ELSIF Entity.Name = "television-
order"
Entity.applianceWeight := 100;
ELSE
Entity.applianceWeight := 10;
END IF;
Entity.Name
That is where object attributes come in. They identify the model
element you are interested in.
Entity.applianceWeight := 5000;
But in fact, you must use an object attribute to qualify your reference
to applianceWeight. That is because without specifying a
qualifier, SIMPROCESS assumes you are referring to an attribute of
the current model element. In this case, the current model element is
the Generate Activity, RECEIVE-ORDERS: it is the model element
which invoked the expression. There is no attribute named
applianceWeight associated with this activity, and an
unqualified reference to applianceWeight results in an error.
There is one more thing this model needs. The maximum batch size
must be reset again after the entities are released. You do not want
entities to be released when the DISTRIBUTE-ORDER batch reaches
a certain number. Only accumulating 5000 kilos of weight should
trigger release.
Press Edit.
2. Enter the following statement:
MaxBatchSize := 100000;
3. Close the editor.
Entity.Type.applianceWeight
This would have worked fine in the model we built. But suppose that
the weight of an order could be affected by some step in the process
being modeled, and you needed to reflect this. For example, a customer
order could include accessories for an appliance (e.g., cables and
remote control for a television), adding to the weight of the order. In
that case, attaching the applianceWeight attribute to each entity
instance allows you to vary the weight of each television-order, which
you cannot do if the attribute belongs to the entity’s type.
User-Defined Functions
A User-defined Function will return the value of an expression each
time it is called from within the model. This lets you re-use a single
function in multiple places in your model.
The Name that you chose for the User-defined Function will appear
in every combo box of every activity in your model that a statistical
distribution can be entered.
Dynamic Labels
There are two types of background text in SIMPROCESS: static text
and dynamic labels. Static text is used for annotating the model layout
and does not change during simulation. Dynamic labels, as their name
implies, are updated during simulation and are used to display
information about changing properties of model elements. The way
to update dynamic labels is through an UpdateDynamicLabel
method in the expression builder.
The dialog is divided into two sections: the top group of controls,
designated as Dynamic Label Properties is only applicable to dynamic
text, the bottom group — Font Attributes — is used to specify properties
of both kinds of text.
SIMPROCESS system fonts are vector fonts, which means they can be
scaled on the layout by dragging the handles that appear on the selection
box around the text. Vector fonts are created by choosing anything other
than Native in the Font combo box. The Set… button will become
disabled, but you can still set the color and angle of the text. Note that
vector fonts can be rotated by all angles defined in the combo box.
Several text labels can be grouped together on the layout and their
horizontal and vertical alignment can be set in the H. Align and
V. Align combo boxes.
If you are placing a dynamic label on the layout, in addition to its font
attributes, appropriate information needs to be entered in the Dynamic
Label Properties group. Each dynamic label must have a unique
combination of Name and Id number. Usually, Id number will be 0,
unless two dynamic labels have the same name. The name typed into
the Name text box will not appear on the layout. It will only be used
to reference the label from the expression builder. You also need to
choose the type of value with which the dynamic label will be updated.
The choice between string, integer and real is made in the Mode combo
box. If the value of the dynamic label is real, you also need to specify
Width and Precision in the corresponding value boxes. Width is the total
number of digits that will be shown for the displayed value (including
the decimal point), Precision specifies the number of digits after the
decimal point that will be displayed. If the Width is greater than the
valued being displayed, it will be padded with spaces on the left side.
name — a string (in quotes) you used to designate the dynamic label
in the Name text box of Background Text dialog. Make sure letter case
is the same in both places.
text color — a string (in quotes) of the color in which you want
the text to appear. A list of color names is found in “SIMPROCESS
System Methods and Examples,” beginning on page 393. As with
name, letter case must be as shown in the table.
value — integer, real or string value that you want to display; type
must correspond to what you chose in the Mode combo box of the
Background Text dialog.
For example, if you would like to display a string showing the name
of the entity leaving a delay activity, as well as a real value showing
the amount of time this instance of an entity spent at the activity and
an integer showing number of entities currently at that activity, you
can enter the following three commands in the expression builder of
the delay activity at the Release Entity entry point:
UpdateDynamicLabel
(MasterEditor,"num",0,"Orange",
NumberIn);
UpdateDynamicLabel(MasterEditor,"name",0,
"Aquamarine",Entity.Name);
UpdateDynamicLabel(MasterEditor,
"lastdelay",0,"IndianRed",LastDelay);
Note that both dynamic and static text font attributes can be changed
during simulation by selecting the text and editing its properties. The
change will take effect immediately after the Background Text dialog
is closed and the simulation is resumed.
Summary
This chapter described how attributes are used in SIMPROCESS, and
introduced Expression processing with a step-by-step example. You
learned the following:
If you specify Start and End dates, the Generate activity will not
produce entities outside of that time period.
The Start and End dates work in conjunction with the Start Date and
End Date of a simulation run. So keep in mind that, if the simulation
run dates are entirely outside of the period defined for the Generate
release schedule, no entities are generated during that simulation.
The basic Generate Activity that we saw earlier was just a simple case
of a periodic schedule. For such simple cases, the Interval, Quantity,
and Entity Type can be specified on the main dialog. The Interval field
on the main dialog is not available if you have more than one schedule
or a schedule that is not periodic.
Schedule Start and End define the effective period for this schedule.
The times in the Start and End fields apply just to this schedule and
supersede the Start and End dates specified on the Generate Activity
Properties dialog box. If you do not enter a date for either Start or End,
the corresponding value in the Generate Activity Properties applies.
Count Limit sets the maximum number of entities that can be generated
by this schedule. A Count Limit value of 0 indicates that there is no limit.
If the Count Limit is reached, the Generate activity may stop generating
entities for this schedule. This depends on the setting of the Both must
be reached and Generation End fields.
Both must be reached, if marked, specifies that both the Count Limit and
Release End date must be attained in order to terminate entity
generation for this schedule. If the Both must be reached field is not
marked, then reaching either Generation End or Count Limit terminates
the schedule.
Any information that does not apply to a Daily schedule, such as the
date and year, is ignored.
As with all schedules, you can use the Generation Start and Generation
End dates to further define the effective period for a Calendar
generation schedule.
Cycles are added to and modified from the Cyclical Schedule dialog
box.
The Sequence of Events dialog box lists the cycle events defined for
this cyclical schedule. The events are listed in the order in which
SIMPROCESS will execute them. When you add a cycle,
SIMPROCESS places it at the end of the list. But you can rearrange
the pattern using the Move command.
To move the April cycle to the end of the list, highlight April and click
on the Move button three times. Each click of Move shifts the item down
a row.
You can also move cycles up in the list by checking off the Upwards
option before clicking the Move button.
Refer to page 267 for descriptions of the Generation Start and Release
End, Count Limit, and Both must be reached options.
Duration is how long this cycle is in effect. You can enter the number
of hours or select a value from the pull-down list for this field.
The Both must be reached checkbox, if marked, specifies that both the
Duration and Count Limit must be reached before the cycle completes.
• The Entity, Quantity, and Interval fields are used the same way
they are in the Periodic Schedule detail dialog (see page 266).
The dialog box above shows a calendar cycle representing four days
leading up to a festive holiday, when people are rushing to buy gifts
for their loved ones. It’s a daily schedule, beginning at 9 a.m. and each
iteration will last 24 hours.
The Date and Time value you need to supply depends on the Calendar
Type schedule selected:
• Yearly. Enter a date and time of day, but do not specify a year.
Entity generation begins if the simulation reaches the
specified date and time during this cycle.
• Monthly. Specify a day of the month and time of day, e.g., the
first of the month, at noon. Entity generation begins if the
simulation reaches the specified day and time while the cycle
is in effect.
• Weekly. Select a day of the week (from a list that appears when
Weekly is checked off), and a time of day. Entity generation
begins if the simulation reaches that day and time during the
cycle.
• Daily.
Specify a time of day. Entities are released if the
simulation reaches this time of day while the cycle is in effect.
For example, say you define a cyclical schedule, with a Generation Start
date of January 1, 1995, and a Generation End date of March 31, 1995.
The schedule contains the following Schedule of Events cycles:
If the duration of the calendar cycle were set to one month, the event
would still be in effect on February 2nd and entities would be released
at that point.
You specify the same parameters for a single event as you do for a
calendar cycle, except that you cannot specify when the event begins.
A single event’s starting date and time is dependent on the cycles that
precede it in the Pattern of cycles.
To identify the event file, click on the Browse button to the right of
the Event File box. Use the resulting dialog box to find and select your
file.
The Read Event File button causes SIMPROCESS to read the event file,
checking for syntax errors and building a list of the entity types referred
to in the file. You must click on the Read Event File button to complete
the definition of the event file.
yet been defined in the model. Using the External File Schedule
Properties dialog, you can specify precisely which entity types you
want SIMPROCESS to generate during simulation.
Select the Generate Entities option that indicates which of the entity
types referenced in the event file are to be generated:
• If you select this type, SIMPROCESS will add the entity type
to your model when you run a simulation.
Cyclical schedules are further broken down into cycles, each of which
describes a different entity generation event. Cycle events are
processed sequentially. This differs from other Generate schedules,
which are processed in parallel.
All schedules in the Schedule list box are active only between the times
specified in the Start and End fields.
For all other schedules this field is labeled Downtime Start and
contains a date and/or time. Date is specified as a 2-digit
month, 2-digit day, and 4-digit year. Time-of-day ranges
from 0 to 2400 hours. Downtime of the resource begins at
the time specified.
In a complete model, you would also account for lunch hours, vacation
time and unplanned time off (jury duty, personal days, acts of nature,
etc.).
For this example, assume that sales clerks operate in two shifts. The
first shift, composed of 3 clerks, works from 9 to 5. The second shift,
consisting of 2 clerks, works from 2 to 10.
Click on Downtime.
2. Set the Start and End dates. These dates indicate the period
during which the Downtime schedule applies. We will
define the period to include the entire month of January in
1995:
The Start and End dates are used in conjunction with the Start Date
and End Date of a simulation run (see “Run Settings” on page 77).
In this example:
If the Start and End dates are the same as the Start and End simulation
run dates, the downtime schedule will be in effect for the entire
duration of the simulation run.
If the Start date for the simulation run is January 1, 1995, and the End
date is February 28, 1995, the downtime schedule is only in effect for
part of the simulation (January 1 through January 31).
Keep in mind that, if the simulation run dates are entirely outside of
the period defined for the downtime schedule, the downtime schedule
will not apply to that simulation.
4. Define the off-shift period for the two Shift 2 workers. Add
another daily downtime schedule. Change Downtime Starts
to 22:00, Number of Units Down to 2, and name the schedule
OffShift2. Then click on OK.
5. Define downtime periods to account for the weekend.
Begin with Shift 1:
Scroll through the list until you find the default definition
for Triangular distributions. It reads:
Tri(0.0,5.0,10,0)
Click on OK.
The Add button updates the Schedule list box to include the schedule
you have just defined.
The OK button finalizes the changes you have made to the Downtime
Schedule.
The Cancel button exits the Downtime Schedule dialog box without
accepting any schedule changes you have made.
Event Logs
Time Stamps and Recorders are Event logs supported in
SIMPROCESS.
3. Using the Type combo box, select Time Stamp and press the
Add button. The Time Stamp Properties dialog box appears,
as shown below.
6. Select a Time Stamp Key in the combo box which contains your
predefined time stamp labels.
7. Press the OK command button and notice the Time Stamp
report name in the Event Logs list box.
10. Once you are finished entering the data, choose OK.
11. The word (On) appears after real-time delay on the Statistics
Request dialog box.
12. If you selected delay from the list box, post-simulation Entity
Delay reports can be enabled. Complete the delay dialog
which appears.
13. Choose the Collect Statistics check box for Mean, Standard
Deviation, Min, Max and Count data collection.
14. Once you are finished entering the data, choose OK.
15. Select the Close button when you have completed
Statistics Requests.
On the Properties dialog of the Copy activity, simply click on the Copy
Time Stamps check box. This will cause each instance of the Copy
entities to carry the Time Stamp information inherited from the
Original entity.
To specify that the Clone entities resulting from a Split activity inherit
Time Stamp information from the Original entity, edit the Properties
of the connector(s) emanating from the Clone pad. Now, click on the
Copy Attributes button. This will open the Copy Entity Fields and
Attributes dialog. This dialog contains the same Copy Time Stamps
check box described above.
Recorders
In addition to Time Stamps, Recorders will write the arrival or
departure time of an entity at a Process/Activity into a file called
recorder.msg. You can then examine the file after simulation and
observe the actual times a specific Entity arrived or departed from
specific Processes/Activities.
2. Using the Type combo box, select Recorder and choose the Add
button. The Recorder Properties dialog box appears, as shown
below.
6. The Event Logs list box shows the defined Recorders (either
On Entry or On Exit) along with current Time Stamps. Choose
the Close button to exit this dialog box.
The chapters in this section describe the advanced tools and the
database included with SIMPROCESS Professional.
Model
Development
Verification &
Validation
Statistical
Experimentation &
Analysis
Results
Introduction
Probability distributions are a way of describing the random variations
that occur in the real world. Although we call the variations random,
there are different degrees of randomness, and the different
distributions correspond to how the variations occur. Consequently,
different distributions are used for different purposes.
You do not need to know all these details to effectively model your
situation. You just need to know which distribution best fits your data.
The curve fitting capabilities of Stat::Fit make it easy to find the correct
distribution for your data.
In addition, you can see what the standard distributions look like for
your combination of input parameters.
The mode is the most likely value in a set of data. Consider the
following list of numbers:
2, 3, 3, 3, 9, 10
The mode for this set of data is 3, since it occurs most frequently. The
mean for this set of data is 5. If a distribution is symmetric about the
mean, and singly-peaked, then the mode and the mean will be equal.
In this case, the distribution contains a couple of large values which
shift the mean away from the mode.
Mean-Value Analysis
Mean-value analysis is a simple, although often quite useful, approach
to modeling. The basic philosophy is to model processes by their
average output.
For example, suppose you have a station that can process five parts
per hour, and on average four parts arrive every hour. Mean-value
analysis tells you that the station should be able to handle the expected
load.
However, in the real world you might find that some hours the station
may process only three parts, and other hours it may process seven.
Likewise, there may not be a perfectly steady flow of four parts into
the station every hour. Sometimes there may be more and sometimes
less.
SIMPROCESS Database
Once you have entered the information click on Commit. At this point
SIMPROCESS verifys that the design name and scenario name you
have are allowable. If so, the results are sent to the database. When
finished, the status bar shows Commit Complete. Once a successful
commit has been completed, the menu item Commit to Database is
inactive until another successful run has been accomplished. This is
to preclude commiting the same results more than once.
If any of the above change, then a new design name is required. For
instance, assume you have commited results to the database with a
design name of Design 1. Following that you add a process alternative
to your model and run the model again. If you attempt to use the same
design name as before, SIMPROCESS will prompt you for a new
design name because the number and names of process alternatives
have changed.
Note that you will not be prompted for a new design name if you simply
run a different alternative that was already in the model. If you run
another alternative you may change design names if you wish or
simply use a different scenario name. When a design is deleted from
the Design table, all records associated with that design are removed
from the database. Therefore, if you would like to reuse a design name
for the same model name (and there has been a design change), you
must delete the design.
The Manage Results form should be used to delete results for a Model
(System), Design, or Scenario. DO NOT modify the tables directly.
Using the Manage Results form ensures the tables do not become
corrupted. This form can be run from the Forms tab in Access. Also,
when using Launch Database Application from the Report menu, the
Manage Results form launches automatically. If the form is blank,
then there are no run results in the database.
Database Queries
The predefined queries in the SIMPROCESS database are designed
to offer the same information provided in the Standard Report. The
queries can be used as-is or copied and modified. The queries are not
restricted by system, design, or scenario. So if you run the Entity Cycle
Time query all entity cycle times without restriction will be displayed.
Copying a query and restricting its search is one example of tailoring
a query for your analysis.
All of the queries were created in Access’ Design View rather than
SQL. Show below is the Design View of the Entity Count query.
Even though you cannot see the whole criteria, note that the StatType
field from the Statistics Table is restricted by "Total entities generated"
Or "Entities remaining in system" Or "Total entities disposed". These
are the statistics types that make up Entity Count. Other fields could
be restricted as well. For instance, you could restrict the SystemName
field from the System table so only one model’s results would be
available. In the example below we restrict the query to the
demonstration model CallCtr by placing "CallCtr" in the Criteria row
of the query under SystemName.
The Reports tab contains the predefined reports. Like the graphs, the
reports are based on the predefined queries. Therefore, the Entity
Running SIMDRAW
SIMDRAW is started from the Tools menu bar of SIMPROCESS.
Once started, a window containing a Palette and tool bar is dis-
played. The window will contain a listing in the currently loaded
SIMGRAPHICS II library. The Palette on the left is used to add
new objects to the library.
Library Contents
Usr.sg2 Background
Usrnode.sg2 Activities
Usrproc.sg2 Processes
Usrtokn.sg2 Entities
Library Contents
User.sg2 Background
Spnode.sg2 Activities
Spproc.sg2 Processes
Simtoken.sg2 Entities
The other SIMGRAPHICS II libraries in this directory are system
libraries that you cannot edit.
The Mode palette is shown on the left hand side of the Image Editor
window. Use it to add primitives to your drawing.
The Image Editor supports the standard Cut, Copy, and Paste opera-
tions found under the Edit menu. The Cut option command deletes
selected shapes and places them in the clipboard. The deleted item
remains on the clipboard until the next time a Cut or Copy is per-
formed. You can use the Paste option to paste as many copies as
desired from the clipboard into the image. Shapes can be deleted
without changing the clipboard by using the Delete option.
The clipboard is shared among all active Image Editor sessions. You
can copy graphics from one image into another by activating the
source edit window, using the Copy command, and then activating
the destination editor and using the Paste command.
Creating Primitives
The Image Editor supports creating and editing seven different prim-
itive types. The primitives are polygons, polylines, circles, arcs,
sectors, text, and bitmaps.
Polylines
Use the Style palette to define dash style and line width. There are
eight dash styles and six line widths to choose from.
Polygons
Use the Style palette to define a hatch pattern. There are eight pat-
terns to choose from.
Circles
Circles are added by pressing the Circle button on the Mode palette.
In Circle mode, point to where you want the center of the circle to
go and drag the mouse to define the radius. Release the mouse but-
ton to draw the circle and return to the Select mode.
Use the Style palette to give the circle a hatch pattern. There are
eight patterns to choose from.
Sectors
Use the Style palette to give the sector a hatch pattern. There are
eight patterns to choose from.
Arcs
Use the Style palette to define dash style and line width. There are
eight dash styles and six line widths to choose from.
Text
Single line text primitives can be created and added to your image.
To create a text primitive, press the Text button on the Mode palette.
Point to where you want the center of the text to go and click the
mouse button. Use the Edit/Properties... menu option to define the
text string to be displayed.
There are two different types of text, vector text and system text.
Vector text fonts are fully scalable in any dimension and are porta-
ble between MS Windows and X Windows platforms. A vector text
font can be assigned to a primitive by pressing any of the eight Style
palette buttons showing Ab.
System text fonts are "built -in" to the tool kit on which your server
is running. Text defined using a system font is non-scalable and can
only be resized by changing the font. A system font is defined by
font name, point size, and whether or not its uses italic and/or bold-
face calligraphy. To assign a system font to a text primitive select
the primitive, and then press the Dialog Box button on the lower
right-hand corner of the Style palette. The resulting Font box will
display all fonts, point sizes, and calligraphy styles loaded on your
server. The font you select will be applied to the selected text prim-
itive. This same font can now be applied to other primitives using
the ST button at the lower-left corner of the Style palette.
Text alignment with respect to the image can also be defined. For
example, if you wanted a text primitive defined with a system font
to remain centered as an image is scaled, its alignment should be
centered horizontally and vertically using the Edit/Properties... menu
option.
Bitmaps
Bitmaps (or "snap shots") are not created directly by the Image
Editor,but can be created using another drawing tool and can then
be imported. On MS Windows systems, "Windows Bitmap" files
with the ".bmp" extension can be imported and added to your
image. On X Windows systems, "X Windows dump" file formats
ending in ".xwd" can be imported.
To add a raster file, import your image using the Edit/Import... menu
option. Select a ".bmp" or ".xwd" file from the dialog box and
press the OK button to import the bitmap.
Creating Images
To resize the root image, use Edit/Select All to select all of its shapes,
and then use Layout/Group to make a group. The image can be
resized by dragging the square resize handles on the green selection
box. When the root image is appropriately sized, use Layout/
Ungroup to eliminate the grouping.
To reset the center point of the root image, deselect all shapes by
clicking in the background, and use the Edit/Recenter menu option.
Select a new center point for the image and then select the OK but-
ton on the Recenter dialog.
You can specify how shapes are stacked when they overlap and can
specify their stacking order. To move shapes in front of or behind
other shapes, use the Bring to Front or Send to Back options from the
Layout menu.
You can reset the center point of the entire drawing (root image) by
de-selecting all shapes and then using the Edit/Recenter menu
option.
Any selected shape can be rotated about its center point by any
amount. To do this, select the shape(s) and then use the Edit/
Rotation/Clockwise or the Edit/Rotation/Counter-Clockwise menu
option. If you want to set the angle by which an object is rotated,
You can change the color of the grid by selecting a color from the
Colorpalette and then using the View/Grid Color menu option. The
granularity of the grid can be adjusted using the View/Grid Spacing
menu option. Granularity can be Fine, Medium, or Coarse. The dis-
tance between grid lines for Fine graduation is 500.0, for Medium is
1500.0, and for Coarse is 4500.0.
If the Snap mode is active, the View/Snap From menu option allows
you to specify which corner of a shape's bounding box will be
aligned to the grid intersections during repositioning. If View/Snap
from/Center is selected, a repositioned shape's center point will be
glued to the grid intersections.
When zoomed in, you can pan to other areas of the window using
the horizontal and vertical scroll bars.
You can return to the default view by using the View/View [1:1] or Fit
to window menu options. Unless the window is square, the top or
bottom portion of the view may not be visible. To see the entire
coordinate space, use the View/Fit in Window or View [1:1] menu
option. This viewing mode will leave dead space off to the right of
the window, but guarantee the entire coordinate space will be seen.
color from the Color palette and then use the Layout/Layout Color
menu option.
If you want to increase the size of the editing area beyond what is
defined by the boundaries of the world coordinate system, use the
Layout/Layout Size menu option. A dialog will be displayed allow-
ing you to increase the number of "screens" thereby adding space to
the right and bottom sides of the editing area. This new space can
be "scrolled to" using the right and bottom scroll bars.
Experiment Manager
The four items on the Experiment menu control the operation of the
Experiment Manager.
• Define Experiments
• Run All Experiments
• Run Selected Experiments
• Run Specific Experiment
Defining Experiments
Selecting Define Experiments brings up a dialog that allows you to
select the database and database application to use. Sim-
ProcDB.mdb and MS Access are the default. (The remaining por-
tions of these instructions assume MS Access is the database
application.) When defining experiments you must use Sim-
ProcDB.mdb or a copy of SimProcDB.mdb. If the database name
you enter is in C:\SIMPROCESS\Spuser, then no path is
required. If this is not the case, you must enter the full path for
Access to start and open the database. If you desire to open Access
from SIMPROCESS with a database that is not SimProcDB.mdb or
is not a copy of SimProcDB.mdb, use Launch Database Application
under the Report menu.
• Experiment
• Model Setup
• Design Setup
• Scenario Setup
• Parameter
• Process
The Parameter and Process tables are optional. The Parameter table
allows you to change values for attributes you have declared to be
Model Parameters. The Process table allows you to change Process
Alternatives for a scenario.
The complete path and model name with extension must be entered.
In this example one model is entered for the experiment
Purchasing. Although multiple models can be entered before
At least one design name is required on this sub form. The Design
Comment and Reps fields are optional. If no value is entered for
Reps, the last saved model value will be used for each scenario in
this design unless there was a previous design for the same model.
As with the Model Parameters and Process Alternatives, if there was
a previous design for the same model with a different number of
replications, the previous design’s number of replications will be
the number for the current design if Reps is left blank.
The next tab is Parameter Setup. This sub form enters information
into and deletes information from the Parameter table. You must
declare the type of the attribute, the name of the attribute, and the
value for the attribute. The Attribute Type field corresponds to the
types of attributes that can be defined in SIMPROCESS.
• Entity
• Entity Type
• Resource
• Activity
• Model
NOTE
If no Model Parameter information is entered for a scenario,
then the model will run with the last saved values for the
Model Parameters. If a parameter has been changed for a
scenario, and the next scenario uses the same model (that is,
a new model is not loaded), then the Model Parameter will
have the same value as the previous scenario. It will not
reset to its default value.
NOTE
If no process/alternative information is entered for a
scenario, then the model will run with the last saved active
alternative for each process. If an alternative has been
changed for a scenario, and the next scenario uses the same
model (that is, a new model is not loaded), then the active
alternative for a process will be the same as the previous
scenario unless a different alternative is specified in the
Experiment Manager.
Running Experiments
Once the experiments have been defined using the Experiment
Setup form, you ready to run your experiments. We will discuss
starting experiments, the operation of experiments, how to interact
with experiments, and how to generate standard reports from
experiments.
Starting Experiments
There are three options for running your experiments.
This menu item allows you to specify one experiment to run. When
selected, a dialog appears that allows you to enter an experiment name.
The experiment name’s spelling must match the spelling of the name
in the database. However, since MS Access is not case sensitive, if
Experiment Operation
The Experiment Manager operates as follows when running
experiments:
Experiment Trace
trace showing the steps that have been completed and the current step.
The trace includes the date, time, and a message. The trace is displayed
using the SIMPROCESS Messages window.
Experiment Errors
When the Display Error Alerts field is set to Yes, error dialogs will
appear that pause the Experiment until you acknowledge the error.
Split Divides one entity into sev- Family name Copy Priority
eral to model the division of Resources
processing among several
Delay
activities.
Synchronize Coordinates the release of Number of Pads Resources
various entities. Delay
[ModelName]
DATA
PS
OBJLIBS subdirectory
This directory contains all the distributed model template libraries.
Users can load any of these libraries and use the pre-defined model-
element templates to build models.
simproc.lib ( SIMPROCESS standard modeling template
library )
SG2LIBS subdirectory
This directory contains all the distributed graphic files, i.e. *.SG2
and *.BMP. They are dialog boxes definitions, menu options, and
icon graphics. All of these files are set to read only.
allocate.bmp release.bmp
allocn.sg2 releasen.sg2
assemble.bmp repgrfmn.sg2
assembn.sg2 simdlg.sg2
assign.bmp simplot.sg2
assignn.sg2 simsys.sg2
batch.bmp simtoken.sg2
batchn.sg2 sink.bmp
branch.bmp sinkn.sg2
branchn.sg2 source.bmp
clone.bmp sourcen.sg2
clonen.sg2 splash.bmp
colorpal.sg2 split.bmp
create.bmp splitn.sg2
createn.sg2 spnode.sg2
delay.bmp spproc.sg2
delayn.sg2 spsappl.sg2
expmgr.sg2 ssnsrc.bmp
gate.bmp syncro.bmp
gaten.sg2 syncron.sg2
ibmplot.sg2 system.sg2
join.bmp unbatch.bmp
joinn.sg2 unbatchn.sg2
merge.bmp user.sg2
mergen.sg2 userpal.sg2
pndetail.sg2 xform.bmp
process.bmp xformn.sg2
processn.sg2
SIMDRAW sub-directory
This directory contains all the configuration files and on-line help
file required by the Graphics Editor - SIMDRAW.
TEMPLATES subdirectory
This directory contains all the distributed documentation template
files. They are default forms and templates used in documenting
models and model elements. All of these files are set to read only.
HELP subdirectory
This directory contains the SIMPROCESS help files.
Win32_License subdirectory
This directory contains the license manger files.
Drivers subdirectory
This directory contains the dongle drivers for DOS, 95 & 98, and
NT. Each are in their own subdirectories. The driver in the
Win_95 directory is used for Windows 98.
DEFAULT subdirectory
This directory is created by SIMPROCESS to temporarily collect
the model’s documentation and output files. When building a
model, SIMPROCESS will call this model default.spm before
the user explicitly assigns a name to it. Any file (e.g.
documentation files) that needs to be saved to the disk in this
period, will be saved under this directory temporarily. Once a name
is assigned, SIMPROCESS will then create a directory using the
assigned name and move all its related files to the newly created
directory.
DEMOS subdirectory
This directory contains demonstration and reference models, as
well as their supplemental directories. Initially, all these supple-
mental directories, except EXPMGR, contain only a model docu-
mentation file, i.e. mod.doc. The EXPMGR subdirectory contains
the examples of experiment designs.
OBJLIBS subdirectory
This directory contains user created libraries that collect user
defined model-element templates. Users can load any of these
libraries and reuse the templates to build models. Currently, there
is one library created for demonstration purposes.
SG2LIBS subdirectory
This directory contains the graphic files that users have imported or
created with SIMDRAW for future usage.
[ModelName] subdirectory
For each model, there will be a supplemental directory named as
the model’s name and created by SIMPROCESS. This supplemen-
tal directory is to collect the model’s documentation and output
files. It will contain:
DATA
Exported report data in text format which can be space delimited
file(*.TXT) and comma delimited file(*.CSV).
PS
Exported postscript files from report graphics, i.e. *.PS.
Statistical Distributions
Uniform Distribution
Uniform(3, 7, x)
0.25
0.2
0.15
0.1
0.05
0
0 1 2 3 4 5 6 7 8
Normal Distribution
2.00
1.80
std. dev. = 0.2
1.60
1.40
1.20
1.00
0.80
std. dev. = 0.4
0.60
0.40
0.00
0.00 0.50 1.00 1.50 2.00 2.50 3.00 3.50 4.00
Triangular Distribution
0.30
0.25
0.20
p
0.15
0.10
0.05
0.00
0 1 2 3 4 5 6 7 8 9 10
Exponential Distribution
Exponential(1, x)
0.9
0.8
0.7
0.6
0.5
0.4
0.3
0.2
0.1
0
0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5
Gamma Distribution
shape = 15
shape = 0.5
shape = 9
shape = 3
shape = 1
You can see from the graph above that when shape = 1 the Gamma
distribution is peaked at 0 (like the exponential distribution), and when
shape > 1 the distribution becomes peaked away from the origin.
Beta Distribution
3
shape1 =1.5, shape2 shape1 = 5, shape2 =
shape1 = 5, shape2
2.5
2
shape1 = 1.5, shape2 shape1 = 3, shape2 =
Beta(shape1, shape2, m
1.5
max)
0.5
If the first parameter is larger, the peak falls toward the right side of
the range, if the second parameter is larger, the peak falls toward the
left side of the range.
Erlang Distribution
Erlang(1, shape, x)
(Mean = 1 for all curves)
1.4
shape = 10
1.2
1 shape = 1
shape = 4
0.8
shape = 2
0.6
0.4
0.2
0
0 0.5 1 1.5 2 2.5 3
X
Weibull Distribution
Weibull (shape, 1, x)
2.5
shape = 8
2
1.5
shape = 2
0.5
0
0 0.5 1 1.5 2 2.5 3
Lognormal Distribution
4.00 s.d. = 4
3.50
s.d. = 0.1
3.00
2.50
2.00
s.d. = 3
1.50
s.d. = 1
1.00 s.d. = 0.5
0.50
0.00
0.00 0.50 1.00 1.50 2.00 2.50 3.00 3.50 4.00 4.50 5.00
Poisson Distribution
Poisson(Mean, Number)
0.7
0.6
0.5
Mean = 0.5
0.4
Mean = 1
0.3 Mean = 2
Mean = 6
0.2
0.1
0
0 1 2 3 4 5 6 7 8 9 10
Number of Occurrences
Hyperexponential(1, 5, p)
0.9
0.8 p = 1.
0.7 p = 0.
0.6
p = 0.
0.5
p = 0.
0.4
0.3
p = 0.
0.2
p = 0
0.1
0 1 2 3 4 5 6 7 8 9 10
X
0.15
Integer(7, 16)
0.1
0.05
0
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
Geometric Distribution
Hyperbolic Distribution
1.6
Hyperbolic Distribution
(offset = 0)
1.2
position=1, shape=0.95
0.8
0.6
0.4
0.2
position=5, shape=0.95
0
0 2 4 6 8 10 12 14
X
Absolute Deviation
The average deviation of the data set from the mean. It is computed
using the absolute value of the difference between a data point and the
mean rather than squared differences used in computing the variance.
Alpha
The probability that an estimate of a parameter does not contain the
true value. In statistics, this is referred to as Type I error.
Alternate Hypothesis
The complement of the null hypothesis.
Cdf
Cumulative distribution function.
Confidence Interval
An interval that contains the true value of a parameter with a given
probability.
Continuous Domain
A domain whose variables can take on any value in an interval real
numbers. Integer domains are sometimes interpreted as continuous
domains with the implicit assumption that the integers represent an
underlying continuous domain.
Data Set
A vector (or equivalently an array or column) of data points that are
the realization of a random process.
Degrees of Freedom
The number of independent elements in a statistical computation. The
degrees of freedom must be known to compute the probability of a test
statistic such as the χ2 statistic.
Dof
Acronym for degrees of freedom.
Enumeration Domain
A domain whose range is the set of elements in the enumeration.
IID
Identically and independently distributed. In simulation, identical
means that observations are made from a hypothesized distribution of
values that does not change over simulated time. Independent means
that observations of one replication are not correlated with other
observations, i.e. if one observation has a value of x, then the next
observation is probably close to x.
Image Editor
An editor that contains graphs, tables, or text for viewing the results
of a statistical analysis.
Integer-valued Domain
A domain whose range is the set of integer numbers.
KS
Acronym for Kolmogorov-Smirnov.
Kurtosis
Characterizes the relative peakedness or flatness of a distribution
relative to the normal distribution. A data set with positive kurtosis
has a sharper peak than a normal distribution while a data set with
negative kurtosis has a flatter peak than the normal distribution.
Mean
Average value of a data set.
MLE
Acronym for maximum likelihood estimate.
Mode
The mode of a probability distribution is the value of x where it takes
on its maximum value. If the distribution is multiply-peaked, there
may not be a unique mode.
Model Element.
A named object in the simulation model that has one or more
simulation input variables that can be designated as factors for an
experiment. The model elements include activities, resources, and
entity types.
Pdf
Probability distribution function.
Performance Measure.
An output statistic that quantifies some behavior of the model.
Percentiles
In a data set ranked by value of the data points, a percentile refers to
the data point at the relative position by rank of the data point in the
data set. For example, in a data set of a hundred points, the 75th
percentile (75%) point is the data point that is in the 75th position when
ranked by value.
Quartile Range
Difference between the 25th percentile value and 75th percentile value
of the data set.
Range
Difference between the minimum and maximum values of a data set.
Real-valued Domain
A domain whose range is the set of real numbers.
Residuals
The differences between the actual values observed and the expected
values as computed by a statistical test.
Sample Domain
A domain whose range is the set of probability distributions supported
by SIMPROCESS.
Skewness
Characterizes the degree of asymmetry of a distribution around its
mean. A data set with positive skewness has a long tail to the right of
its mean. A data set with negative skewness has a long tail to the left
of its mean.
Standard Deviation
Square root of the variance.
Standard Error
A measure of the spread of the data set about the mean. Typically,
standard error is the one sigma error about the mean of the data set
computed as the standard deviation divided by the square root of the
number of data points.
Variance
Variability of data set about the mean.
System Attributes
This section lists all the SIMPROCESS system attributes in a table and
provides examples of system methods.
System Levelb Model Get OBJECT Reference of the Model being simu-
lated.
Self Get OBJECT Reference of the Model Element
itself.
Replication Get INTEGER Current replication number.
Entity Type Name Get STRING Name of the entity.
Priority Both INTEGER Default priority for entity instances of
this type.
Activity’s Group NumberAccepted Get INTEGER Number of entities so far entered this
II activity.
NumberReleased Get INTEGER Number of entities so far exited this
activity.
NumberIn Get INTEGER Number of entities currently at this
activity.
Activity’s Group LastDelay Get REAL The value of the last delay.
III
Dispose Group I
Generate Group I
NumberGener- Get INTEGER Number of entities so far generated at
ated this activity.
Get Resource Group I & II
a. System attributes’ names must be input as shown. They are case sensitive.
b. Attributes in this category can be referenced in any expression.
OpenFile Mode: STRING OBJECT Open the specified file and return
File Name: STRING the file stream object. Mode can
be “input“ or “output”.
OUTPUT Takes zero or more arguments. NONE Display the specified arguments
Type can be REAL, INTE- in the Output dialog.
GER, CHAR, STRING
ReadFromFile File stream: OBJECT NONE Read values for the listed vari-
list of variables ables from the specified input
file.
STRLEN inString : STRING INTE- Retuns the length of the string, in-
GER String.
WriteToFile File stream: OBJECT NONE Write the values of the listed vari-
list of variables ables to the specified output file.
a. System methods’ names must be input as shown. They are case sensitive.
b. This argument (i.e. MasterEditor) must be the first argument inside the parentheses of this method. It is required by
the method and must be input as shown. It is case sensitive.
c. Since this method does not require any argument, do not include empty parentheses when using this method.
Beep(MasterEditor);
Alert(MasterEditor, “Press OK to continue!”);
fContinue : BOOLEAN;
value1, value2, maxval, minval : REAL;
fContinue := TRUE;
WHILE fContinue
value1 := DrawRealSample(“Exp(30.0)”);
value2 := DrawRealSample(“Exp(30.0)”);
maxval := MAXOF(value1, value2);
minval := MINOF(value1, value2);
value1 := DrawRealSample(“Uni(“+REAL-
TOSTR(minval)+”,” +REALTOSTR(max-
val)+”)”);
Beep(MasterEditor);
fContinue := Confirm(MasterEditor, “The
value is “+ REALTOSTR(value1));
END WHILE;
Method ChangeColor:
This method changes the color of a non-bitmap icon. Currently,
activity icon “RectangleIcon”, process icon “Process”, and all the
provided entity icons can use this method to change their color. The
Table , “SIMPROCESS Color Table,” contains the 64 colors
available in SIMPROCESS.
For example, to change an activity to red whenever an entity enters,
in the activity’s Accept Entity event add:
ChangeColor(Self, “Red”);
To change the color of all entities that leave the activity to brown, and
change the activity icon to green if there is no entity in it, in the
activity’s Release Entity event add:
IF (NumberIn = 0)
ChangeColor(Self, “Green”);
END IF;
ChangeColor(Entity, “Brown”);
ShowSystemAttributes;
All the system defined attributes and values are listed in the standard
output window.
Method SimTime:
This method returns the current simulation time in hours. The return
value is REAL type. For example:
Method UpdateDynamicLabel:
To use this method, you need to define a dynamic label in the work
area first. To define a dynamic label, refer to Chapter 10–Customizing
a Model with Attributes and Expressions, beginning on page 213.
Five arguments are required for this method. The first one is
MasterEditor. This is the key word that must be there and input
as shown. The next two arguments are the Name and ID of the dynamic
label defined in the Background Text Properties dialog box. The forth
argument is the color to be used in displaying this label. The last
argument is the value to be displayed. It can be a constant or an
attribute, but the data type must match the Mode defined in Background
Text Properties.
UpdateDynamicLabel(MasterEditor, “total”,
0, “DarkBlue”, NumberGenerated);
Model.MyOutStream := OpenFile(“Output”,
“myoutput.dat”);
The next example opens a file (myinput.dat) for input and keeps
the return value in the model attribute MyInStream.
Model.MyInStream := OpenFile(“input”,
“myinput.dat”);
Example:
The input file contains:
StrVal : STRING;
IntVal : INTEGER;
RealVal : REAL;
BoolVal : BOOLEAN;
ReadFromFile(Model.MyInStream, StrVal,
IntVal);
ReadFromFile(Model.MyInStream, RealVal,
BoolVal);
The expression will read in the following:
StrVal has the value “This is a test for
ReadFromFile.”.
IntVal has the value 123.
RealVal has the value 67.89.
BoolVal has the value TRUE.
WriteToFile writes the values of the specified variables to a file
that is open for output. The first argument is the output stream, that
is the returned value from a previously OpenFile call (must be open
for output). Following the stream argument is a list of variables whose
values are going to be written to a file.
The output values will be written to the file consecutively. Any kind
of format or spacing has to be output explicitly by the user. There are
two special characters that can be used in formatting outputs: “^” will
write a tab to the file, while “/” will advance to a new line. For these
to work correctly, they must be written individually and be surrounded
by “”.
For example:
Following the prior example of ReadFromFile, an expression has:
WriteToFile(Model.MyOutStream, StrVal, “/
”, IntVal, “^”);
WriteToFile(Model.MyOutStream, RealVal,
“^”, BoolVal);
Write to the file as:
This is a test for ReadFromFile.
CloseFile(IOStream);
For example:
CloseFile(Model.MyOutStream);
CloseFile(Model.MyInStream);
Close the files myoutput.dat and myinput.dat, respectively.
The Simulation Results file is generated from the File menu. Select
File/Export/Simulation Results to open the Save Statistics dialog box.
The Simulation Results file will, by default have a .xpt file extension
and be saved to the current model directory. This file is tab-delimited,
and can be opened using a text editor or spreadsheet.
Owner Type
This is the type of the object that owns this statistic record. The four
types are:
Owner Name
This is the full hierarchical name of the specific object that owns this
statistic record.
Name
This is the name of the specific object that owns this statistic record.
Stat Type
This is the type of statistic displayed. Contained in the third column
from the left, the Stat Type is an abbreviation for the name of the
performance measure whose parameters follow to the right. See
Table 5, “Simulation Results - Stat Types,” on page 414 for a complete
description of the types of statistics.
Replication
This number is the replication that the statistic was collected from.
Any number, 1 or greater, refers to a specific replication.
Minimum
This is the smallest value that has been recorded for this statistic.
Maximum
This is the largest value that has been recorded for this statistic.
Sum
It is the total of all observed values for the statistic (i.e. Xi), if this is
observation based.
Sum of Squares
It is the summation of the square of each observed values (i.e. ∑(Xi2)),
if this is observation based.
Count
This is the number of observations recorded when the statistic was
collected.
Average
This is the average of the statistic.
Std Deviation
This is the standard deviation of the statistic.
Type of
Labels Statistics Descriptions
Entities :
tokendelay Observation Total cycle time (i.e. sum
based of wait, hold, and pro-
cess)
tokenwaitdelay Observation Time waiting for avail-
based able resource
tokenholddelay Observation Time waiting for condi-
based tion to be reached
tokenprocessdelay Observation Time processing (i.e. at
based specified duration)
tokenlevel Time-weighted Number of entities in
system
tokenwaitlevel Time-weighted Number of entities wait-
ing for available resource
tokenholdlevel Time-weighted Number of entities wait-
ing for condition to be
reached
Type of
Labels Statistics Descriptions
tokenprocesslevel Time-weighted Number of entities in
process (i.e. at duration)
tokentotalborn Only the last Number of entities being
value is generated
recorded
tokentotalalive Only the last Number of entities still
value is residing in the system
recorded
tokentotalkilled Only the last Number of entities
value is detroyed
recorded
UDV.delay Observation Statistic of the specified
based attribute
UDV.level Time-weighted Statistic of the specified
attribute
Resources :
resrccap Time-weighted Units of resources (i.e.
capacity)
resrcidle Time-weighted Units of idle resources
resrcbusy Time-weighted Units of busy resources
resrcmaintenance Time-weighted Units of resources not
available (Unplanned
Downtime)
resrcdown Time-weighted Units of resources not
available (Planned
Downtime)
resrcreserved Time-weighted Units of resevered
resources
Type of
Labels Statistics Descriptions
byactivitybusy.level Time-weighted Units of busy resources
at the specified activity
Activities :
tokentotalin Only the last Number of entities
value is entered this activity
recorded
tokentotalhere Only the last Number of entities still
value is residing in this activity
recorded
tokentotalout Only the last Number of entities that
value is have left this activity
recorded
tokendelay Observation Total cycle time (i.e. sum
based of wait, hold, and pro-
cess) at this activity
tokenwaitdelay Observation Time waiting for avail-
based able resource at this
activity
tokenholddelay Observation Time waiting for condi-
based tion to be reached at this
activity
tokenprocessdelay Observation Time processing entities
based (i.e. in the specified dura-
tions) at this activity
bytoken.delay Observation Total cycle time (i.e. sum
based of wait, hold, and pro-
cess) for the specified
entity type at this activity
Type of
Labels Statistics Descriptions
bytokenwait.delay Observation Time waiting for avail-
based able resource for the
specified entity type at
this activity
bytokenhold.delay Observation Time waiting for condi-
based tion to be reached for the
specified entity type at
this activity
bytokenprocess.delay Observation Time processing entities
based (i.e. in the specified dura-
tions) for the specified
entity type at this activity
tokenlevel Time-weighted Number of entities at this
activity
tokenwaitlevel Time-weighted Number of entities wait-
ing for available resource
at this activity
tokenholdlevel Time-weighted Number of entities wait-
ing for condition to be
reached at this activity
tokenprocesslevel Time-weighted Number of entities in
process (i.e.at duration)
at this activity
bytoken.level Time-weighted Number of entities of the
specified type at this
activity
bytokenwait.level Time-weighted Number of entities of the
specified type waiting for
available resource at this
activity
Type of
Labels Statistics Descriptions
bytokenhold.level Time-weighted Number of entities of
specified type waiting for
condition to be reached at
this activity
bytokenprocess.level Time-weighted Number of entities of the
specified type in process
(i.e.at duration) at this
activity
UDV.delay Observation Statistic of the specified
based attribute
UDV.level Time-weighted Statistic of the specified
attribute
Time Stamps :
tokendelay Observation Time elapsed between
based Time Stamps
Each record (line) in an event file must adhere to certain syntax rules,
which are defined in the following section. Records must also adhere
to these general rules:
1. 01/02/1995
2. 01/04/1995
3. 09/11/1994
4. 10/30/1994
5. 01/12/1995
• Entity create time must be the first field in the event record.
The remaining keyword parameters may be entered in any
order.
• The entity type you specify in an event record must be defined
to the model before it can be generated.
However, you can refer to a new type in the event file and select the
Selected in the list option in the External File Schedule dialog box.
SIMPROCESS will automatically add it to the model.
Syntax
[+]time [QUANTITY:value] [ENTITY: type] [ATTR: name=value...]
Parameters
+
Indicates that the ensuing value is to be added to the time of the last
event processed.
time
The time at which entities are to be created for this event record.
Specify either a specific date and time or a relative value. Use the
following format for a specific date and time:
mm/dd/yyyy hh:mm:ss
01/15/1997 12:00:00
48.0
Which is the same as two days after the start of the simulation:
+48.0 or +48:00 or +2
QUANTITY:value
The number of entities to generate at the entity generation event. Enter
a number in place of value.
ENTITY: type
The type of entity to generate.
For Type, enter an entity type name. If the name includes blanks,
enclose the entire string in quotes.
ATTR: name=value...
Assigns values to globally defined attributes for entity instances.
The value you specify must be consistent with the data type defined
for the attribute.
Note that if you specify an attribute name that has not been defined
in your model, you can select the Selected in the list option in the
External File Schedule dialog box. SIMPROCESS will add it to the
model.
Examples
1. Generate GreenDot entities at 3 a.m. on January 1, 1995. Generate the
number of entities defined in the Generate Activity Properties dialog box.
3. Generate four RedDot entities 7 hours after the previous entity generation.
5. Generate more Truck entities 4 hours after the previous event. Generate
the number of entities defined in the Generate Activity
Properties dialog box:
+4.0 ENTITY:Truck
editing 265 L
entity categories 266 Launch Database Application 45, 314, 321, 340
Interval 267 Library
limiting number of entities 267 Concepts 200
modifying 265 Default Parameter Settings 204
Monthly 268 Management 202
periodic 266 limiting entities in Dispose activity 68
removing 266 Local Attributes
Yearly 268 defining 228
Summary 278
M
time between entity generation events 62–64,
267 Manage Results form 314, 321
Weekly schdedule 268 Maximum Batch Size, of Batch activity 104
Yearly schedule item 268 Maximum Entity Count, Dispose activity
Global Attributes parameter 68
defining 221 Maximum Wait Time, of Batch activity 104
Minimum Batch Size, of Batch activity 104
H
model
help, getting adding objects to 55–56
help topics 47 checking for errors 81
online help 60 components 50–52
hierarchical models 50–51 hierarchical structure 50–51, 52
hierarchy, ascending 82 removing objects from 56
historical data selecting objects in 56
See also event files using Model Attributes in an expression 239
historical data, using 276 Verify Model 81
Hold pad, of Gate activity 106 verifying 81
Hyperexponential Distribution 380 Model Attributes
I defined 220
Icon dialog field 58 using in an expression 239
icons model design 313
activity icons 58 Model Parameter 224
adding text to 59–60 Model Parameters 81
entities, listing 71 Move command, events 270–271
labeling 59–60 moving up a level in hierarchy 82
showing object name under 58 N
Image Editor 328, 329 Name (dialog field) 58
Initializing attribute values 246 naming
Integer Distribution 381 activities 58
interval between entity generations 62 no entities generated, reasons 264
Interval dialog field 62 No Event schedule 276
Statistical Simulation Experiment 306–307 Trigger Release Quantity, of Gate activity 108
Experimental Data 306 Triggered Release, Gate activity policy 106, 108
Mean-Value Analysis 306 U
Stream 64
Style palette 327 Unbatch Activity 105, 105
Sub-Processes 74–76 Use default 266
User Defined Attributes 220
definition of 11
and Assign Activity 111, 230
See also processes, sub-processes
assigning values to 111, 230
Synchronize Activity 109
Branch On 117
System Attributes 218
copying in Transform activity 115
T globally defining 221–227
Tabular Distributions initializing values 246
Procedures 92 locally defining 228–229
Template User Defined Distributions
Under Definepull down menu 206 Procedures 90
Template file directory 59 Two methods of creation 90
template, for Document file 59 User Defined Functions 257
Templates V
Defining and Editing Templates 202
Verify Model command 81
Editing 202
View function 63
Text Block 60
viewing higher levels 82
Show Text 60
Threshold Quantity, of Gate activity 107
Threshold Release, option of Gate activity 107
Time Series Report 186
Time Stamps
Assembled Entities 295
Batched 295
Definition of 291
passing to an output entity 295
Transformed Entities 295
Viewing Reports 294
Transform Activity 113–115
Copy Attributes 114–115
Number of Entities Output 113
Output Entity Type 113
Trigger Assemble, option of Assemble
activity 100, 101
Trigger pad, of Gate activity 106
trigger point, of calendar event 274, 275–276