Research Article

A Novel OBDD-Based Reliability Evaluation Algorithm for Wireless Sensor Networks on the Multicast Model

Pseudocode 2

Pseudocode for constructing the OBDD of the reliability function.
Construct_OBDD_Reliability, , , ){
(1)  _;
  if (_
(2)   _ = Construct_OBDD_(_, )
(3)   return _;
  }
(4)  ( = Remove_Redundant_Vertices(_, , ;
  if (there is the isomorphic sub-network in the sub-network hash table)
(5)   return the OBDD of the sub-network;
(6)  ;
  if (there is at least one vertex connected to _, which is in
(7)   _ = Select_Vertices_in__Connected_(_, , );
    do{
(8)    (, , _, ) = Node_Expansion_(_, , _;
(9)     = Construct_OBDD_Reliability(, , , );
(10)   _ = Construct_OBDD_Subpath(, );
(11)    = Remove_Redundant_Path_Two_Adjacent_Vertices(), ;
    }while (_ != 0)
  }
  if (not all vertices connected to have been expanded){
(12)  (, = Select_Vertices_Connected_, ;
    do{
(13)   (_, , , ) = Node_Expansion, , , ;
(14)    = Construct_OBDD_Reliability(_, , , );
(15)   _ = Construct_OBDD_Subpath(, );
(16)    = Remove_Redundant_Path_Two_Adjacent_Vertices(), _;
    }while ( != 0)
  }
(17)  result _;
}