Processing Network Models

In a Processing Network (PN) model, work objects (representing, e.g., customers or raw materials) enter a system via arrival events at an entry node and then flow through one or more processing nodes (representing, e.g., sevice desks or manufacturing machines) where they are subject to processing activities before they leave the system at an exit node via a departure event.

The concepts of PN modeling are based on the fundamental DES modeling concepts of objects, events and activities.

Due to its intuitive building blocks and its applicability to problems in the manufacturing and service industries, PN modeling is the most widely used DES modeling paradigm. It is supported by many simulation tools, such as Arena, Simio, ExtendSim, Simul8, and AnyLogic, each of them using their own proprietary terminology and diagram language for the same concepts.

The OES concepts for PN modeling are an open source alternative to the proprietary PN modeling techniques of these commercial tools, and can be used as a reference conceptual framework for understanding and comparing them.

Entry Nodes

Entry nodes are objects that participate in exogenous arrival events leading to the creation of work objects, which are either routed to a successor node or pushed to an output queue. The definition of an entry node combines defining both a (possibly spatial) node object and an associated implicit arrival event type. Examples of objects that can be modeled as entry nodes are: office/building entrances and mail reception offices.

Basic Features

An entry node object definition may include

  1. a successorNode attribute slot for assigning a successor node to which work objects are routed;
  2. a maxNmrOfArrivals attribute slot for defining a maximum number of arrival events after which no more arrival events will be created (and, consequently, the simulation may run out of future events);
  3. either
    1. an arrivalRate attribute slot for defining the event rate parameter of an exponential probability distribution function used for computing the time between two consecutive arrival events, or
    2. an arrivalRecurrence method for computing the recurrence of arrival events (which is typically a random variable).

If neither an arrivalRate nor an arrivalRecurrence method are defined, the exponential distribution with an event rate of 1 is used as a default recurrence.

Entry nodes have a built-in (read-only) statistics attribute nmrOfArrivedObjects counting the number of objects that have arrived at the given entry node.

Advanced Features

An entry node definition may include

  1. an outputType slot for defining a custom output type (instead of the default wORKoBJECT output type);
  2. an onArrival event rule method for defining specific state changes or scheduling specific follow-up events.

Processing Nodes

Processing nodes are objects that participate in processing activities by playing the special resource role of an actor. The definition of a processing node combines defining both an object (as actor) and an associated implicit activity type. Examples of objects that can be modeled as processing nodes are: service desks, automated teller machines and manufacturing machines.

Basic Features

A processing node has an input queue for incoming work objects. A definition of a processing node may include

  1. a successorNode attribute for assigning a successor node to which work objects are routed;
  2. a capacity attribute for setting the number of work objects that are processed at a time to a number greater than 1, which is the default;
  3. either
    1. a fixedDuration attribute for setting the duration of the node's processing activities to a fixed value, or
    2. a randomDuration method for modeling the random variation of the durations of the node's processing activities as a random variable.

If neither a fixedDuration nor a randomDuration method are defined, the exponential distribution with a customizable default event rate of 1 is used as a default random variable for assigning processing activity durations.

Since they are actors that perform activities, utilization statistics are computed automatically for all processing nodes.

Advanced Features

A processing node definition may include

  1. an inputType slot for defining a custom input type instead of the default wORKoBJECT input type;
  2. an inputTypes collection slot for defining the types of inputs whenever a processing node processes inputs of several types;
  3. an outputTypes collection slot for defining the types of outputs whenever a processing node transforms inputs to outputs;
  4. an onActivityStart event rule method for defining specific state changes or scheduling follow-up events when a processing activity is started;
  5. an onActivityEnd event rule method for defining specific state changes or scheduling follow-up events when a processing activity ends.

Exit Nodes

Exit nodes are objects that participate in departure events, leading to the removal of the departing object from the simulation.

Basic Features

Exit nodes have two built-in statistics attributes:

  1. nmrOfDepartedObjects counting the number of objects that have departed at the given exit node, and
  2. cumulativeTimeInSystem for adding up the times in system of all departed objects.

Advanced Features

An exit node definition may include an onDeparture event rule method for defining specific state changes or scheduling follow-up events when a work object departs.