Paul Toone avatar image
Paul Toone posted


The list is a shared asset that can represent a list of tokens, flowitems, task executers, task sequences, numbers, strings, etc. Using the Push To list and Pull From list activities, the contents of a list can be dynamically updated during a simulation run. For example, a list could represent flowitems or tokens that are waiting to go to the next available object or activity.When an object or activity becomes available, the flowitem or token can be pulled from the list and sent to the downstream object or activity.

lists can be either be internal to a process flow or they can link to a Global list in the 3D simulation model. See Global lists for more information about how lists work in FlexSim generally.

Why Use lists in Process Flow

Using lists, you can:

  • Sync tokens or objects
  • Organize groups of objects
  • Track custom statistics
  • Use search concepts like filtering and prioritization for making choices in the model

lists have a lot of functional overlap with other shared assets. However, one of the unique advantages of using lists within Process Flow is for token synchronization. Token synchronization means that tokens can wait for each other at defined points by having one activity push a token onto a list, while another activity pulls the token from the list.

To give a real-world example of a business system that would need token synchronization, imagine you want to simulate the loading dock of an order picking warehouse. When the warehouse receives notice that a truck is on its way, the employees need to begin staging the orders that have already been picked for shipment. It's possible that the truck could arrive before the employees are finished staging the orders on pallets, in which case the truck will need to wait until the orders are ready. However, it's also possible that the employees might finish staging the orders before the truck arrives, in which case the orders will need to wait until the truck arrives.

If you represent the truck as a single token and each order as a single token, then the problem is as simple as sending each order token to a Push To list activity that pushes the order token to a list and sending the truck token to a Pull From list activity that will pull all of the order tokens from the list. If the orders arrive first, the order tokens will remain in the Push To list activity until the truck arrives and pulls them from the list. If the truck arrives first, it will wait at its Pull From list activity until it has pulled all of the orders from the list.

The lists and Resources Tutorial gives a more hands-on example of why and how to use lists in a process flow and simulation model.

Creating, Linking, and Accessing lists

A list shared asset can be used to create either internal lists or link to global lists:

  • Global list - Links to a Global list that has already been created in the 3D simulation model. Use a Global list if your list needs to be linked to a list used by objects in the 3D model. See Global lists for more information about creating Global lists.
  • Internal list - The default method. A list that is created and owned by the list shared asset. Use an internal list if your list does not need to be accessible to objects in the 3D model.

When using a local list, the list can either be defined globally or locally to the process flow. For more information on these types see Global and Local Types.


The following image shows properties for the list shared asset:

Each of these properties will be explained in the following sections.

  • Name You can change the name of the activity using the Name box. See Name for more information about this property.
  • Font The Font button opens a window to edit the activity's background color and font properties. See Font for more information about this property.
  • Statistics The Statistics button opens the activity's statistics window. See Statistics for more information about this property.
  • listUse the list box to link to a Global list or create an internal list. See Creating, Linking, and Accessing lists for more information about the difference between a global list and an internal list.

    By default, all lists are internal, which means that this box should say Use Internal list. If you want to use an internal list and the box has text other than this in it, click the remove button to revert back to using an internal list.

    To link to a Global list, click the arrow next to this box to open a menu. Point to Global list and select the name of the list from the menu or use the sampler and sample the list from the Toolbox.

  • Type The Type menu determines whether the list will be define locally or globally. This menu is only available if you have created an Internal list and the list shared asset is not contained in a General Process Flow. See Creating, Linking, and Accessing lists for more information.
  • View Entries... The View Entries... button will display all of the values currently on the list. This button functions the same as the View Entries... button on the General tab on the Global list Properties.
  • View Back Orders... The View Back Orders... button will display all the back orders who are pulling from the list. This button functions the same as the View Back Orders... button on the General tab on the Global list Properties.
  • Advanced The Advanced button opens the list properties page. Use this page to edit the list's properties.
flexsim users manualuser manuals
5 |100000

Up to 12 attachments (including images) can be used with a maximum of 23.8 MiB each and 47.7 MiB total.



paul.t contributed to this article


FlexSim 2016.1