Search
 
.
. .
ExtendSim 8 Updater
Upgrade to ExtendSim 8Update single user and network ExtendSim 8.
.
ExtendSim LT 8 Updater
Upgrade to ExtendSim LT 8Update ExtendSim LT 8.
.
System Requirements
Systems RequirementsWhat it takes to run ExtendSim.
.

License Agreement
License AgreementFor single user ExtendSim licenses.

. .
. . .
.

 

 

From ExtendSim 8.0.1 to 8.0.2
Released August 18, 2011

.

.

.Documentation Notes

bullet DBDatabaseImport() ADDED NEW BEHAVIOR: if databaseName<delete>, delete left over tables that were not imported in this file.
bullet GetSimulationPhase now returns a value of 14 during the open model message handler.
bullet

DBTableGetProperties() and DBTableSetProperties() were documented incorrectly. Sets initialization method:

bullet

0 is no initialization

bullet 1 is delete all records for every run
bullet 2 is delete all records for first run only
bullet Worksheet line thickness can now be adjusted. Select the line to be adjusted, then change the border thickness from the menu.
bullet For DTColumnTagGet, a which value of 2 will return the value of the header column tag.
.

.

.Application Level Enhancements

bullet New database limits for DBAddress:
 
500 Databases
10000 Tables
1000 Fields
1000000 Records
OR
500 Databases
1000 Tables
1000 Fields
10000000 Records
See the pdf version of the Developer's Reference for descriptions of new functions.
bullet INetFileImportText
bullet INetOpenURL
bullet EquationCompileSetStaticArray
bullet Clone scripting is now working properly with pasted clones.
bullet Dual monitor windowing fixed for plotter and Notebook.
bullet HoursInADay, daysInAYear, etc were defined in the Simulation Setup dialog as integer values; they are now stored as real numbers.
bullet Using Years or Months as the base time unit while using calendar dates is now a warning error condition.
bullet String datatable string width calculation deals better with <...> formatting.
bullet Dynamic links to fields and records of tables would get update messages if a change occurred on some other field or record of that table. (Redundant messages.)
bullet Fixed equation include file problems.
bullet Can now declare static variables in equation include files.
bullet Connector values are now correctly reset at the end of a simulation.
bullet Randomized seed fix - fixes situation when two runs started within a short time could have the same randomized seed.
bullet DBRecordFind() was not finding blank record if exact match parameter was false.
bullet DBFieldSetInitialize() did not allow string initialization.
bullet Right click on database table viewer works better.
bullet Calling ListSetName with a name longer then 31 characters will no longer cause a crash.
bullet Empty SafeArray cells from external sources default to blanks not 0.0.
bullet Silent Abort called by a block before running a simulation could cause the next simulation run to fail.
bullet Linked list Optimization.
bullet Fixed problem that could sometime cause a crash when you close the Equation editor external window.
.

.

.Library Level Enhancements

bullet Activity
bullet

Attributes on a preempting item may now be transferred to the preempted items.

bullet Equation(I)
bullet

Added the ability to declare variables in include files.

bullet Added the option to convert date/time data for DB read and DB write variables.
bullet Get
bullet

The Initialize results at start of run was overloaded. Consequently, the If attribute value is blank option was added to give more precise control.

bullet Added check for either the attribute values or attribute names to be displayed before calling function to show the values. This has improved performance and reduced flickering.
bullet Queue Equation
bullet

New input variable called QEQ static item value added.

bullet Added ability to declare variables in include files.
bullet Added option to convert date/time data for DB read and DB write variables.
bullet Queue Equation block can now post calculation event times.
bullet New input variable called next calc event time added. This variable reports the block’s next event time.
bullet Resource Manager
bullet

Enabled new logic to allow users to externally manage resource down events.

bullet Added new field to the Resource Orders table used to save the column index of the attribute pointing to the attached DB table.
bullet Added new transaction type to enable tracing of reneged resource orders.
bullet Notify Resource Pool block when a pool is deleted from the Resource Manager block.
bullet Implemented message handler for receiving messages from Batch blocks when resource order items get batched/unbatched.
bullet Increased the efficiency of searches for resources to satisfy quantity expressions.
bullet Implemented capability to create filtering conditions on custom properties that have parent-child relations in the visible database.
bullet Implemented a new option to copy advanced resource data from the reserved and visible databases when copying and pasting the Resource Manager block from one model to another.
bullet Added feature to allow any resource requirement to be used in a custom release rule to release resources from an order.
bullet Added message handler in BLOCKRECEIVE7 to allow blocks to query for a list of selected resources for a specified resource requirement.
bullet Implemented the capability to delete custom resource properties.
bullet Shift
bullet

Added BlockReceive3 message handler for responding to current status queries.

bullet Equation
bullet

Added the ability to declare variables in include files.

bullet Added the option to convert date/time data for DB read and DB write variables.
bullet New input variable called next calc event time which reports the block’s next event time was also added.
bullet Data Import Export
bullet

Added import on first run and export on last run.

bullet Math
bullet

FixDecimal was requiring two inputs, however it only needs one.

bullet Mean & Variance
bullet

History table can now be linked to a database table.

bullet Query Equation
bullet

Added the ability to declare variables in include files.

bullet Added the option to convert date/time data for DB read and DB write variables.
bullet New input variable called next calc event time which reports the block’s next event time was also added.
bullet Scenario Manager
bullet

Minitab® can be used to generate an experimental design.

bullet Scenario factors and responses can now be exported to Minitab®.
bullet Report sets can be selected from the Scenario's table on the Scenario's tab.
bullet New option to ignore blanks in responses. If set, any summary statistics will ignore blank response values.
bullet Added support for distributions in database cells for database factors.
.

.

.Library Level Fixes

bullet Activity
bullet

Bypass calling Extend Date functions whenever possible.

bullet Fixed bugs in the Utilization and Activity State statistics.
bullet Updated Help description of options for utilization calculation.
bullet Fixed bug when Activity is controlled by Shift and Shutdowns simultaneously.
bullet Fixed bug when storing remaining process time on a preempted item.
bullet The Full output value connector will now always broadcast up to date information.
bullet If the C input is connected, Activity could be in a blocker role.
bullet Added code to notify Resource Manager when block transitions to ON/OFF due to shift status changes and shutdown.
bullet In on PEI_In, some code was removed that could have potentially stopped items from entering PEI_In.
bullet Moved call to GetHighestPriorityItem() in GetItem() to fix a problem with the P connector output.
bullet Added calls to MoveItem() and SendItem() in the preemption functions so that if there is a time tie between an item completing processing and a preemption event, completed items won't get preempted.
bullet Batch
bullet

Fixed setting first attribute in matching batch mode.

  Initialized animation picture to a green circle rather than a blank if no valid animation attribute was set.
bullet Convey Item
bullet

Improved animation of multiple items moving at the same time.

bullet Create
bullet

Was getting array out of bounds error message if there were blank rows at the end of an empirical table.

bullet Added reentrance flag to on valuesOut.
bullet Now adding the random DB distribution ID attribute to the global array in StepSize.
bullet Information
bullet

Added throughput calculation to FinalCalc. This fixes an error in throughput calculation as it was only being done when items passed through the block and one more calculation was needed to get the final value.

bullet

Query Equation (I)

bullet

Fixed Passing block type. Dialog variable name was incorrect.

bullet Queue Equation
bullet

If a WANTS message is received, need to always check if there are items in the departures list.

bullet Enhanced the integration of Queue Equation with downstream Select Item Out.
bullet Fixed bug that would occur when grabbing advanced resources.
bullet Queue Matching
bullet

Removed obsolete reference to ItemArrayI[ItemIndex][3]. This was used in Extend 5 and earlier when batching with preserve uniqueness.

bullet Queue
bullet

Removed obsolete reference to ItemArrayI[ItemIndex][3]. This was used in Extend 5 and earlier batching with preserve uniqueness.

bullet Only the first item will get the index of the preserved items, if the value is > 1.
bullet Changed the condition for checking simulation phase when animating the icon because new values for simulationPhase() were added in 8.0.2.
bullet Deleted the error message that would appear when clicking on the header of the ResourceTable.
bullet Pass column index of the attached DB table address attribute when ordering advanced resources .
bullet Explicitly set a returned value for CalcRenegeTime when reneges are immediate to prevent uninitialized memory problems.
bullet Changed the timing of animating the icon during OPENMODEL to be after version compatibility actions are performed.
bullet Added refresh icon to datatable resize so that any changes will be shown on the icon.
bullet Read(I)
bullet

Fixed a bug with text files. The delimeter was not getting set properly.

bullet Made the conditions under which the local copy is disposed of at end of run tighter.
bullet Selectively respond to link alert messaged when reading whole row or whole column to improve performance.
bullet There was a problem with the record search option getting turned off in open model.
bullet The behavior of dataOutTimeUnits_pop was reversed.
bullet The call to DataOutSetup() in DB_CheckTableIndex() was causing the start and end row/column to be invalidly changed.
bullet

Resource Item

bullet

If costing is not enabled, costing properties are now not assigned to the items.

bullet Removed an obsolete reference to ItemArrayI[ItemIndex][3]. This was used in Extend 5 and earlier batching with preserve uniqueness.
bullet Resource Manager
bullet

Made sure costing is turned on in ON CREATEBLOCK, PASTEBLOCK, and CHECKDATA.

bullet Closed a hole in the resource allocation logic that was missing opportunities to allocate available resources.
bullet Added code to determine if resource requirements, quantity expressions, or filtering conditions depend on the resource pools selected for deletion in the Resource Manager block's Resources tab.
bullet Added condition to identify when Mode_POP is clicked by user to prevent cancelling in message handler when model time units are changed.
bullet Added field to provide a forward link to resource order linked list to fix a problem with releasing resources from nested resource orders.
bullet

Fixed array exceeds dimension error by not populating list options popup in populateListOptionsPopup if no filtering conditions have been defined.

bullet Don't update frame buttons state if frame contents are not visible.
bullet Check status of resource order before responding to releasing resource event.
bullet Notify Resource Pool block when a pool is deleted.
bullet Fixed problem with color settings in popups in the Requirements tab of Resource Manager.
bullet Added code to guarantee unique ID for requirements database table when creating new Quantity Expressions in:
. reateResPropFilteringCondition
. createResPropQuantityExpression
. createResPropResRequirement
bullet

Added standard code for parameter passing mechanism to BLOCKRECEIVE3 message handler and tightened up coupling to data changes with Shift and Resource Pool blocks.

bullet Fixed problem with moving selected resources into a group in the Resources tab of the Resource Manager when in Manage Groups mode.
bullet Implemented several changes to better support the response for LINKSTRUCTURE changes to the visible Advanced Resources database.
bullet Eliminate array exceeds dimension errors when displaying resource requirement rankings in the Policies tab of the Resource Manager by performing array bounds check on RM_ResourceNames_Records_DA list in refreshResReqRankingTable.
bullet Removed string value comparison in non-string field content changes in LINKCONTENT message handler.
bullet Added code to look for child resource order if parent doesn't exist or isn't in use when releasing resources from an order.
bullet Reduced model runtime by adding code to delay the initialization of searchable resources until servicing waiting orders.
bullet Ignore disabled resources for shift status changes.
bullet Added logic to more robustly accommodate user cancelling from prompt to specify a resource pool name.
bullet Check for out-of-range condition before reading Resource Requirement names in Resource Manager dialogs.
bullet Removed call to addShift in Shift_POP message handler because this is now triggered by the Shift block when it is added to the model.
bullet

Added code to force the Executive block to update its list of string attributes when string attributes are linked to the Shifts table and a shift is removed from the model.

bullet Set pointer to attached resource table address in visible Resource Orders table as well as hidden table.
bullet Check for custom properties with parent fields when refreshing the filtering list table in the Resource Manager block.
bullet Ignore disabled resources when updating pool statistics.
bullet In loop to delete pool resources in deletePoolResources, make sure next resource is defined.
bullet When releasing resources from orders, will now check for closed loop condition in the linked list of nested resource orders. 
bullet Fixed problem with the construction of the hierarchy string in the Resource Transaction Log.
bullet Correction to utilization calculation in computeResourceUtilization when resource is in neither the IDLE or BUSY state.
bullet Instantly update cost data in Pools tables in RM_UpdatePoolSettings.
bullet Make sure there are resources present in the model before determining what resources are searchable for a given Quantity Expression.
bullet Disable off-shift resources immediately when event is received to transition to the DISABLED state.
bullet

Set resource cost values to zero if no values passed from Resource Pool block.

bullet Set and clear parent indexes for Resource Orders in the Advanced Resources table when releasing all resources from resource orders.
bullet Added code in InitializeShiftsTable procedure to cleanup Shifts table as the result of pasted Resource Manager blocks.
bullet Comment out the deletion of the databases and the disposing of associated array as we need to preserve these DBs because they may be referenced by Query Equation blocks.
bullet Resource Pool
bullet

Added check to ensure resources were on shift before trying to allocate them.

bullet

Added setting L and in use connectors when the shift changes.

bullet

Select Item In

bullet

Fixed problem when Select connector was used. Invalid connector values were getting blocked even if top or bottom connector was selected.

bullet

Select Item Out

bullet

PostInitSim to check the name of the attribute value.

bullet Select block now tries to pull item immediately through the block before scheduling a 0 time event if predict the path is not selected.
bullet Block now checks for a blank (novalue) match in the attribute table. If an attribute value is blank and the table has a blank in the attribute column, this will be a match.
bullet PROPERTY_NAME_CHECK message is not propogated if predict_chk is off. This was causing spurious error messages.
bullet Revised condition for query message. ItemIndex was uninitialized and this was sometimes causing the block to not pass items when it otherwise could have.
bullet Added check to make sure that one of the output connectors is selected before sending the needs message.
bullet Changed condition to >= so that a random value of 0 will be dealt with correctly.
bullet Set
bullet

Added conditional DB registration to eliminate unnecessary alert messages and improve performance.

bullet

The resize bar was added to the attribute in connector to allow users to collapse the connector.

bullet Added check for either the attribute values or attribute names to be displayed before calling the function that displays them. This improves performance and reduces flickering.
bullet Shift
bullet

Rewrite of find in hierarchy function to speed up the search of blocks using a particular shift.

bullet Removed some unnecessary Advanced Resource initializations from OPENMODEL.
bullet Removed the abort from DELETEBLOCK message handler.
bullet Add BlockReceive3 message handler for responding to current status queries.
bullet Shutdown
bullet

The Shutdown block was completely rewritten to fix existing bugs and support future development. This rewrite was intensively validated.

bullet Throw
bullet

Added dynamic resize of catch block label.

bullet Transport
bullet

Improved animation of multiple items moving at the same time.

bullet Workstation
bullet

Changed condition for checking simulation phase when animating the icon because new values for simulationPhase() were added in 8.0.2.

bullet Write(I)
bullet

Fixed bug with the last record + 1 record index option.

