Package jline.api.mam

Class Mmap_max

java.lang.Object
jline.api.mam.Mmap_max

public final class Mmap_max extends Object
MMAP of the maximum of two independent marked arrival flows, as used to synchronize sibling branches at a fork-join Join node.

Port of matlab/lib/m3a/m3a/mmap/mmap_max.m. The construction augments the Kronecker state space of the two flows with a synchronization queue of length k, so the resulting MMAP has order na*nb*(1+2k): one "balanced" level in which neither flow leads, plus 2k levels tracking which flow is ahead and by how many arrivals (up to k).

  • Method Details

    • mmap_max

      public static MatrixCell mmap_max(MatrixCell MMAPa, MatrixCell MMAPb, int k)
      Computes the MMAP representing the maximum of two MMAPs, synchronizing through a queue of length k.
      Parameters:
      MMAPa - first flow, {D0, D1, D1_c1, ...}
      MMAPb - second flow, {D0, D1, D1_c1, ...}
      k - length of the synchronization queue (k >= 1)
      Returns:
      the synchronized MMAP, with the same number of marks as MMAPa
    • mmap_max_multiple

      public static MatrixCell mmap_max_multiple(List<MatrixCell> mmaps, int k)
      Iteratively synchronizes a list of MMAPs through a queue of length k.