Research Article

QoS-Based Web Service Discovery in Mobile Ad Hoc Networks Using Swarm Strategies

Algorithm 1

Services provided by the Dance Floor.
(1)   /* add a forager on the dance floor */
(2)   void addForager()
(3)   {
(4)    var waitingPackers = getPackerInQueueForThisForager();
(5)    var qualityMetric = getParameterCollectFromForager();
(6)    if ( not exist for  )
(7)     create  ;
(8)    add   to ;
(9)    updateDanceNumber (, waitingPackers, qualityMetric);
(10) }
(11)
(12)
(13) /* lookup a specific forager on dance floor */
(14) matchingForager getForager()
(15) {
(16)  var tmp = NULL;
(17)  if ( exists in ) {
(18)   while (tmp == NULL &&   exists in ) {
(19)    choose according to quality metrics or randomly
(20)       a among multiple foragers in ;
(21)    if ()
(22)     if () {
(23)      tmp = copy();
(24)      decrease danceNumber;
(25)     }
(26)     else  {
(27)      tmp = ;
(28)      delete   from dance floor;
(29)     }
(30)    else
(31)     kill  ;
(32)   }
(33)  }
(34)  return tmp;
(35) }