message formats:   ( , , ), ( , , , )
  initially:   is the unique node identifier; ; ; ;
      is the set of collected sources of messages; false;
      false; ; true
sink node multicasts (0, 0, ) to
  upon  a node receives ( , , ) message
    true
   if   =   then
     ; + 1;  assign  the edge ( , ) as a BFS edge
   else if   =   then
     ;  assign  the edge ( , ) as a BFS edge
         else assign the edge ( , ) as a cross edge;
          end if
  end upon
  upon a new period starts
         if   = false      = true  then
             true;  multicast   ( , , ) to
            if   =   then
      ENBRIDGE_Classify(assigned edges)
     send   ( , , assigned edges, ) to
            end if
         else if      messages from received  then
                  assigned edges
            if   = true  then
      ENBRIDGE_Classify( )
            end if
            if   = sink  then
     if   = true  then finish  execution
     else start  I-TURAU execution
     end if
            else
     send   ( , , assigned edges, ) to
            end if
  end upon
  upon  a node receives ( , , , )
          ;
  end upon
Algorithm 2: ENBRIDGE main algorithm.