13.07.2015 Views

A Stigmergy Collaboration Approach in the Open Source Software ...

A Stigmergy Collaboration Approach in the Open Source Software ...

A Stigmergy Collaboration Approach in the Open Source Software ...

SHOW MORE
SHOW LESS
  • No tags were found...

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

developer agents voluntarily contribute <strong>the</strong>ir effort and time<strong>in</strong> answer<strong>in</strong>g questions from users, develop<strong>in</strong>g code andfix<strong>in</strong>g bugs. The agents do not <strong>in</strong>teract with each o<strong>the</strong>rdirectly. Instead, <strong>the</strong>y go through <strong>the</strong> forums for <strong>in</strong>formationexchange. The user agents post messages on <strong>the</strong> forum. Auser agent can change to a developer agent if <strong>the</strong>y want to.There are two k<strong>in</strong>ds of forums, <strong>the</strong> public forum and <strong>the</strong>developer forum. The public forum can be accessed andmessages can be posted by any agents <strong>in</strong>terested <strong>in</strong> <strong>the</strong>software project. Most of <strong>the</strong> time, it serves as <strong>the</strong> <strong>in</strong>directmessage exchange board between users and developers.Users can post questions about how to use <strong>the</strong> software,bugs <strong>the</strong>y found dur<strong>in</strong>g software use and functions <strong>the</strong>y wishto be <strong>in</strong>cluded <strong>in</strong> <strong>the</strong> software. Each problem will berepresented by one forum thread. The o<strong>the</strong>r users and <strong>the</strong>developers occasionally go through <strong>the</strong> forums, answer <strong>the</strong>questions and get first hand <strong>in</strong>formation about bug problemsand wish list functionality.In this simulation, developers use <strong>the</strong> Ant ColonyAlgorithm to choose which forum thread problem tocontribute to solv<strong>in</strong>g. In this algorithm, each forum threadserves as one potential digital trail to different softwaredevelopment directions and <strong>the</strong> posted messages <strong>in</strong> thisthread represent <strong>the</strong> digital pheromones laid down on <strong>the</strong>trail. Every time a user or developer posts a new message <strong>in</strong>this forum thread, a new pheromone is deposited on <strong>the</strong> trail.The pheromone content of a forum thread can be updatedand decayed by us<strong>in</strong>g <strong>the</strong> follow<strong>in</strong>g models.Pheromone update: when a message is posted <strong>in</strong> a forumthread, <strong>the</strong> pheromone for this thread is <strong>in</strong>cremented by aconstant, γ. The nom<strong>in</strong>al value of γ is one. Equation (1)describes <strong>the</strong> pheromone update procedure when a messageis posed by actor a <strong>in</strong> a post thread d at time t.ttP 1 d Pd (1)Pheromone decay: to account for pheromone decay, eachthread’s pheromone values are periodically multiplied by <strong>the</strong>decay factor, ε -τ . The decay rate is τ0. A high decay ratewill quickly reduce <strong>the</strong> amount of rema<strong>in</strong><strong>in</strong>g pheromone,while a low pheromone decay rate will degrade <strong>the</strong>pheromone value slowly. The nom<strong>in</strong>al pheromone decay<strong>in</strong>terval (or decay period) is one day. Equation (2) describespheromone decay.t 1 tP * dPdIf no message has been posted <strong>in</strong> a thread <strong>in</strong> quite sometime, <strong>the</strong> pheromone for this thread will be decayed to anear-zero value. The thread will be removed from <strong>the</strong>developer’s potential thread selection direction.ACO algorithm: The developers and users follow <strong>the</strong> ACO(Ant Colony Optimization) algorithm [12] <strong>in</strong> swarm<strong>in</strong>telligence for choos<strong>in</strong>g <strong>the</strong> thread <strong>the</strong>y jo<strong>in</strong> and post(2)messages. Accord<strong>in</strong>g to <strong>the</strong> pheromone <strong>the</strong>ory, <strong>the</strong>y willmost likely jo<strong>in</strong> and post messages <strong>in</strong> <strong>the</strong> thread that hashighest pheromone content.Thread selection: Actors will randomly chose a threadbased on <strong>the</strong> amount of pheromone present on each forumthread. Equation (3) describes thread d ’s probability dof be<strong>in</strong>g chosen.d N( Pi1td( P K)tiF K)N is <strong>the</strong> total number of forum threads. The constants Fand K are used to tune <strong>the</strong> forum-choos<strong>in</strong>g behavior of anactor. The value of K determ<strong>in</strong>es <strong>the</strong> sensitivity of <strong>the</strong>probability calculations to small amounts of pheromone. If Kis large, <strong>the</strong>n large amounts of pheromone will have to bepresent before an appreciable effect will be seen <strong>in</strong> <strong>the</strong>message post<strong>in</strong>g probability. The nom<strong>in</strong>al value of K is zero.Similarly, F may be used to modulate <strong>the</strong> differencesbetween pheromone amounts. For example, F > 1 willaccentuate differences between l<strong>in</strong>ks, while F < 1 willdeemphasize <strong>the</strong>m. F = 1 yields a simple normalization. Thenom<strong>in</strong>al value of F is two.Ano<strong>the</strong>r forum <strong>in</strong> <strong>the</strong> simulation is <strong>the</strong> developer forum. Itserves as <strong>the</strong> <strong>in</strong>ternal forum and is used by developers topost <strong>the</strong>ir ongo<strong>in</strong>g work. It represents <strong>the</strong> email-list andSVN repository <strong>in</strong> an actual OSS project. Each developer’scontribution is stimulated by o<strong>the</strong>r developers’ ongo<strong>in</strong>gwork posted <strong>in</strong> <strong>the</strong> developer forum. The probability c fordeveloper i to cont<strong>in</strong>ually contribute to a software elementdevelopment is modeled as <strong>the</strong> termite mud drop probability<strong>in</strong> Grasse stigmergy model and is given by:cif ( i) ni*(k f ( i)jLF2)1 ( i,j)f ( i) max(0.0, (1 )2 Here, ( i,j)[0,1]is <strong>the</strong> dissimilarity value betweenideveloper i contributed post and <strong>the</strong> developerj contributed post message <strong>in</strong> email-list and SVNrepository, n is <strong>the</strong> message length. [0,1]is a data-2dependent scal<strong>in</strong>g parameter, and is <strong>the</strong> total number ofposted messages <strong>in</strong> <strong>the</strong> developer forum dur<strong>in</strong>g a predef<strong>in</strong>edtime period L [1,15].(3)(4)(5)

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!