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 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.
An entry node object definition may include
successorNodeattribute slot for assigning a successor node to which work objects are routed;
maxNmrOfArrivalsattribute 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);
arrivalRateattribute slot for defining the event rate parameter of an exponential probability distribution function used for computing the time between two consecutive arrival events, or
arrivalRecurrencemethod 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.
An entry node definition may include
outputTypeslot for defining a custom output type (instead of the default
onArrivalevent rule method for defining specific state changes or scheduling specific follow-up events.
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.
A processing node has an input queue for incoming work objects. A definition of a processing node may include
successorNodeattribute for assigning a successor node to which work objects are routed;
capacityattribute for setting the number of work objects that are processed at a time to a number greater than 1, which is the default;
fixedDurationattribute for setting the duration of the node's processing activities to a fixed value, or
randomDurationmethod 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.
A processing node definition may include
inputTypeslot for defining a custom input type instead of the default
inputTypescollection slot for defining the types of inputs whenever a processing node processes inputs of several types;
outputTypescollection slot for defining the types of outputs whenever a processing node transforms inputs to outputs;
onActivityStartevent rule method for defining specific state changes or scheduling follow-up events when a processing activity is started;
onActivityEndevent rule method for defining specific state changes or scheduling follow-up events when a processing activity ends.
Exit nodes are objects that participate in departure events, leading to the removal of the departing object from the simulation.
Exit nodes have two built-in statistics attributes:
nmrOfDepartedObjectscounting the number of objects that have departed at the given exit node, and
cumulativeTimeInSystemfor adding up the times in system of all departed objects.
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.