Package jline.lang

Class ClosedSignal

  • All Implemented Interfaces:
    java.io.Serializable , jline.lang.Copyable

    
    public class ClosedSignal
    extends ClosedClass implements Serializable
                        

    A closed signal class for modeling signals in closed queueing networks.

    ClosedSignal is a specialized ClosedClass for signals that need to circulate in closed networks. Unlike regular Signal (which extends OpenClass), ClosedSignal can be used in networks without Source/Sink nodes.

    ClosedSignal has zero population - signals are created dynamically through class switching from the target job class.

    Signal types:

    • NEGATIVE: Removes a job from the destination queue
    • REPLY: Unblocks servers waiting for a reply (LQN synchronous call semantics)
    • Constructor Detail

      • ClosedSignal

        ClosedSignal(Network model, String name, SignalType signalType, Station refstat, int priority, DiscreteDistribution removalDistribution, RemovalPolicy removalPolicy)
        Creates a new closed signal class with full configuration for batch removal.
        Parameters:
        model - the network model to add this class to
        name - the name for this signal class
        signalType - the type of signal (NEGATIVE or REPLY)
        refstat - the reference station (should match target job class)
        priority - the priority level for signals in this class
        removalDistribution - the distribution for number of jobs to remove (null for exactly 1)
        removalPolicy - the policy for selecting which jobs to remove
      • ClosedSignal

        ClosedSignal(Network model, String name, SignalType signalType, Station refstat, int priority)
        Creates a new closed signal class with the specified type, reference station, and priority.
        Parameters:
        model - the network model to add this class to
        name - the name for this signal class
        signalType - the type of signal (NEGATIVE or REPLY)
        refstat - the reference station (should match target job class)
        priority - the priority level for signals in this class
      • ClosedSignal

        ClosedSignal(Network model, String name, SignalType signalType, Station refstat)
        Creates a new closed signal class with the specified type, reference station, and default priority (0).
        Parameters:
        model - the network model to add this class to
        name - the name for this signal class
        signalType - the type of signal (NEGATIVE or REPLY)
        refstat - the reference station (should match target job class)
      • ClosedSignal

        ClosedSignal(Network model, String name, Station refstat)
        Creates a new negative closed signal class with default priority (0).
        Parameters:
        model - the network model to add this class to
        name - the name for this signal class
        refstat - the reference station
    • Method Detail

      • setSignalType

         void setSignalType(SignalType signalType)

        Sets the signal type for this signal class.

        Parameters:
        signalType - the new signal type
      • getTargetJobClass

         JobClass getTargetJobClass()

        Gets the associated job class.

        Returns:

        the JobClass associated with this signal, or null if none

      • setRemovalDistribution

         void setRemovalDistribution(DiscreteDistribution removalDistribution)

        Sets the removal distribution for this negative signal.

        Parameters:
        removalDistribution - the distribution for number of removals
      • getRemovalPolicy

         RemovalPolicy getRemovalPolicy()

        Gets the removal policy for this negative signal.

        Returns:

        the removal policy (RANDOM, FCFS, or LCFS)

      • setRemovalPolicy

         void setRemovalPolicy(RemovalPolicy removalPolicy)

        Sets the removal policy for this negative signal.

        Parameters:
        removalPolicy - the policy for selecting customers to remove
      • forJobClass

         ClosedSignal forJobClass(JobClass jobClass)

        Associates this signal with a job class.

        For REPLY signals, this specifies which job class's servers will be unblocked when this signal arrives.

        Parameters:
        jobClass - the JobClass to associate with this signal
        Returns:

        this ClosedSignal instance (for method chaining)

      • getTargetJobClassIndex

         int getTargetJobClassIndex()

        Gets the index of the associated job class.

        Returns:

        the index of the associated JobClass, or -1 if none

      • isCatastrophe

         boolean isCatastrophe()

        Returns whether this signal is a catastrophe (removes all jobs).

        Returns:

        true if signalType is CATASTROPHE

      • printSummary

         void printSummary()

        Prints a summary of this closed signal class configuration.