New Features

Task Sequences Enhancements - Task Sequence Element Changes

Within the Task Sequences element, we have added a Task Precedence Method property that provides three alternative methods for defining the task precedence constraints that determine a task sequence:

Using task sequence numbers (SequenceNumberMethod),

Specifying the immediate predecessors for each task (ImmediatePredecessorsMethod), or

Specifying the immediate successors for each task (ImmediateSuccessorsMethod).

With predecessors or successors method, an ID Number is used instead of a Sequence Number. Thus, in addition to the prior SequenceNumberMethod defining the Sequence Numbers as 10, 20.1, 20.2, 30.1,
30.2 and 40, either the immediate predecessors or immediate successors can be specified, as shown below.

Now tasks are now added to a log and optionally displayed on a Gantt chart to make it easier to see how a system is behaving!

Server, Combiner, Separator – Task Sequence Enhancements

The above enhancements have also been incorporated into the Server, Combiner and Separator objects which utilize the ‘Task Sequence’ option for Process Type. The Other Task Sequence Options section of properties for these objects now contains the Task Precedence Method property, while the Processing Tasks repeat group contains the ID Number and either Immediate Predecessors or Immediate Successors properties.

Task Sequence Trace

The model trace when using Task Sequences within the Standard Library objects, such as Server, has been enhanced. The trace is now easier to filter and see when each task has started and finished within an object, as shown below. For example, a user may filter the trace window by a specific Entity and specific Object (i.e., Server). Then the Step column can be filtered to ‘[StartTasks] ProcessingTasks’ to see the trace messages specifically related to the task sequence execution by a specific entity at a specific server.

Flow-Related Enhancements - Converter Changes

The FlowToItemConverter and ItemToFlowConverter objects have been changed to include multiple Stop Early Triggers events. These optional event-driven triggers will immediately cause the FlowToItemConverter to stop waiting for additional inflow and create a new discrete entity early, while causing the ItemToFlowConverter to stop producing outflow for the current discrete entity early.

Dynamic Selection Rules – Simplified/Enhanced

The Dynamic Selection Rule properties are found in Server, Workstation, Worker, Vehicle, Resource, and TransferNode objects in the Standard Library objects. They have been changed from the original rules (see below left side) to the simplified rules (below right side) where the Standard Dispatching Rule list now includes an assortment of rules that can be used for both the Dispatching Rule and Tie Breaker Rule properties.

New List Reference States

Within the States view, the Tables view (on the States ribbon), and the Tokens view, the List Reference state is now also available. The List Reference state variable defines a list reference variable that may be changed by assignment logic at discrete times during a model run. You can assign a value to a list reference state using an Assign step in a process. The expression used as the value for the assignment must return a list reference, for example from an Object List property or another List Reference State.

This may be useful for assigning a different list to different entity types, for example, using something like ModelEntity.MyWorkerList, where MyWorkerList is a List Reference state on the ModelEntity object.

Scheduling Edition Enhancement

A Scheduling user can now see existing experiments, add or remove scenarios, targets, and constraints, run the experiments and view results.

Notify Step Enhancement

The Notification Type property on the Notify step now includes the option to have an error and end the simulation run.

When the step is executed, the following error box will appear with the Message Heading and Message Content properties displayed in the error dialog.

Trace On/Off within Process

Within the properties window of each process in the Processes window, the Allow Step Trace property determines whether trace will be displayed for that process when the simulation model is run. The default value is ‘True’. When specified as ‘False’, steps in this process will not produce trace messages. Note that this applies ONLY to steps in this process; it does not propagate to steps in other processes that might be called from this one.

Source Object - New Output Buffer Capacity & Balking Options

The Source object within the Standard Library now allows the user to specify a finite capacity for the output buffer. Entities may balk from entering a Source object’s output buffer due to the buffer being full, allowing a user to either have those entities automatically destroyed or, alternatively, redirected to a specified node location.

Statistics are also included on the total number of balked entities in the automatically reported results. If, however, a Source object automatically destroys balked entities, then those entities are not recorded in the respective population time in system and cost statistics.

If entities have balked at entering a Source’s output buffer, then the automatically reported results will include the following (shown also in the diagram below):

A ‘NumberBalked’ total will be reported by the output buffer station.

If there were balked entities automatically destroyed at the source, then those destroyed entities will not be recorded as observations in the population ‘TimeInSystem’ and ‘CostPerItem’ tallies for the entity type.

We have added a new OffShift Rule property that allows either 'Suspend Processing' or 'Finish Work Already Started' at the end of a shift or capacity change. A corresponding new list state of ‘OffShiftProcessing’ (value of 6) has also been added to the corresponding objects.

If the OffShift Rule is ‘Suspend Processing’, the processing of the entity(s) is immediately halted and the Server/Combiner/Separator goes into an ‘OffShift’ state to complete processing once the capacity / shift changes.

If the OffShift Rule is ‘Finish Work Already Started’, the state of the Server/Combiner/Separator goes into ‘OffShiftProcessing’ while the processing of the entity(s) is completed, then will change to ‘OffShift’ for the remaining off shift time.

New String Functions

There are several new string functions that have been added to the software per customer request:

String.ToLower() - Returns a copy of a specified string converted to uppercase.String.ToUpper() - Returns a copy of a specified string converted to lowercase.String.Trim() - Returns a specified string with any leading and trailing white-space characters removed. String.NewLine - Returns the newline constant defined for the local platform. Useful for adding a line break to form a multi-line string.

New RemoveRows Step

We have added a RemoveRows step that will allow users to remove the all current rows within an output table. Any token or object references to that table will become invalid.

Task Sequences Enhancement – Task Log / Gantt (Enterprise Edition)

We have added an additional log to the Logs within Enterprise Edition that details information regarding the Task Sequences tasks specified. Task Sequence type processing is available through several of the Standard Library Objects such as Server, Combiner and Separator. Information within the task log include the entity, facility location (typically name of object), task, start time, end time and duration.

In addition to the above log, within both the Resource Gantt and Entity Workflow Gantt, the Tasks for a resource can be shown by expanding the entity or resource using the ‘+’ and turning on the Tasks within the Gantt ribbon Visibility section.