bullet Fixed bug with the Expand number of records if necessary option.
bullet Fixed a connector tool tips error.
bullet Fixed bug with the Input data is added to destination data option. The write value was doubling with each write when the write source was a typed constant.
bullet All Rate blocks
bullet Fixed problem with update Hblock command: When an Hblock update command was sent, the mapping of the Rate blocks were not updated properly.
bullet Convey Flow
bullet

Precision issue: declare the convey flow full if the currenttime is the full event time, even if the calculation does not precisely get to full.

bullet Need to call ListCreateElement before ListAddElement otherwise risk of uninitialized value.
bullet Diverge
bullet

Bug fix in select, distribute, and priority modes for the calculation of the potential rates.

bullet Remove the precision adjustment done for cumul quantities because it caused time tie issues and propagated imprecision problems.
bullet Interchange
bullet Content in the block is updated when the shift changes.
bullet Merge
bullet

Bug fix in select, distribute, and priority modes for the calculation of potential rates.

bullet Remove the precision adjustment done for cumul quantities because it caused time tie issues and propagated imprecision problems.
bullet Tank
bullet

Send new update for the output value connector contents more often.

bullet If the capacity of the Tank changes and the simulation is not running, the block does not create an event.
bullet The update of the initial variation in the tank is done before the tank interval is updated.
bullet Bug fix for animation Hblock object when simulation is not running.
bullet Content in the block is updated when the shift changes.
bullet To improve the calculation of the potential rate, a maximum Rate limit is added when the Tank is full or empty.
bullet Valve
bullet

Fixed bug so a Valve not connected to inflow but connected to outflow will work properly.

bullet In order to access the link button in the advanced status table, limit the editing to only the cells in the table.
bullet Data Import Export
bullet

Added a condition to check if this is a discrete model that turned off the simulate messages so that importing and exporting only occurred at the start and end of the simulation and when the input connector received a message.

bullet Added redirection to ExtendSim FAQs if OLECreateObject for Excel fails.
bullet Random Number
bullet

If there is an error in the distribution, the icon plot is turned off.

bullet

Read

bullet

Fixed a bug with text files. The delimeter was not getting set properly.

bullet Tightened the conditions under which the local copy is disposed of at the end of run.
bullet Selectively respond to link alert messaged when reading whole row or whole column to improve performance.
bullet There was a problem with the "record search" option getting turned off in open model.
bullet Reversed the behavior of dataOutTimeUnits_pop.
bullet Scenario Manager
bullet

Added additional error messages if the database table is not fully specified.

bullet Fixed calculation of column width for tables.
bullet Fixed problem where the last report type was the same as the first.
bullet Changed reports so that the type of statistic (m, v, max, min...) showed up before the response name. This made the reports consistent with the scenario dialog table.
bullet Added saving and restoring relationships for database factors.
bullet Fixed problem where name tracking would change the scenarios if the factor type was a record and there was no ID column.
bullet Added support for distributions if the DB factor type is a record.
bullet Fixed infinite checkbox for step size.
bullet Fixed problem where too many rows were deleted in the All Scenarios table if the table was resized.
bullet Unified Excel and text file export as they were nearly identical. Fixed problem where export did not work if there were database factors.
bullet Popups
bullet

Replaced on OpenModel with on HBlockFromLibrary and added new on OpenModel to record ID field value when the model is opened.

bullet The Popup_prm and PopupSelectionOut needed to be restored when saving H-block value.
bullet Plotter, Discrete Event
bullet

Need to know where the call came from in order to set points independently for the different streams. The problem is that when different streams are connected and have continuous information, they need a message to update information and did not get it so the information reported was not up to date in the plotter.

bullet Plot distribution v8 include
bullet

The dynamic array empirical_PDF could have been created to a random size unnecessarily in 8.0.1. It caused problems when plot sample button was clicked.

bullet Fix to recognize a constant distribution when selected.
.

.

.Other Changes and Enhancements

bullet AR Constants v8.h
bullet Added new constant AR_IS_DB_ADDRESS_LINKED_MSG for queries to Executive block to determine if a specified database address is linked to a string attribute.
bullet AR Resource Manager v8.h
bullet Added code to accommodate clearStatistic events from Resource Pool blocks.
bullet Bypass resources that are currently disabled in AR_DisablePoolResources.
bullet Correction to how resourcesToDisable is computed in RM_UpdatePoolSettings.
bullet Added code to synch database resource statistics with Resource Pool blocks.
bullet Accommodate parent-child relations in TransferHiddenData2VisibleTbls.
bullet Use Resource Manager's allocated record number in calls to ScheduleServiceWaitOrdersEvent.
bullet Added new procedure setupShiftsMenuList to encapsulate setup of shift popup menu list.
bullet Added new procedure updateShiftsData to encapsulate the updating of shift-related database data.
bullet Added new function areDBindexesValid to provide generic in-range test for a complete set of database indexes.
bullet Changed to set local variable instead of popup in compareDBvalues2DialogSettings.
bullet Dispose temporary array before making comparison between Resource Release Rule dialog and database settings.
bullet Added new function to query the Executive block about whether a database address is linked to a string attribute,
bullet Added calls to the new function convertTemplateTable2HiddenTIdx that supports language translation.
bullet Equation v8.h
bullet iVarsIn_ConLabelsSet() and oVarsOut_ConLabelsSet() are now more efficient.
bullet Changed Advanced Resource DB writes to use new RESERVED API functions
bullet In on CreateBlock, the calc when for input cons was defaulting to "after zero time event" -- which is wrong. It has been changed to "immediate".
bullet In BlockReceive0, we were not conditionally posting the next future event. Why is this a bug? Notice in on iVarsIn and on oVarsOut a future event is posted if the user chooses to "calc immediately". However, if the user chooses to "calc after a current event", then we need to post the current event in BlockReceive0.
bullet The DBNT list was not being updated when the user copied or deleted the rows in the iVars or oVars tables.
bullet Make sure the model is calling database functions with correct indexes because the 8.0.1 application will throw an error message and stop the simulation on some database functions if indexes are out of range.
bullet Attribs v8.h
bullet Added "indent" argument to Attrib_BuildAttribPopContentsArray() and Attrib_AttachNamesToPopup() as a way to manage the triple spaces that currently get added to attribPopContents[].
  Equation Query v8.h
bullet Make sure the model is calling database functions with correct indexes because the 8.0.1 application will throw an error mesage and stop the simulation on some dataase functions if indexes are out of range.
  Item Contents v8.h
bullet Fixed some problems with IC_dtbl being linked to a database table.
.

.

FixesFrom ExtendSim 8.0.0 to 8.0.1
Released November 18, 2010

In addition to minor enhancements and tweeks, this ExtendSim update to 8.0.1 addresses issues and critical vulnerabilities in its previous release.

Note: If you have models:

. That use an ExtendSim database
. AND have custom and/or equation-based blocks
. AND those blocks read/write to the database

...a new menu command controls whether an error is reported if the model tries to read or write data using an out-of-range database address or index. Read on...

A new menu command, Read/Write Index Checking, has been added to the Database menu.

For models prior to 8.0.1, which might legitimately have blocks with code containing out-of-range addresses, Read/Write Index Checking is OFF by default. This allows those models to run to completion without needlessly being interrupted by error messages.

For models created in 8.0.1 or higher, the error checking is ON by default, but can be controlled model-by-model using the menu command.

Note: Enabling this enhanced behavior does not impact model speed and is a good safeguard against using incorrect database data.

For more information, see the "Release Notes for Documentation" in the ExtendSim ReadMe file.

.

.

.Documentation Notes

The electronic version of the User Guide has red change bars along the left side of some pages; these indicate where changes were made since the manual was printed.

With the release of ExtendSim 8.0.1, Imagine That Inc. proudly announces the concurrent release of its electronic book, ExtendSim for Discrete-Event System Simulation.

This is the companion book to the 5th edition of Discrete-Event System Simulation ("DESS") by Banks, et al is now included in every ExtendSim package. The electronic book uses ExtendSim as a pedagogical tool to explain the principles and concepts discussed in the DESS text. These two books are designed to be used together in both introductory and project-based simulation courses.

.

.

.Application Level Enhancements

bullet In some cases the Go To Code button in the Debugger window could cause a crash.
bullet SimStart and SimFinish messages are now being correctly sent to blocks that are not at the top level of the worksheet.
bullet DataTableHover message could interfere with CellAccept message.
bullet Radio Button column tag could interfere with the refresh of the datatable.
bullet Animation pictures in the Extensions folder sometimes failed to draw correctly during an animationPicture call.
bullet EquationDebugCompile and EquationDebugCalculate made more bulletproof.
bullet CloneHideDisable function is now hiding clones properly.
bullet WhichRow/WhichCol/WhichDialogItem should now work after a setDialogVariable.
bullet Geometric distribution was returning non-integer values in the randomCalculate function.
bullet Ctrl- (or Command-) W could close an external equation compiler window without the block knowing the window had been closed.
bullet If a library window was open, blocks could be dragged onto a locked model.
bullet Dashed connection lines for unconnected wires was broken.
bullet The 3D window could fail to open correctly in the Macintosh version the first time it was opened.
bullet Poking an array into ExtendSim (GA and Dynamic Arrays) would poke one less row of data than requested.
bullet An empty ExtendSim folder in the user documents folder could cause ExtendSim to launch improperly.
bullet The Delete Records and Delete Records First Run Only  table properties were not visible when exporting databases to a text file.
bullet If the Site.tmp is copied into the wrong folder (the Application folder) during a Network License install, an error message is issued telling the user what they did wrong.
bullet Client portion of Network License has several improvements to make the install and setup process more robust.
bullet Abort All Sims button enabled in error message for certain dialogs.
bullet New Which argument for SetRunParameter and GetRunParameter. Which – 11 set or get the run __seed table database index.
bullet New menu command DB Read/Write Index Checking allows for error messages to be selectable on a per model basis.
bullet Static variables in a ModL coded block can now be up to 127 characters in length.
bullet DBFieldExists(integer databaseIndex, integer tableIndex, integer fieldIndex) Passing in a database index, table index, field index, returns TRUE if the field exists, FALSE if it doesn’t exist.
bullet DBRecordExists(integer databaseIndex, integer tableIndex, integer fieldIndex, integer recordIndex) Passing in a database index, table index, field index, record index, returns TRUE if the record (database cell) exists, FALSE if it doesn’t exist.
bullet DBAddressGetAllIndexes(real addressValue, integer returnIndexesArray[4]) Returns the indexes from a DBAddress value.
bullet WhoInvoked()  Used to determine if a dialog item message handler was invoked by a call to SetDialogVariable, or by user interaction. Returns a one (1) if the invoke was through SetDialogVariable, or a zero (0) if through user interaction.
bullet LastSetDialogVariableString() Returns the last string value that was set by SetDialogVariable. This is useful when setting the value of a dialog item; e.g. in a popup menu where the stored value is not the value that the popup menu contains, but rather an additional string variable.
bullet WinSetForegroundWindow(integer handle) Sets the application associated with the passed in handle to be the foreground window. Passing in a zero, sets ExtendSim as the foreground window.
bullet ModifyRunParameter Sent before the simulation run begins to allow changing the Simulation Setup parameters via the SetRunParameter() function.
bullet BlockReceive5-BlockReceive9
bullet SysGlobal20-29, SysGlobalInt30-39
.

