ExtendSim 9

ExtendSim has always offered the best balance between ease-of-use, flexibility, and scalability from the simplest to the most complex systems. Now is no different. Imagine That Inc. developers put their heads together with ExtendSim users and what they came up with is tucked inside ExtendSim 9.

We've added features with the future in mind...and that are tailored to the way you work so you can master complexity of any modeling challenge. Just check this list out!

New and Enhanced Features in ExtendSim 9.2

Improved performance and precision
Executive (Item library) SuiteAT
  A new method for reusing deleted item indexes enhances performance for discrete event models.
Data Specs (Value library) SuiteATCP
  Modified so it tightly restricts conditions under which an entire database or table can be registered, decreasing runtimes.  
Read(I), Resource Item, Set, and Write(I) (Item library) SuiteAT
  Improved runtimes by increasing performance.
Interchange (Rate library) SuiteAT
  Enhanced precision.
Value library SuiteATCP
Data Specs, Equation, Read, and Write
  Added right-click ability to automatically add a named connection.
Equation
  If equation debugging has been turned on, a red box shows up on the inside of an equation's icon.
Mean & Variance
  Added first value as the initial value for time weighted statistics.
Write
  Significantly modified and improved exporting to text files.
Item library SuiteAT
History
  Checkbox saves memory by disabling the recording of information during a simulation run.
Queue Matching
  Transfers ARM resources from inbound items to non-preserved batched items.
Transport
  The “Do Not Pass” option is now available when the delay is set, not just when speed or speed and distance is selected.
Rate library SuiteAT
Diverge & Merge
  Two new options to maintain outflow attribute values - when inflow effective rate is 0 and when all attribute values are Blank.
History(R)
  Checkbox saves memory by disabling the recording of information during a simulation run.
Valve
  Added a shutdown option, utilization statistics, and pie chart animation option. Plus information when the quantity and goal quantity had last been calculated and option to ignore a new goal under specific conditions.
Advanced Resource Management (ARM) Enhancements SuiteAT
Non-Preserved Batching
  Advanced resources attached to items entering a batching block (Batch and Queue Matching) are now transferred to the batched item. Note: This only applies to non-preserved batching.
Non-Preserved Unbatching
  Advanced resources attached to an item entering the Unbatch or Query Equation(I) block are now shared equally across all of the unbatched or “spawned” items. These shared resources have a “shared count”. As the cloned items holding shared resources go through release blocks, the resources’ shared counts are decremented.
Non-Redundant Resource Allocation
  If ARM resources are already attached to an item as it enters an ARM queue in the Queue and Queue Equation blocks, those attached resources are now used to help satisfy the new allocation requirement wherever possible.
Exclude Resource Release Options
  The Resource Release block now has the option to exclude certain resources from release based on that resources’ ability to satisfy one or more specified requirements. This is a way to retain resources on an item that will be used to satisfy some future downstream allocation requirement.
New item property “ARM Resource Order ID” in Get, History, and Item Log Manager blocks (Item library).
New input variable “AR Order ID” added to equation-based blocks reads an item's advanced resource order ID.
New system property “_AR Order ID”. The value of this property is the record index in the Resource Orders table.
Plotter library SuiteAT
Plotter, Discrete Event
  Added a checkbox that saves memory by disabling the recording of information during a run.
Utilities library SuiteATCP
Model Compare
  Added “Ignore blank values in original model” checkbox.
Pause Sim
  Resume option can also initiate a model run. New button runs the model if it is not running, pauses if it is running, and resumes if paused.
Real Timer
  Snapshot option creates a profile each time the block receives a message.
New function & Message handler SuiteATCP
DLLMakeProcInstanceLibrary
  Includes the library name so the user can specify in which library to look for the routine.
BlockSelect message handler.
Quality and Stability Improvements
  In addition to adding new features in the 9.2 release, we improved its quality and stability.

New and Enhanced Features in ExtendSim 9.1

Smart Blocks SuiteAT
Right-click on the output connector of an Item or Rate library block and this feature will pop up a list of suggested blocks to connect to.
Uses ExtendSim scripting functionality and an adaptive learning algorithm to seamlessly generate and continuously update the list of suggested blocks based on how you model.
 
New Blocks  
History (Rate library) SuiteAT
  Records a history of rate values over time.
Model Compare (Utilities library) SuiteAT
  Compares model results before and after running a model.
Enhanced Blocks  
Cost By Item (Item library) SuiteAT
  Added block-to-block animation.
Data Import Export (Value library) SuiteATCP
  Wild Card feature for table and worksheet names in the Data Import Export block.
Gate (Item library) SuiteAT
  Added Use Item Quantity checkbox.
Interchange (Rate library) SuiteATCP
  Implemented Flow Attributes when the mode of the Interchange block is "Tank is separate from item".
Mean & Variance (Value library) SuiteATCP
  Added option to ignore clearing for history.
  Added output connector for number of intervals.
Real Timer (Utilities library) SuiteAT
  Analyze model performance using the block profiling capability added to the Real Timer block.
Automated test environment SuiteATCP
Simplifies the process of comparing simulation results between two ExtendSim releases - it identifies any differences between models that were saved in a previous release and those same models run in the new release.
Compares simulation results before and after making changes to a model.
If there is no Results tab, the entire dialog is used.
  Note: The test environment is only available on Windows operating systems.
Improved Smart Connections SuiteATCP
"Bump to Connect" automatically connects a new block to an existing block and spaces them apart.
"Auto Insert" inserts a new block between two existing blocks and automatically increases the spacing between them.
Enable/disable Smart Connections using an option in the Edit > Options > Model tab.
Improved Auto Route Connection Lines SuiteAT
Intelligent connection line control anticipates how you want the connections between Item and Rate connectors to behave when you move blocks.
Enable/disable Auto Route Connection Lines using an option in the Edit > Options > Model tab.
New/changed options in the Edit > Options > Model tab SuiteAT
"Auto Route Connection Lines"
"Smart Connections" (Bump to Connect and Auto Insert)
  Both options only apply to Item and Flow connectors (Item and Rate library blocks)
Improved Advanced Resource Management (ARM) SuiteAT
If an allocated resource goes off shift and the item it's allocated to is in the Activity, you now have the option to either shut the item down or renege it.
New and changed functions and message handlers SuiteATCP
Message handler
  OldFileUpdate
Sent if the file version is older than the application version.
Functions
  ProfileBlockGet
Returns the block profile results for a specified block
  GetRunParameter
Similar to GetRunParameterLong except returns a real rather than an integer
  ConArrayGetNthCon2
Same as ConArrayGetNthCon except it has an additional argument to specify the connector on a different block.
  GetBlockTypePosition
Two new values for Type: 5 (embedded object) and 6 (blockControl)
File format change SuiteATCP
Due to architectural changes in ExtendSim 9.1, files created and saved in 9.1 are not backwards compatible so are not readable by ExtendSim 9.0.
Quality and Stability Improvements
  In addition to adding new features in the 9.1 release, we improved its quality and stability.

New Features in ExtendSim 9.0

New Statistics (DB) Report SuiteATCP
Statistics (DB) ReportStatistics (DB) report contains final values for output parameters. Statistical data from each simulation run is stored in an ExtendSim database, organized by block type so that there is one table per type of block. Blocks included in the report can be all blocks in the model or a user-defined subset of the blocks. Report tables can be exported to external databases or Excel when the simulation is complete.

Of course, ExtendSim’s existing text-based reports have been maintained, but the new Statistics (DB) report provides better organization, presentation, and accessibility of model results.

This sample report shows resource usage in a healthcare model.
 
ADO Database Support (Windows only) SuiteATCP
Data Import/Export for ADO DatabaseCommunicate with the most commonly used external databases. ActiveX Data Objects (ADO) provides built-in import and export support for Microsoft Access, SQL Server, and MySQL. ADO sends an entire table of information at one time, providing high-speed data interchange.

ADO is faster and easier to use than ODBC and it does not require defining a data source name (DSN) before accessing data. It automatically configures the ExtendSim database when importing and the external database when exporting. Plus mirrors fields and records between the source and its destination.

For example, here is the dialog of the Data Import/Export block configured for ADO Import from a SQLServer database into an ExtendSim database. The ADO interface is designed so that the modeler can access an ADO database by adding a Data Import/Export block to the model and selecting the internal and external data sources.
Flow Attributes SuiteAT
Flow AttributesEnhancing ExtendSim’s unique discrete-rate technology, flow attributes track the properties of the type of product that is modeled as a continuous "flow" in a discrete event environment. Examples of flow include bulk material such as grain or ore, liquids and gases, and product in a high-speed production line. A flow attribute is a quality or characteristic of flow that stays with it as it moves through the model, such as type, product, color, and so forth. Flow attributes provide information about the flow and allow you to organize quantities or volumes of flow into layers. The entire set of attribute values assigned to a particular layer is what distinguishes it from other layers. In other words, all the units of flow in a layer possess the same set of flow attribute values.

Flow attribute usage includes:
The flow held in a Tank can be organized into individual, distinct layers. This allows you to control where incoming flow is deposited and which type of outgoing flow next exits.
Flow can be routed through the Merge and Diverge blocks based on flow attribute values.
Attributes are assigned to the flow by the model builder. They become linked to sections of flow that pass through the blocks, according to settings in the blocks’ dialogs.
The flow held in a Tank can be organized into individual, distinct layers. This allows you to control where incoming flow is deposited and which type of outgoing flow next exits.
Excel Add-In SuiteAT
Excel Add-InThe ExtendSim DB Add-In for Excel works with database text files to transfer data between an ExtendSim database and Microsoft Excel. Excel has become the ubiquitous repository for simulation data and is often used for ad-hoc analysis. However, because of performance and scalability issues, Excel is a less-than-ideal database. To bridge the gap between Excel as a data repository and the ExtendSim database, we created an Excel Add-In that allowed exported ExtendSim database text files to be imported into Excel for editing, then exported back to ExtendSim.

ExtendSim 9 contains an entirely new version of the Add-In that supports most of the construction and editing features available in ExtendSim. This means that you can completely specify a new ExtendSim database in Excel, including parent/child relationships, cell randomization, named distributions, and more. Afterwards, export the database for use in ExtendSim models. In addition, the new Add-In leverages the latest Excel features such as ribbon interface, XML-based file format, and 1 million rows/16,000 columns. Plus, database consistency checking is now faster and has expanded capabilities.
Item Logging SuiteAT
Track items and their states as they move through a simulation. In addition to the existing ExtendSim trace features, the Item Log Manager (ILM) block supports customized data collection and report configuration from within ExtendSim by doing two things:

. During the simulation run, the ILM block directs other blocks in the model to collect data on items as they pass through. These “remote” data collecting blocks include History, Activity, Queue, Queue Equation, and Resource Item. Each of these blocks can be remotely instructed to collect specific item property information for the ILM through its “Data Collection” tab.
. Once the remote blocks have collected the data, the ILM packages it into a report. You can control which types of data are included in the report and the order in which the data appears. This is done on the ILM block's “Configure Log” tab.

Item LoggingOnce the run is complete, any number of reports can be generated from the data that has been collected in the remote blocks. These reports can be generated after each run either automatically or manually. Item loggingAny number of ILM blocks can be used in any one model with each ILM block responsible for generating its own report. The ILM also supports generating reports across multiple runs.

This screenshot is an example log of aircraft operations, showing the individual plane ID’s and their corresponding entry and exit times through various points in the model.
Templates Library SuiteAT
Templates LibrarySpeed up model building by using pre-built templates for common modeling situations. These templates are actually submodels within hierarchical blocks - constructs created in ExtendSim by combining just a few blocks together.

ExtendSim’s Templates library blocks are similar to standard blocks in that they contain an icon, help, blocks, and animation that can be used directly by the modeler. However, they contain the combined functionality of many blocks. As with any ExtendSim block, simply drag a block from the Templates library into the model and change the parameters to reflect a specific modeling situation.

Template library blocks include:

