Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package erlang1;
- import java.util.Vector;
- /**
- *
- * @author Mav
- */
- public class ErlangNetwork {
- private float offeredTraffic;
- private int servers;
- private float[] occupiedProbability;
- ErlangNetwork()
- {
- offeredTraffic = 0;
- servers = 0;
- }
- ErlangNetwork(int arrivalRate, int serviceRate, int servers)
- {
- offeredTraffic = (float)arrivalRate/serviceRate;
- this.servers = servers;
- occupiedProbability = new float[servers+1];
- calcOccupiedProbability();
- }
- ErlangNetwork(float offeredTraffic, int servers)
- {
- this.offeredTraffic = offeredTraffic;
- this.servers = servers;
- occupiedProbability = new float[servers+1];
- calcOccupiedProbability();
- }
- private void calcOccupiedProbability()
- {
- float temp = 0;
- for(int i = 0; i < servers; i++)
- {
- temp += (java.lang.Math.pow(offeredTraffic,i)/factorial(i));
- }
- for(int i = 0;i<=servers;i++)
- {
- occupiedProbability[i] = (float) (java.lang.Math.pow(offeredTraffic,i)/factorial(i))/temp;
- }
- }
- //Function to get the factorial of n.
- private int factorial(int n)
- {
- int factVal = 1;
- for (int i=1; i<=n; i++)
- {
- factVal = factVal * i;
- }
- return factVal;
- }
- //Function to get the occupied probability for a certain state.
- float getOccupiedProbability(int state)
- {
- if( state <= servers )
- return occupiedProbability[state];
- else
- return -1; //If the state is outwith the range -1 is returned.
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement