Process Playground

Managing Flow

The movement of items throughout your process is a fundamental part of building any simulation model. Process Playground manages the flow of items in a natural, easy-to-understand manner.

A "Real World" Example

Imagine a simple process where you and a friend are sitting side by side. A third friend, who represents the process step before you, is responsible for passing both of you colored sticky notes, with one catch: You can only process blue sticky notes, while your friend can process both blue and yellow sticky notes. When the third friend says he has a blue sticky note to process, you both have the opportunity to claim it but you call “I got it!” a moment before her. When a yellow sticky note arrives, however, you have no choice but to let your friend claim it. Process Playground works exactly like this: Each block is told which items it can process, then responds accordingly.

As an added twist, imagine you now can process any color sticky note that arrives, while your friend still can only process blue and yellow. If the friend flashes a red sticky note, you are the only one of the two who can claim it.

Adding Items to a Block

Adding item types to blocks is an important concept when it comes to managing the flow of items in Process Playground. All blocks that manage items can allow any item type to pass through or restrict flow to certain item types. At the bottom that block's parameters, you have the option to add an item type to the block.

Managing Flow Add Item

Different blocks have different reasons for adding an item type but adding those item types to the block is a similar process.

The images below show a Queue Block, but each block that can add item types has different parameters based on the block type.

The correct combination of allowing all items and adding specific item types depends on two factors: how you want items to flow through your model and the processing parameters for each item type.

Every item is allowed and has the same parameters

When "Allow All Items" is checked, every item that arrives at the block can pass through it, according to the parameters set in the defaults.

Allow All items

By default, "Allow All Items" is checked. This means that any item arriving at this block can be processed using the defaults.

Every item is allowed but some have different parameters

When "Allow All Items" is checked, the default parameters are still active. Override them for certain item types by adding that item type to the block. Those specific item types will be processed with new parameters, while all other item types will be handled by the defaults.

Allow All Items

The "Allow All Items" parameter is enabled (and the defaults are collapsed) and specific items are added. This block can process any item but has special processing parameters for the specific items.

Only specific items are allowed

By turning off the "Allow All Items" parameter, the block can only handle the items added to it, each with its own parameters.

Allow All Items Disabled

The "Allow All Items" parameter is disabled (note there are no defaults) and specific items are added. This block can only process the specific items.

Back to Our Example

In our sticky-note example, you can now process any color sticky note but your friend can only process blue and yellow.

In Process Playground, your Activity Block might look like this:

Sticky Notes You

Since you can process any item, you should have "Allow All Items" checked.

Your friend's Activity Block might look like this:

Sticky Notes Friend

Since your friend can only process yellow and blue sticky notes, "Allow All Items" should not be checked and the specific items should be added to the Activity Block.

One more clarification on this sticky note scenario: Imagine you're busy processing a sticky note and the friend passing them flashes a red one. You're occupied, while your other note-processing friend can't process red sticky notes. The red sticky note will remain unclaimed until you say you're available. An item will not move on if there isn't an available block with the ability to process it.

Was this helpful?