Skip to content

Routing

A route is a connection you draw from one node to the next. It carries entities along and defines how and when they move. You set it up on the route’s General tab.

  • Route type: the dropdown at the top of the panel sets how the route behaves (see the list below). New routes start as Percent, or inherit the type of an existing route from the same source.
  • Move Time: how long the move takes, with a seconds / minutes / hours unit. Any expression is valid; the default is 0.
  • New name: optionally rename the entity as it takes the route. It keeps its attributes and picks up the new graphic. Available on Percent, Conditional, Renege, and Round Robin routes.

A route's General tab and the route-type list

Beyond General, every route shares the same Cost, Action Logic, and Seed tabs. See Cost, Logic, and Seed.

Pick a route type to match the behavior you need:

  • Conditional: branch on a condition or attribute
  • Percentage: split by probability
  • Alternate: a backup used when the primary is blocked
  • Create: spawn child entities
  • Detach: separate children from a parent
  • Attach: rejoin children to a parent
  • Pickup: a parent collects matching entities
  • Renege: remove entities that have waited too long

For load-based and time-based flow, ProcessModel also offers these advanced route types:

  • Pull: the destination pulls entities by a queue discipline
  • Round Robin: rotate entities across destinations in turn
  • Balancing: send to the destination with the lightest load
  • Availability: route only where there is capacity right now
  • Schedule: route by time of day or a shift schedule
LegacyHow this worked in the previous version

Routings, the connectors between activities (and storages), define the direction and conditions for entity flow. In addition, an “activity” or “storage” may have multiple input and output routing connections. Entities do not move to the next activity or storage until capacity becomes available and the condition or rule for routing has been satisfied.

The General properties tab allows you to select the type of routing and set certain information specific to that type of routing. Finally, a common explanation follows for the remaining dialog tabs.

Basics 5 - The Logic of the Flow video tutorial

ProcessModel allows you to assign a cost to the routing of an entity from one activity or storage to the other. The cost is added to the pre-defined Cost attribute of the entity in the model after the move is completed.

What is Routing?

All routing connections have a cost tab in their properties dialog. The identification of cost is optional and has no effect on the behavior of the model.

Cost per move The amount added to each entity after completing a particular routing. This cost (negative 1,000,000 to 1,000,000) adds to the pre-defined Cost attribute of the entity.

Develop customized behavior for entities that follow this route. In addition to the information set in the General tab, Action Logic extends routing capability. For example, action logic allows reporting of custom statistics, additional control on movement, resource selection, etc.

A routing’s Action Logic starts after securing capacity at the destination, meeting the condition of the routing, and (if needed) acquiring the resource. After the action logic completes, the routing move begins.

What is Routing?

The linkage tab (shown below) allows you to define connection names used when you are creating hierarchical models. For more information, see Hierarchical Modeling.

What is Routing?

Connection name maps connections into and out of the activity representing the submodel. A link going into this activity will route the entity to a like-named link in the submodel. Likewise, a link from this activity receives entities from the submodel’s like-named link.

The following routing types are available: