Extend Environment
Extend Environment
scheduling, resource assignment, and even how subtle timing issues are resolved. These tools reduce the amount of
time required to gain confidence in the model.
When the model is completed, an interface is often
created to make the model usable and immediately recognizable by someone unfamiliar with the construction of the
model. Extend includes drag-and-drop tools for user interface creation as well as a variety of methods for communicating with other programs such as Microsoft Excel and
Access. This type of interface creation generally requires
no programming and can be done in very little time.
Finally, should the system prove particularly demanding to model, Extend includes a full featured programming
language, ModL. Anyone familiar with the C programming language will be instantly familiar with ModLs syntax and capabilities. However, ModL is easier to use in a
simulation application than a general purpose language and
more powerful than the scripting languages typically included with other simulation software.
These factors combine to make an efficient tool for
modeling large and small systems alike.
ABSTRACT
The Extend simulation environment provides the tools for
all levels of modelers to efficiently create accurate and
credible models. Extends modern, advanced design and
rich feature set reduce the amount of time developing,
validating, verifying, and analyzing simulation models.
Model builders can use Extends pre-built modeling components to quickly build and analyze systems with little or
no programming. Simulation tool developers can use Extends built-in, compiled language, ModL, to develop new
reusable modeling components. All of this is done within a
single, self-contained software program that does not require external interfaces, compilers, or code generators.
1
INTRODUCTION
EXTEND PRODUCTS
205
Krahl
Table 1: The Extend Product Family
Extend Product
Description
Typical use
Extend CP
Extend OR
Extend Industry
Extend Suite
Adds Proof Animation and Stat::Fit for distribution fitting to the Extend Industry package
EXTEND INNOVATION
Innovation
First template-based (library) simulation system
First open source modeling components
First simulation software designed for a GUI
First hierarchical modeling environment
First message based discrete event architecture
First Windows/Macintosh simulation system
First DDE scriptable simulation environment
First open source optimizer
First drag and drop ActiveX/COM support
First integrated support for Proof Animation
First integrated support for network communication
First integrated support for Internet data transfer
Before looking into how Extend can be used to build models, it is helpful to understand the Extend modeling environment (Imagine That, Inc. 2001).
Item Input
Item Output
Value Input
Value Output
206
Krahl
Model Worksheet
Libraries of blocks
Dialog
Help
Icon
Initial data
Behavior (code)
Block dialogs
Input data
Simulation results
207
Krahl
waiting in line) over time. Here the length connector (L) on
the Queue FIFO is connected to an input on the Plotter.
Paste-Link where the information is automatically updated between Extend and Excel
Blocks that utilize the IPC functions to communicate directly with other applications
ODBC (Open DataBase Connectivity)
Embedded ActiveX or OLE (Object Linking and
Embedding) objects
DLL (Dynamic-Link Library).
208
Krahl
Finally, the Statistics library helps users to collect and
analyze output data. Blocks from the Statistics library
automatically gather data from the specific blocks and calculate confidence intervals.
Extends block architecture aids the modeler in developing custom statistical calculations. Virtually any statistic
can be calculated by combining the appropriate blocks.
This makes it easier to develop custom reports displaying
familiar statistics to the model end-user.
5.6 Optimization
Extends Evolutionary Optimizer employs powerful enhanced evolutionary algorithms to determine the best possible model configuration. Using a drag and drop interface,
performance metrics and parameters that can be varied are
entered into the Optimizer block. These parameters are
used in an equation that defines the objective function.
When the model is run, the Optimizer block generates alternatives and locates the statistically best configuration.
Unlike external optimizers, Extends optimization is well
integrated into the program. For example, when the optimization process is complete, model parameters are automatically set to the optimal configuration. In addition, because the optimizer has been implemented in a block, the
source code is available for examination and modification.
The Industry database is relational and parent-child relationships can be used to better organize the information
in the model. For example, each entry in a table of part
types can reference its own unique routing table. This is an
extremely powerful feature for organizing the information
used in complex simulation models. This allows the modeler to easily modify model parameters in a central location
without having to change various values that are distributed throughout the model.
CUSTOMIZING EXTEND
6.1 Animation
Animation is a powerful presentation and debugging tool
that can greatly increase model clarity. In Extend, animation icons moving from block to block represent the flow
of items through the system. Users can choose from a
number of icons provided with Extend, create their own in
an external drawing package, or import them.
Animation is automatically a part of every Extend
model. A default animation is displayed when Show
Animation is turned on. Animation features can be added
209
Krahl
to a model in the form of different animation pictures that
represent different types of items, displaying values, levels,
color changes, or even sounds in response to simulation
events. In addition, custom animation can be added to display pictures and text, level indicators, and pixel maps.
For more sophisticated animation, Extend Suite includes Wolverine Softwares animation package, Proof
Animation. Activities, Resources, Generators, and Exit
blocks each have specific functionality to send information
to the Proof animation during simulation execution (Wolverine Software Corporation 1995). Additional animation features in Proof can be accessed in Extend through the Proof
library of blocks. This allows Extend modelers to easily utilize the industrys most sophisticated animation package.
6.2 Hierarchical Modeling
Figure 8: Call Center Model with Hierarchical Blocks
In the past, there have been at least two definitions of hierarchy in simulation modeling. The first definition, coined by
Imagine That, Inc (Imagine That, 1992), describes the
grouping or aggregation of system components (blocks) into
a single object. The second definition, first referred to later
in 1992, (Pegden and Davis 1992) describes a modeling system in which new primitive modeling constructs can be created from existing primitives provided by the simulation system. It appears that, as other simulation software packages
have matured and added features, other simulation companies have recognized Imagine Thats leadership in this area
and adopted Extends definition (Bapat and Swets 2000).
Extend provides unlimited layers of hierarchy, created
using a simple menu command. Hierarchy allows models
to be subdivided into logical components or sub-models,
represented by a single descriptive icon. Double-clicking
on the hierarchical block opens a new window displaying
the sub-model. This greatly simplifies the representation of
a model and allows the user to hide and show model details
as appropriate for the target audience.
Even a medium-sized call center model can become
difficult to maintain if all of the modeling components
must be at the same level. Extends hierarchy allows the
modeler to decompose the model into smaller, more manageable segments. Additionally, new model segments can
be added by dropping in a new hierarchical block. Figure 8
illustrates the use of hierarchy to organize a model where
each icon encapsulates a separate model segment.
By selecting a group of blocks and choosing Make Selection Hierarchical from the Model menu, a section of the
model can be encapsulated within a hierarchical block. Extends hierarchy fully encapsulates the enclosed block and
does not require the renaming of variables and connections. All of the connection names within the hierarchical
block are local to that block. This allows multiple instances
of identical hierarchical blocks in the same model (Pidd
and Castro 1998). The hierarchical blocks can be copied
within a model or saved to a library to be used again in
210
Krahl
The ModL development environment with its interface
for editing the dialog, help, icons, connectors, and code, is
illustrated in Figure 10. Other tools include block performance profiling, include files, and an interactive debugger.
6.5 Scripting
Scripting is a feature that allows models to be created
and/or modified through a suite of ModL functions. With
this functionality, users can create objects that automati-
211
Krahl
cally build and modify models. With scripting, users can
develop their own model building wizards or selfmodifying models. Without having to rely on generalpurpose wizards provided by the software vendor, users
can develop wizards specific to their needs and can have
complete control over the level of detail and accuracy resulting from automated model building.
Coupled with Extends ability to communicate with
other applications using interprocess communication
(IPC), scripting provides an easy way to allow other applications to control every aspect of Extend, including
building the model, importing/exporting data, and running the simulation.
7
AHEAD OF SCHEDULE
AND UNDER BUDGET
SAMPLE APPLICATION
Reuseability: Extend blocks (modeling components and hierarchical sub-models) can be saved
in libraries, reused in other simulations, and even
distributed to other modelers. This feature increases productivity and consistency of design.
Scalability: Because of Extends unlimited hierarchical structure, it is used to produce enterprisewide models with hundreds of thousands of blocks.
Visual transparency: Extends block icons are
designed specifically to convey the structure and
behavior of the model at a glance.
Connectivity: Extend supports the COM model
(ActiveX/OLE) and ODBC. Unlike other simulation tools, these technologies have been implemented in Extend as modeling components so that
interapplication communication is a drag and drop
operation, with no programming necessary.
Extendability (open source): The blocks that
come with Extend are developed using Extends
compiled language and integrated development
environment. They are open source to allow
modification and enhancement. This speeds the
evolution of better modeling techniques, as the
user can improve components and develop new
proprietary components.
Third Party Support: Because of its integrated
development environment, Extend has proven to
be the simulation engine of choice for more third
party applications than any other simulation tool.
212
Krahl
ence, ed. J.J. Swain, D. Goldsman, R. C. Crain, J. R.
Wilson, 390-399. IEEE, Piscataway, NJ
Pidd, M. and R. Bayer Castro. 1998. Hierarchical modeling
in discrete simulation. In Proceedings of the 1998
Winter Simulation Conference Proceedings, ed. D. J
Medeiros, E. F. Johnson, J. S. Carson, M. S. Manivannan, 383-389. IEEE, Piscataway, NJ
Wolverine Software Corporation. 1995. Using Proof Animation. Annandale, VA
AUTHOR BIOGRAPHY
DAVID KRAHL is Vice President of Technical Sales
with Imagine That, Inc. He received a MS in Project and
Systems Management in 1996 from Golden Gate University and a BS in Industrial Engineering from the Rochester
Institute of Technology in 1986. Mr. Krahl has worked extensively with a range of simulation programs including
Extend, SLAM II, TESS, Factor, AIM, GPSS, SIMAN,
XCELL+ and MAP/1. He is actively involved in the simulation community and is an adjunct faculty member at
Golden Gate University. His email address is
<[email protected]> and the Imagine
That Inc. site is <www.imaginethatinc.com>.
Figure 11: TRW Polar-Orbiting Satellite Model.
10 SUMMARY
Is Extend the one-click answer to all of the worlds simulation needs? Of course not, but its intuitive interface, rich
set of modeling components, extensive authoring and development environment, and more advanced simulation
technology make it a better solution for simulation engineers who need to efficiently utilize their modeling time.
REFERENCES
Bapat, Vivek and Nancy Swets. 2000. The Arena product
family: Enterprise Modeling Solutions. In Proceedings
of the 2000 Winter Simulation Conference Proceedings, ed. J. A. Joines, R. R. Barton, K. Kang, and P.
A. Fishwick, 163-169. IEEE, Piscataway, NJ
Imagine That, Inc. 1992. Extend Software Manual. San
Jose, CA.
Imagine That, Inc. 2001. Extend Users Guide. San Jose,
CA.
Krahl, Dave. 2001. The Extend simulation environment. In
Proceedings of the 2001 Winter Simulation Conference, ed. B. A. Peters, J. S. Smith, D. J. Medeiros, and
M. W. Rohrer, 217-225. IEEE, Piscataway, NJ.
Pegden, C. Dennis and Deborah C. Davis. 1992. Arena: a
SIMAN/Cinema-based hierarchical modeling system.
In Proceedings of the 1992 Winter Simulation Confer-
213