1. Initialize a list of n chemical species and their initial numbers of molecules X1, X2,.....Xn.
2. Initialize a list of m chemical reactions and their associated stochastic rate constants k1, k2,....km.
3. Initialize the current time t ? 0.
4. Calculate the propensity, a1, a2,...am, for each of the m chemical reactions.
5. For each reaction i , generate a putative time ti, according to an exponential distribution with parameter ai.
6. Let µ be the reaction whose putative time, tµ is least.
7. Change the number of molecules X1, X2,...Xn, to reflect the execution of reaction µ.
8. Set t ? t + tµ .
9. Go to Step 4.