.

.Library Level Enhancements

bullet Activity
bullet Fixed problems with the calculation of the block’s statistics which occurred under certain conditions where Shifts and Shutdowns were used.
bullet Fixed bugs introduced in ExtendSim 8 for calculating empirical delays.
bullet Added missing check for check box Animation H-Block object:. The Activity was trying to animate the hierarchical block even if this was not checked.
bullet Removed sorting of linked list after the block comes back on shift if shutdown is not enabled. This fixes a problem where items were leaving the block in a different order then when they arrived. The time of departure was correct, but the order of departure was reversed.
bullet Fixed how capacity gets saved when Shifts and Shutdowns are used concurrently. This fixes a problem where the Activity's capacity could erroneously get set to "0" if the block was shut down while off shift.
bullet Create
bullet Turned off DI Link Messages to avoid an infinite loop when user is in multiple random arrival distributions mode.
bullet If the user is not creating items randomly, make sure the Shift popup has been set to "none" so that the Create block is not inadvertently being controlled by a Shift.
bullet Changed calendar date error checking in checkdata.
bullet Executive
bullet Added on BlockReceive5 so a remote block can check to see if a particular field in a database has been linked to a string attribute.
bullet Fixed string attribute bug: If a user cleared a link to a database field, the SL database flag needed to be cleared as well.
bullet History
bullet Fixed problem with reverse view.
bullet Information
bullet Added ItemCount variable. If items were coming in with a quantity > 1, the time between statistics was not being calculated correctly because countTotal was > 1 for the first item through the block.
bullet Queue
bullet Check for initialization of the Resource Manager's queue list index before trying to access the list on SHIFTSCHEDULE events.
bullet Fractional item quantities are no longer allowed as they do not make sense in the context of a queue.
bullet Make sure database indexes are initialized for advanced resources in SetupDialog.
bullet Check for valid dialog settings when queue is in Resource Pool mode.
bullet Add check to make sure a valid DB address attribute has been specified when the AR_AttachTableToItem_chk checkbox is selected.
bullet Queue Equation
bullet Changed Advanced Resource DB writes to use new RESERVED API functions.
bullet Fractional item quantities are no longer allowed as they do not make sense in the context of a queue.
bullet in FindNextItem():  if rank rule = all TRUE ranked items AND itemQty > 0,  had a problem where the item index of the cloned item.
bullet Queue Matching
bullet Fractional item quantities are no longer allowed as they do not make sense in the context of a queue.
bullet Read(I)
bullet Added option to get the record index by searching using a previous result.
bullet In DB_Read(), moved updating attributes below the for loop that does the read for all the rows because in certain situations a later row may be relying on the original attribute value that was on the item when it arrived.
bullet Make sure calling "DB" functions with correct indexes because 8.0.1 app will throw an error msg and stop the simulation on some DB functions if indexes are out of range.
bullet Resource Item
bullet Fractional item quantities are no longer allowed as they do not make sense in the context of a resource item.
bullet Resource Manager
bullet Added check for “disabled” initial status when initializing total resources count in Pools table.
bullet Initialize Resources table before updating Pools table due to precedence relation between these tables.
bullet Check for empty reneging queues global arrays.
bullet Disable instead of deleting resources in AR_UpdatePoolSettings.
bullet Initialize pool utilization values at the beginning of each run.                
bullet Clear association with a parent resource order in ReleaseResources and clear association with resource order in ReleaseResources.
bullet Checks to see if item is associated with a parent resource order ID before clearing resource order ID in itemArrayI2 in AR_doRenege.
bullet Checks for out-of-range condition for primary and secondary sort key popups.
bullet Added code to accommodate clearStatistic events from Resource Pool blocks.
bullet Clear association with a parent resource order in ReleaseResources.
bullet Prevents out-of-range index in proceeding database call in setupVisibleDatabaseTables.
bullet Added code to check for and handle out-of-range conditions for database indexes.
bullet Checks for no groups condition in refreshResGroupMembersTable to prevent out-of-range condition for database access.
bullet Updated popup menu list in database before refreshing popup list in ON SHIFTSCHEDULE event handler.
bullet Calls new procedure that encapsulates the updating of shift-related database data.
bullet Forces another lookup after the popup list is rebuilt in PopulateShiftsPopup procedure.
bullet Sets the resource pool popup to the new resource pool in the AddNewResourcePool_BTN message handler.
bullet Checks for no records situation when cleaning up Resource Orders tables ON ENDSIM.
bullet Checks for database index out-of-range situation in convertDBvalues2DialogSettings.
bullet Added logic to support language translations.
bullet Added infrastructure to determine if a resource requirement depends on attribute values.
bullet Continues searching all list elements for a resource requirement that depends on attribute values in BuildWaitingOrdersList.
bullet Updated additional location in code of ServiceWaitingOrders where it needs to check all resource orders whose requirements depend on attribute values.
bullet Prevents resource requirements from being deleted while they are linked to string attributes
bullet Resource Pool
bullet Clears AR database resource pool statistics on clearStatistics events when pool is in advanced resources mode.
bullet Added code to make sure AR database statistics are in synch with Pool blocks.
bullet Makes sure icon is animated when model opens.
bullet Saves the old value of numAvailable_prm in On BLOCKRECEIVE0 before it potentially changes.
bullet Makes sure any changed values are output before exiting.
bullet Initialized QueueLength_prm to 0 in on createblock.
bullet Resource Pool Release
bullet Makes sure icon is redrawn when model opens.
bullet Removed leading space from displayed name in attribute popups.
bullet Select Item In
bullet Icon no longer animates (changes shape) if the output connection is collapsed.
bullet Select Item Out
bullet Fixed throughput counter for attribute based selection when top value != 0.
bullet Icon no longer animates (changes shape) if the output connection is collapsed.
bullet Added hiding of item animation picture if previous simulation ended with an item in the block.
bullet Changed animation oval to animation picture of a green circle because the green circle looks better.
bullet Moved where the animation object representing the item in the block was hidden. This made the sequence of animation look better.
bullet Set
bullet The table in the Set block can now be used as a factor or response in the Scenario Manager.
bullet Throw Item
bullet Inserted the AttribInfo message handler so the attribute used by the block will appear in the Executive’s attribute list.
bullet Workstation
bullet Fixed bugs introduced in ExtendSim 8.0.0 for calculating empirical delays.
bullet Write(I)
bullet Make sure calling database functions with correct indexes because 8.0.1 application will throw an error message and stop the simulation on some database functions if indexes are out of range.
bullet Expanded the behavior of the “Expand number of records if necessary” checkbox: if the record search fails (i.e. the block cannot find the search value in the search field), then a record is added to the end of the write table and the search value is added to the new record.
bullet Valve
bullet In the Result tab, a new advanced status can be generated. It informs about the Limited/non limited, starved/partially starved/non starved and blocked/partially blocked/non blocked status of a Valve.
bullet Updated dialog items during pauseSimulation message handler.
bullet Bias
bullet If a section of a model with a Bias block is a “deduced section”, the section it is deduced from should be maximized instead of the deduced section. The fix is for the Bias block but is located in the Executive block.
bullet Convey Flow
bullet Precision issue: if a posted next time is too close to the currentTime, there is possibly for an infinite loop. In that case, the next time is delayed a little to avoid the infinite loop.
bullet In accumulate-maximum density mode, when accumulating, if a portion disappears and the two portions next to each other have now the same density, the two portions are joined.
bullet Time tie fix when the maximum density changes while the new effective rates are propagating.
bullet Interchange
bullet Fix: Added the blocker information for Item messaging.
bullet Command
bullet Updated the Command textbox when Excel is first launched. There were some situations where this was not getting populated.
bullet Change limits on range check for list of macro names. The last element in the list was not getting used.
bullet Added new arguments to openFile procedure for controlling Excel setup and abort of simulation runs. There were multiple aborts occurring in ON DIALOGOPEN which have now been removed.     
bullet Convert openFile and openXLFile from procedures to functions to facilitate more robust error handling.
bullet Force Excel to be in the foreground before prompting the user for the Excel workbook name. This uses the new API function WinSetForegroundWindow.
bullet Math
bullet Changed abort calls to AbortAllSims() so that all runs will be stopped if there is an error.
bullet Random Number
bullet Fixed importing of Johnson SB and Johnson SU from Stat::Fit.
bullet Read
bullet No longer sending connector messages in PostInitSim without checking to see if the model is continuous.
bullet In LinkContent, DB_TrackRecordNames_chk was conditionally getting set to TRUE even if the user had not specified a record name to track.
bullet Make sure calling database functions with correct indexes because the 8.0.1 application will throw an error message and stop simulation on some database functions if indexes are out of range.
bullet Reversed the change that was made on August 3, 2010. That behavior is desirable.
bullet Changed the "read when" default from "read at beginning of sim" to "undefined" so it will force users to specify the "read when".
bullet Fixed bug in TF_DataInSetup().  If reading a whole row and if results_StartCoordinate_prm and/or results_EndCoordinate_prm are blank, default them to first and last column respectively.
bullet Scenario Manager
bullet If a scenario was not checked to run, the factors were being copied into the dialogs. This has been fixed.
bullet Random distributions in database tables are now copied from the source to the target table.
bullet Corrected formula for computing offset into DBFactor_tbl dialog table.
bullet Fixed Fields as Factors.
bullet SetupDialog no longer recalculates all of the results if it is called from on tabSwitch. This can greatly speed up the opening of the dialog.
bullet Changed Scenario DB to _Scenario DB to make this a reserved database.
bullet Removed calls to CopyScenarioTable as it was unnecessary and was causing an array out of bounds error.
bullet Select Value In
bullet Icon no longer animates (changes shape) if the output connection is collapsed.
bullet Select Value Out
bullet Icon no longer animates (changes shape) if the output connection is collapsed.
bullet Simulation Variable
bullet Added setting output connector at the end of the simulation and the option to send a message.
bullet Statistics
bullet Clear advanced resources statistics if selected.
bullet Added ability to delete cloned items from the report table.
bullet Write
bullet In LinkContent, DB_TrackRecordNames_chk was conditionally getting set to TRUE even if the user had not specified a record name to track.
bullet Make sure the model is calling database functions with correct indexes because the 8.0.1 application will throw an error message and stop the simulation run on some database functions if indexes are out of range.
bullet Expanded the behavior of the “Expand number of records if necessary checkbox:". If the record search fails (i.e. the block cannot find the search value in the search field), then a record is added to the end of the write table and the search value is added to the new record.
bullet Reversed the change that was made on August 3, 2010.  That behavior is desirable.
bullet Changed the "write when" default from "write at end of sim" to "undefined". This forces the modeler to select a "write when" check box on the Options tab.
bullet Fixed a bug that occurs when writing a whole row for a text file. If writing a whole row and if the start or end columns are blank, then default them to first and last column respectively.
bullet Popups
bullet On LinkStructure added so that the block can adjust to a change in structure of a linked database table.
bullet If one cell of the table is blank, in order to keep the proper row in the popup menu, blank is replaced with " ".
bullet Model Interface
bullet Added message hander for RandomSeed_prm so that the seed would be changed when this parameter changed, not just when the Set Random Seed To checkbox changed.
bullet Changed icon to be standard size and color.
bullet Placement of clones is now relative to the left side of the model window.
Content in the block is updated when the shift changes.

