- Q: How do I launch Extend?
A: Let's add it to the dock as we go.
- Click on the desktop or the Finder icon on the dock so that you're
talking to the Finder. There should be a "Go" menu at the top.
- Under "Go," choose "Applications."
- Find the folder called "Extend 6" and within it, find the application
called "Extend 6.0.4". The icon looks like this:
- Drag that application to the dock. The other icons will move around
to make room for it.
- Close the Finder window(s)
Click once on the dock icon to launch Extend.
- Q: What happened to the libraries?
A:Libraries aren't opened when you first start the program; you
have to do that. Click on Library > Open. This will open a file system
browser. Select "Generic Lib." Notice that this is now added to the end
of the "Library" menu. Repeat this procedure to open "Plotter Lib" and
"Discrete Event Lib."
- Q: How do I delete a connection?
A: Control-Click on it and choose "select
all segments." Then hit the delete key.
- Q: How can I have a state variable that goes negative?
A: Use a holding tank and, in the dialog box, be sure to click
the box that says "The 'want' connector can take tank negative" even
if you aren't using the "want" connector. Apparently, the dialog
really should say that the tank can go negative. That is, unless you
check this box, you can't have a negative "InputIn." See:
negative-inputs.mox
- Q: How can I make a frequency table in Excel?
(My thanks to Christina Willis for helping me figure this out.)
- Highlight the area where you want the frequency table to be.
Typically, this is the column to the left of the column of bins. This
should be one more than the number of bins, to make room for the "more"
bin, which is all values larger than the largest bin value. (If any fall
in there, you should probably use different bin values.)
- The values in the bins are the upper limit of the bin. So a
bin value of 0.1 means all values less than or equal to 0.1.
- Then type the following formula, but don't press return. Use the
mouse to select the arrays or use a range formula.
=frequency( data-array, bins-array)
- Press cmd-return (alt-return on Windows). The formula will get
distributed to all of the cells you highlighted. If you look at the
formula, you'll see it has braces around it.
- Just as a double-check, total the frequency table. It should be the
same as the number of data you have.
- You can then build a bar chart using the frequency table and the
bins. This chart will automatically update if the data changes!
- Q: How do I make a histogram using the chart in Excel?
To do.
- Q: How do I make a multiple histogram using the chart in Excel?
We'll use the frequency table idea from the previous question to do
this.
- Set up your frequency table(s)
- Click on the chart icon or choose "Insert/Chart"
- Choose a bar chart (the default)
- Select your three columns of data for the data range
- Click on "Series in Columns"
- Click on the "series" tab
- Fill in the "Category (X) axis labels" using your bins
- click "finish"
To make it look better, you can control-click on a bar and choose
"format data series." Then click on the "options" tab and set the "gap
width" to 0
Here's an example:
U-exp-gauss-hist.xls
- Q: What Extend blocks do we know?
This should help us find them. Note that this is not all the Extend
blocks; it's just the ones that we have any familiarity with.
- Discrete Event Lib
- Activities
- Activity, Delay: this is the standard service block, we use this a lot
- Activity, Delay (attributes): a service block where the delay comes
from an attribute, as with some of the more complicated service times.
- Activity, Multiple: this can serve multiple items at a time. It is
used to cook multiple burgers in the Fast Food model.
- Attributes
- Get Attribute: Retrieves the value of an attribute. We use this a lot.
- Get Value: gets the value of the "value" attribute, which is the
multiplicity of an item
- Set Attribute: Sets the value of an attribute. We use this a lot.
- Set Attribute(5): Sets several attributes (up to 5) using one block
- Set Value: sets the value of the "value" attribute, which is the
multiplicity of an item
- Batching
- Batch: Allows items from several sources to be joined as a single
item. We used this in the fast food model to join customers with their
cooked burgers.
- Unbatch: Produces several items from a single input item.
- Generators
- Generator: Produces items at specified interarrival times. We use
this a lot
- Information
- Count Items: counts the items that pass through it
- Status: displays the status of another block's output. Winton uses
this a lot to compute, for example, interarrival times.
- Timer: displays the time that it takes an item to pass between two
parts of a model. We use this a lot.
- Queues
- Queue, FIFO: A first-in, first-out queue
- Resources
- Resource: holds and provides items from a fixed collection. Used in
the Fast Food Model to model the frozen burgers.
- Routing
- Activity, Service: passes an item only when the demand connector is
connected and certain conditions exist. This is used in the Fast Food
model to allocate a burger (resource) to each burger order (item).
- Combine: Combines the items from two different streams. Used to
create loops in Winton's CPU model, among other models
- Exit: allows an item to leave the simulation. We use this a lot
- Exit (4): A four-input exit. You can count how many exited from each
input and also the total.
- Select DE output: Allows a value to determine which of two routes an
item takes. We use this to choose the shorter queues for an item.
- Statistics
- Executive: We always use this block in a Discrete Event model
- Generic Lib
- Arrays: we don't use this
- Decisions:
- Decision: an "if" block that compares to values and produces a Yes or
No. We use this a lot.
-
- Holding
- Accumulate: sums up its inputs
- Holding tank: sums up its inputs, optionally spreading them over a
time unit and optionally adding at the beginning versus the end of a time unit
- Retain: holds onto a value for a time. We used this to compare a
current value with a previous value in some coin-flip models.
- Inputs/Outputs
- constant
- input random number
- system variable. This allows you to select from a menu of system
variables, such as "current time," which could be days or years or
whatever your simulation is based on, or "current step" which could be. We
use this to determine the denominator for some of our "law of large
numbers" simulations or anything where we want to asymptotically approach
some value.
- Timeout: this generates "pulses" (true or false) at given times, or
even given time intervals. This is how the doors are closed in the
"untimed" simulation, where we close the doors after 8 hours but serve
customers that arrived before the doors closed.
- Interprocess Communication: we don't use this
- Math: these are mostly self-explanatory
- add
- conversion function
- conversion table
- divide
- equation
- Optimization: we don't use this
- Statistics
- Mean & Variance: we use this to compute summary stats for lots of values.
- Plotter Lib
- Histogram: counts the number of data or runs that fall into different
numerical ranges. Default is 10 bins, with the sizes determined by the
minimum and maximum value. You will usually want to customize these,
particularly if any data fall outside any bins. The block will tell you
if any data are missing from the histogram.
- Plotter I/O: plots the data from a process simulation. By default it
adjusts the x and y ranges to the data, which is usually fine. You can
plot up to 4 kinds of data. You can have different ranges, one for the
left vertical axis and one for the right. You can control which vertical
axis some input is plotted against in the "Trace properties" window, which
is the icon all the way to the left at the top of the Plotter I/O window.
You can also take logs of the data, using the "LN" icon. "Open Dialog"
(the next icon) allows you to show (or not) the plot at the end of each
run.
- Plotter, Multisim: plots one input for up to four runs. That is, if
you run the simulation four times, it'll show that one input for the last
four runs. It you run the simulation more times, it'll show the most
recent four runs.
- Plotter, Discrete Event: plots data from a discrete-event simulation,
otherwise very similar to Plotter I/O.
- Plotter, DE Multisim: plots data from discrete-event simulations,
otherwise very similar to Plotter Multisim.
- Utilities Lib. More on this later.
- Q: What does the W port on a QUEUE block mean?
It's the waiting time for the item that most recently left the block.
Here's a model that demonstrates this:
queue-w-port.mox
- Q: How do I configure an Extend Plotter I/O block?
- Q: What Extend Models do we know?
This is a web page of models we know
and the lectures they appear in.