. Activity (cycle-based shutdown)
. Activity (load / unload)
. Create (arrivals vary by time)
. Queue (batch all items)
. Queue (dump contents)
. Queue (hold until quantity reached)
. Queue (random renege)
Smart Connections SuiteAT
Intelligent connection line control better automates the modeling process when moving blocks around. Imagine That has developed a series of features collectively called “smart connections” that allow the modeler to quickly and easily modify models by moving blocks into strategic positions.

. Bump to Connect
  When a block from the Item or Rate library is placed in the model and its input connector is placed on an output connector of the same type, ExtendSim will automatically connect the blocks, spaces them evenly, and aligns the connectors.
. Auto Insert
  Drop a block onto an existing connection line so either the block's input or the output connector is on that connection line. Smart connections will increase the spacing between the existing blocks and insert the new block inline between two existing blocks.
. Connection Routing
  If a block is moved, ExtendSim will reroute the connection lines so they will not cross over the icon of the block.
Other New Blocks
Get(R) and Set(R) SuiteAT
Both the Get(R) and Set(R) blocks support the Rate library's new flow attributes feature.
Set(R)
The Set(R) block is for setting value or string flow attributes.

Get(R)The Get(R) block displays either multiple flow attributes from one location or one flow attribute from multiple locations.
Meter SuiteATCP
MeterProvides more flexibility and features than the Meter control (Model > Controls > Meter). For example, the color and pattern of the indicator change when the current value has reached specified high and low values. Use the Meter block as a progress bar or to animate a hierarchical block.
Other New Features Added in ExtendSim 9
Equation-based blocks SuiteATCP
. New input and output variables in equation-based blocks.
. Options added in equation-based blocks that provide more control as to when the equation executes.
Data import SuiteATCP
New options for importing a named range of data from Excel.
Interval statistics SuiteATCP
Record the mean, variance, confidence interval, and standard deviation at specific intervals during the simulation using interval statistics.
Quantile statistics SuiteATCP
Can now be calculated within ExtendSim.
Multi-component failure modeling SuiteAT
New options are available for multi-component failure modeling.
Functions & message handlers SuiteATCP
There are a number of new functions and message handlers.

Enhancements in ExtendSim 9.0

String Attributes SuiteAT
. If a change is made to the value of a string attribute, all the blocks that were referencing the old attribute value will now reference the new value.
. If the index for the value of a string attribute changes (the order of the values for the string attribute change), all the blocks that were referencing that value will be alerted to the change in location.
. Changes to string attribute values defined in the database are now error checked at the beginning of the run. This provides more freedom to manipulate databases without having to worry about losing critical pieces of information.
. A new string attribute interface in the Executive block allows modelers to make global changes to string values that are referenced in other blocks in the model.
 
Speed Improvements SuiteAT
. Models with blocks that don’t have Simulate messages now execute faster.
. Linked list optimization speeds up the performance of Item library queues and the blocks in the Rate library.

Other Application Enhancements
ExtendSim Database SuiteATCP
Automatically resizes itself based on the number of rows in the imported data.
Variable names SuiteATCP
The upper limit of the variable name length for static and local variables has ben increased from 63 to 127 characters.
Data tables SuiteATCP
Double-clicking the upper left cell of a data table linked to a database goes directly to the database view of that table.
Block Profile SuiteATCP
Reports results even if the simulation ends prematurely.
Shift capabilities SuiteAT
ExtendSim’s shift capabilities are enhanced and interfaced with additional blocks.
All ExtendSim blocks SuiteATCP
Have been enhanced so that fewer blocks are required to build many models.
E3D Suite
Mount nodes on custom 3D objects have been increased from 8 to 20.
Enhancements to Equation-Based Blocks SuiteATCP
. Additional input and output variables in most blocks.
. New checkboxes in the Options tab control the execution of the equation.
. Equation blocks now support static variables that have been declared in include files.
. Query Equation (AT and Suite only) has new input variables.
Value Library Enhancements
SuiteATCP
Data Import Export
. Incorporates the new ADO capability.
. New option to import named range from Excel spreadsheet.
. Database field names can be exported to Excel.
. When importing from Excel, the number of rows in the database automatically adjust.
Mean & Variance
. Collects interval statistics for a specified time period. At the end of the period it reports the calculated statistics, clears the statistics, and begins a new reporting period.
. Has quantiles so you can see what proportion of the observations fell within an interval.
Item Library Enhancements
SuiteAT
  Residence blocks (Activity, Queue, Queue Equation, and Workstation)
