Package jline.io

Class LQN2QN

java.lang.Object
jline.io.LQN2QN

public class LQN2QN extends Object
Converts a LayeredNetwork (LQN) to a Network (QN).

The conversion uses REPLY signals to model synchronous call blocking: when a task makes a synchCall, the server blocks until a REPLY signal arrives from the called task.

REPLY Signal Semantics:

  • Each synchCall creates a Request class and a Reply signal class
  • The caller queue blocks after completing service until Reply arrives
  • The callee processes the request and class-switches to Reply on completion
  • Reply signal unblocks the caller and continues downstream

Network Topology:

   Think → CallerQueue → CalleeQueue → CallerQueue (reply) → Think
                ↓ blocks      ↓ class switch to Reply    ↓ unblocks
 

This approach:

  • Correctly models BLOCKING semantics (server waits for reply)
  • Provides per-task queue metrics (queue length, utilization)
  • Supports multi-tier call chains (A → B → C)
  • Uses LDES solver with REPLY signal support

Phase-2 Support:

When an entry has phase-2 activities, a Fork-Join structure handles the async continuation after reply:

   CallerQueue → CalleeQueue_Ph1 → Fork → { Reply → CallerQueue }
                                       → { Ph2Queue → Join }
 

Example usage:

 LayeredNetwork lqn = new LayeredNetwork("MyLQN");
 // ... define LQN model ...
 Network model = LQN2QN.convert(lqn);
 SolverLDES solver = new SolverLDES(model);
 solver.getAvgTable();
 
See Also:
  • Constructor Details

    • LQN2QN

      public LQN2QN()
  • Method Details

    • convert

      public static Network convert(LayeredNetwork lqn)
      Converts a LayeredNetwork to an equivalent queueing network using REPLY signals.
      Parameters:
      lqn - The LayeredNetwork model to convert
      Returns:
      A Network that models the LQN behavior with REPLY signal blocking