.

.Other Changes and Enhancements

bullet AR Constants v8.h
bullet Added new constant AR_IS_DB_ADDRESS_LINKED_MSG for queries to Executive block to determine if a specified database address is linked to a string attribute.
bullet AR Resource Manager v8.h
bullet Added code to accommodate clearStatistic events from Resource Pool blocks.
bullet Bypass resources that are currently disabled in AR_DisablePoolResources.
bullet Correction to how resourcesToDisable is computed in RM_UpdatePoolSettings.
bullet Added code to synch database resource statistics with Resource Pool blocks.
bullet Accommodate parent-child relations in TransferHiddenData2VisibleTbls.
bullet Use Resource Manager's allocated record number in calls to ScheduleServiceWaitOrdersEvent.
bullet Added new procedure setupShiftsMenuList to encapsulate setup of shift popup menu list.
bullet Added new procedure updateShiftsData to encapsulate the updating of shift-related database data.
bullet Added new function areDBindexesValid to provide generic in-range test for a complete set of database indexes.
bullet Changed to set local variable instead of popup in compareDBvalues2DialogSettings.
bullet Dispose temporary array before making comparison between Resource Release Rule dialog and database settings.
bullet Added new function to query the Executive block about whether a database address is linked to a string attribute,
bullet Added calls to the new function convertTemplateTable2HiddenTIdx that supports language translation.
bullet Equation v8.h
bullet iVarsIn_ConLabelsSet() and oVarsOut_ConLabelsSet() are now more efficient.
bullet Changed Advanced Resource DB writes to use new RESERVED API functions
bullet In on CreateBlock, the calc when for input cons was defaulting to "after zero time event" -- which is wrong. It has been changed to "immediate".
bullet In BlockReceive0, we were not conditionally posting the next future event. Why is this a bug? Notice in on iVarsIn and on oVarsOut a future event is posted if the user chooses to "calc immediately". However, if the user chooses to "calc after a current event", then we need to post the current event in BlockReceive0.
bullet The DBNT list was not being updated when the user copied or deleted the rows in the iVars or oVars tables.
bullet Make sure the model is calling database functions with correct indexes because the 8.0.1 application will throw an error message and stop the simulation on some database functions if indexes are out of range.
bullet Attribs v8.h
bullet Added "indent" argument to Attrib_BuildAttribPopContentsArray() and Attrib_AttachNamesToPopup() as a way to manage the triple spaces that currently get added to attribPopContents[].
  Equation Query v8.h
bullet Make sure the model is calling database functions with correct indexes because the 8.0.1 application will throw an error mesage and stop the simulation on some dataase functions if indexes are out of range.
  Item Contents v8.h
bullet Fixed some problems with IC_dtbl being linked to a database table.
.

.