Added variable item input connectors to each block to allow the merging of multiple item streams. This functionality works the same as the Select Item In block’s Merge option.
Activity
Two new value inputs:
  . PC (Processing Cost) allows users to target different processing costs on different items.
  CPI (Cost Per Item) attaches a unique CPI to each item.
One new value output:
  TE (Total Items Exited)
If preempting with items, attributes on the preempting item can be transferred to the preempted item.
Executive
Added variable connectors for events.
Gate
Now allows the Shift block to control its behavior.
History
. Provides more control over data collection in ExtendSim 9, plus has new options for handling data storage in multi-run scenarios.
. A checkbox on the Options tab causes data to be stored in a database table at the end of each run.
Query Equation (I) (AT and Suite only)
Added targeted querying and two new input variables.
Queue Equation
Gained new input and output variables.
Queue Matching
New “recipe” building and batching capabilities added.
Read (I) & Write (I)
These blocks have new options for querying where to read and write data.
Scenario Manager(AT and Suite only)
For Windows only, the Scenario Manager now supports the optimal design of experiments (DOE) method for Minitab 16, a statistical software product from Minitab Inc.
Shift
Allows modelers to display a symbol on block icons if a specific Shift block is used.
Shutdown
. Separate and independent polices can be specified for both Shift and connector-based scheduled shutdowns.
. Off-shift downs (OFD) connector reports the number of shutdowns due to off shifting.
. Accumulated off-shift downtime (OST) connector reports the amount of time the block has been down due to off shifting.
. The “multiple components” option has new capabilities:
  The matching feature allows one master failure table to represent multiple failure points in a model.
  Summary failure data for each component.
  Component state and dependency/independency options.
  Block state versus component state reports.
Transport
Now has an option to prevent items from passing each other when traveling through the block.
Rate Library Enhancements
SuiteAT
Flow attributes
. Characteristics of the flow such as type, product, color, and so forth can be associated with each specified volume of flow.
. Two types of flow attributes are supported: layer and string layer.
Contents tab
Each Rate block that holds/provides flow has a Contents tab showing the attribute values of its flow by volume.
Interchange
Now includes a matrix for converting item attributes into flow attributes and vice versa.
Tank
Provides multiple options for defining how the incoming and outgoing flow should be layered.

New Functions, Message Handlers, & Global Variables

In addition to the functions listed below, include files are useful when creating custom blocks. To see a block’s include file, open the block’s structure. Then give the menu command Develop>Open Include Files.
New ModL Functions SuiteATCP
blockRect
clearUndo
DBAddressGetAllIndexes
DBDatabaseOpenViewerToTab
DBDatabaseTabChangeName
DBDatabaseTabDelete
DBDataGetCurrentSeed
DBDataSetCurrentSeed
DBFieldExists
DBRecordExists
dialogRefresh
EquationCompileSetStaticArray
fileChoose
INetFileImportText
INetOpenURL
lastSetDialogVariableString
whoInvoked
WinSetForegroundWindow
New Message Handlers and Global Variables SuiteATCP
ModifyRunParameter
BlockReceive5-9
SysGlobal20-29
SysGlobalInt30-59
ADO (ActiveX Data Object) Functions SuiteATCP
These functions are used to communicate between ExtendSim and external databases. They are not part of the ExtendSim application but instead are located in the “ADO_DBFunctions v9.h” include file.
ADO_Setup
ADO_Close
ADO_OpenConnection
ADO_GetNumTables
ADO_GetTables
ADO_GetTableColumns
ADO_SetTableColumns
ADO_AddRecords
ADO_SQLServerGetServers
ADO_SQLSserverGetDatabases
ADO_CreateTable
ADO_GetFields
ADO_GetNumRows
ADO_GetNumFields
ADO_ExecuteNonQuery
ADO_ExecuteQuery
ConvertADODataType
ConvertExtendSimDataType
DB_FieldGetTypeString
ADO_CheckCompatableFieldType